天池龙珠SQL训练营Task2打卡

一、SELECT语句基础
1.1 从表中选取数据
1.2从表中选取符合条件的数据
1.3 相关法则
二、算术运算符和比较运算符
2.1 算术运算符
2.2 比较运算符
2.3 常用法则
三、逻辑运算符
3.1 NOT运算符
3.2 AND运算符和OR运算符
3.3 通过括号优先处理
3.4 真值表
3.5 含有NULL时的真值
四、对表进行聚合查询
4.1 聚合函数
4.2 使用聚合函数删除重复值
4.3 常用法则
五、对表进行分组
5.1 GROUP BY语句
5.2 聚合键中包含NULL时
5.3 GROUP BY书写位置
5.4 在WHERE子句中使用GROUP BY
5.5 常见错误
六、为聚合结果指定条件
6.1 用HAVING得到特定分组
6.2 HAVING特点
七、对查询结果进行排序
7.1 ORDER BY
7.2 ORDER BY中列名可使用别名

练习题1
编写一条SQL语句,从product(商品)表中选取出“登记日期(regist在2009年4月28日之后”的商品,查询结果要包含product_name和regist_date两列。*/
SELECT product_name, regist_date FROM product WHERE regist_date > '2009-04-28';

练习题2
请说出对product 表执行如下3条SELECT语句时的返回结果。*/
SELECT *
  FROM product
 WHERE purchase_price = NULL;
SELECT *
  FROM product
 WHERE purchase_price <> NULL;
 SELECT *
  FROM product
 WHERE product_name > NULL;

练习题3
代码清单2-22(2-2节)中的SELECT语句能够从product表中取出“销售单价(saleprice)比进货单价(purchase price)高出500日元以上”的商品。请写出两条可以得到相同结果的SELECT语句。执行结果如下所示。*/
SELECT product_name, sale_price, purchase_price FROM product WHERE sale_price >= purchase_price + 500;
SELECT product_name, sale_price, purchase_price FROM product WHERE sale_price - 500 >= purchase_price;

练习题4
请写出一条SELECT语句,从product表中选取出满足“销售单价打九折之后利润高于100日元的办公用品和厨房用具”条件的记录。查询结果要包括product_name列、product_type列以及销售单价打九折之后的利润(别名设定为profit)。
提示:销售单价打九折,可以通过saleprice列的值乘以0.9获得,利润可以通过该值减去purchase_price列的值获得。*/
SELECT product_name, product_type,
sale_price * 0.9 AS profit
FROM product
WHERE sale_price * 0.9 - purchase_price > 100
AND (product_type = '办公用品'
OR product_type='厨房用品');

练习题5
请指出下述SELECT语句中所有的语法错误。*/
SELECT product_id, SUM(product_name)
-- 本SELECT语句中存在错误。
  FROM product
 GROUP BY product_type
 WHERE regist_date > '2009-09-01';
--  GROUP BY

练习题6
请编写一条SELECT语句,求出销售单价(sale_price列)合计值大于进货单价(purchase_price列)合计值1.5倍的商品种类。执行结果如下所示。*/
SELECT product_type,
SUM(sale_price) AS sum1,
SUM(purchase_price) as sum2
FROM product
GROUP BY product_type
HAVING sum1 > sum2*1.5 ;

练习题7
此前我们曾经使用SELECT语句选取出了product(商品)表中的全部记录。当时我们使用了ORDERBY子句来指定排列顺序,但现在已经无法记起当时如何指定的了。请根据下列执行结果,思考ORDERBY子句的内容。*/
SELECT * FROM product ORDER BY regist_date DESC, sale_price;
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值