2-3章习题

本文探讨了SQL查询中的数据过滤技巧,包括基于日期、价格差额及产品类型的条件筛选。同时,讲解了如何使用GROUP BY和HAVING子句进行数据聚合,以及在聚合基础上设置条件。此外,还涉及了ORDER BY用于结果排序的应用。

SQL课后习题 第2、3章习题

2.1

SELECT product_name, regist_date
 FROM Product
 WHERE regist_date >2009-04-28;

2.2

(1)(2)(3)输出均为0行记录,不能对NULL使用比较运算符。希望选取是或不是 NULL 的记录时,需要使用 IS NULL 或者IS NOT NULL 运算符。

2.3

题目原解:

SELECT product_name, sale_price, purchase_price
 FROM Product
 WHERE sale_price - purchase_price >= 500;

解(1)

SELECT product_name, sale_price, purchase_price
FROM Product
WHERE NOT sale_price - purchase_price < 500;

解(2)

SELECT product_name, sale_price, purchase_price
 FROM Product
 WHERE sale_price>4000
OR product_type =’衣服’;

2.4

SELECT product_name,product_type,
sale_price * 0.9-purchase_price AS "profit"
FROM Product
WHERE sale_price * 0.9-purchase_price>100
AND (product_type='办公用品' 
OR product_type='厨房用具');

3.1

①GROUP BY应该在WHERE后面;
②使用GROUP BY子句时,SELECT子句中不能出现聚合键之外的列名。

3.2

SELECT product_type,sum(sale_price) AS "售价总和",sum(purchase_price)AS "进价总和"
FROM Product
WHERE (product_type='办公用品' OR product_type='衣服')
GROUP BY product_type
Having sum(sale_price)>1.5*sum(purchase_price)
ORDER BY sum(sale_price) DESC;

3.3

SELECT *
FROM Product
ORDER BY regist_date DESC,sale_price;
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值