首页 > 试题广场 >

如下SQL语句中,____可能返回null值。 (1) se

[单选题]
如下SQL语句中,____可能返回null值。

(1) select count(*) from t1;

(2) select max(col1) from t1;
(3) select concat('max=',max(col1)) from t1;
  • (1)可能,(2)和(3)不可能
  • (2)可能,(1)和(3)不可能
  • (3)可能,(1)和(2)不可能
  • (1)不可能,(2)和(3)可能
  • 都不可能
  • 都可能
答案是D 
(1)返回的是表的行数,如果没有记录,应该返回0,不会出现NULL,
(2) 和(3) 正常情况下不会出现NULL,但是如果表里面没有记录,则会出现NULL
发表于 2015-04-10 09:28:09 回复(3)

MySQL concat函数使用方法:
    CONCAT(str1,str2,…) 

返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。

发表于 2015-06-08 10:32:51 回复(3)
D,经过在sqlserver里测试,空表时,count(*)返回0,其他返回null
编辑于 2015-04-13 16:30:52 回复(0)
第3条用了concat函数,不是返回字符串拼接结果么,就算max(col1)为null,返回的也是个'max='字符串,所以我觉得选B。
以下是我在oracle下的实验。(id为null)
select concat('max=',max(id)) from log;
返回结果显示就是max=

编辑于 2015-11-02 16:40:16 回复(3)
答案选D, 原因如下:
(1). 若表t1中有记录,会返回记录数;若无记录,则返回0;
(2). 若表t1中存在列col为null, 则结果返回null;
(3). 若表t1中存在列col为null, 则结果返回null;

综上所述,答案选D。
发表于 2015-05-01 14:25:29 回复(1)
呵头像
对于 MySQL 而言,如果在算术表达式(包括字符串连接运算 concat )中使用 null ,将会导致整个算术表达式的返回值为 null. 对某些数据库而言,如果让字符串和 null 进行连接运算,它会把 null 当成空字符串处理。
发表于 2015-11-10 20:21:56 回复(0)
空表时,count(*)返回0,其他返回null。
发表于 2021-05-10 09:58:35 回复(0)
如果一行都没有,返回0
发表于 2021-03-12 18:11:20 回复(0)
MySQL concat函数使用方法:     CONCAT(str1,str2,…)  返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。
发表于 2016-10-08 23:49:37 回复(0)
1_1头像 1_1
个人对concat的理解,因为NULL不是空字符串,实际上是无意义,即一个字符串+一个无意义,结果其实无意义,也就是null
如果说结果是返回另一个非null的,似乎是把null加上空字符串
发表于 2016-10-07 23:27:38 回复(0)
答案选D, 原因如下:
(1). 若表t1中有记录,会返回记录数;若无记录,则返回0;
(2). 若表t1中存在列col为null, 则结果返回null;
(3). 若表t1中存在列col为null, 则结果返回null;

综上所述,答案选D
发表于 2016-04-05 15:38:37 回复(0)
(1)有记录会返回记录数,无记录会返回0。 (2)、(3)如果col1为null,则最终为null。
编辑于 2016-01-21 10:17:06 回复(0)

D

发表于 2019-11-20 01:15:39 回复(0)
MySql选D,oracle选B。

Count(*)不可能返回空值,即使一条记录都没有,返回0

如果表中没有记录,max(coll)返回空。

对于(3),mysql和Oracle有区别:
对于 MySQL 而言,如果在算术表达式(包括字符串连接运算 concat )中使用 null ,将会导致整个算术表达式的返回值为 null.Oracle就算返回null,也仍将剩余"max="。
编辑于 2018-08-14 16:17:07 回复(0)
编辑于 2018-06-27 10:13:43 回复(0)
总结一下别人的解析:
1 如果表中没得记录 返回0 不返回null
2 max(colo)如果没得返回的是null
3 concat(str1,str2) 返回连接参数产生的字符串,其中任意一个参数为null 则结果为null!
发表于 2017-12-13 09:52:21 回复(0)
正解:
(1)返回的是表的行数,如果没有记录,应该返回0,不会出现NULL,
(2) 和(3) 正常情况下不会出现NULL,但是如果表里面没有记录,则会出现NULL


发表于 2017-10-04 14:00:37 回复(0)
count返回的是查询到的记录条数,所以没有的话返回0,不会是NULL
发表于 2017-09-29 22:54:54 回复(0)
count(*)用于记录表格的行数,如果表格为空的话,会返回0,不会返回NULL。一定要注意理解。
发表于 2016-06-02 19:46:14 回复(0)
Dl ,啥也不说
发表于 2015-06-06 01:37:13 回复(2)