ch02:sql基础查询与排序练习题

2.1

查询结果

 

 2.2

(1)返回为空,正确应为is null;

(2)返回为空,正确应为is not null;

(3)返回为空

=null,<>null,>null,<null都会判断为unknown

2.3

2.4

 查询结果 

 

2.5 

将表用group by分组之后,应该用having对分组数据进行筛选

正确顺序是from-where-group by-having

2.6

 2.7

首先对最终排列结果进行观察,发现regist_date是按照降序排列,所以先尝试如下运行:

排序结果如下:

可以看到regist_date为null的行被排到了最后,并且regist_date为2009-09-20的三行排列顺序与最终结果不符。

解决第一个问题可以利用isnull(),当regist_date为null时,isnull(regist_date)的返回值为1;当regist_date不为null时,isnull(regist_date)的返回值为0,再利用order by进行降序排序。解决第二个问题观察最终结果,可以看出sale_price进行了升序排列。

综上,修正之后的代码如下:

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值