day18—选择题

文章讨论了SQL查询中可能返回NULL值的情况,例如在聚合函数和字符串拼接时。提到了在SQLServer中提取前N条记录的正确方法。还强调了在处理大量电话号码数据时,不同查询方式对性能的影响,特别是使用索引和函数如何影响查询速度。
摘要由CSDN通过智能技术生成

1.如下SQL语句中,(D)可能返回null值

(1) select count(*) from t1;
(2) select max(col1) from t1;
(3) select concat(‘max=’,max(col1)) from t1;
A (1)可能,(2)和(3)不可能
B (2)可能,(1)和(3)不可能
C (3)可能,(1)和(2)不可能
D (1)不可能,(2)和(3)可能
E 都不可能
F 都可能

思路:count(*)一定可以返回数值,如果是表中没有数据就返回0;max返回null可能的情况有两种:其一是表中没有数据,还有就是字段的值全部都是null;concat是字符串拼接的函数,因为数据库中字符串拼接不能使用+,如果拼接的其中一个字符串是null,结果就是null

2. 在Sql server中,以下哪一句从表TABLE_NAME中提取前10条记录(B)

A select * from TABLE_NAME where rowcount=10
B select TOP 10 * from TABLE_NAME
C select TOP of 10 * from TABLE_NAME
D select * from TABLE_NAME where rowcount<=10

思路:top是SQL server中的关键字,用于求前n条数据;语法:select top n 查询的字段 from…

3.电话号码表t_phonebook中含有100万条数据,其中号码字段PhoneNo上创建了唯一索引,且电话号码全部由数字组成,要统计号码头为321的电话号码的数量,下面写法执行速度最慢的是(C)

A select count() from t_phonebook where phoneno >= ‘321’ and phoneno < ‘321A’
B select count(
) from t_phonebook where phoneno like ‘321%’
C select count(*) from t_phonebook where substr(phoneno,1,3) = ‘321’
D 都一样快

思路:phoneno是数字组成,使用的是数值数据类型,和字符串可以比较,但是会进行类型转化,可以使用索引;模糊匹配,最开始是321的匹配,可以使用索引;使用函数就不会再使用索引,就会全表扫描,函数本身的执行也是需要耗时的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值