首页 > 试题广场 >

Mysql中表student_table(id,name,b

[单选题]
Mysql中表student_table(id,name,birth,sex),插入如下记录:
('1001' , '' , '2000-01-01' , '男');
('1002' , null , '2000-12-21' , '男');
('1003' , NULL , '2000-05-20' , '男');
('1004' , '张三' , '2000-08-06' , '男');
('1005' , '李四' , '2001-12-01' , '女');
查询name除'张三'之外的记录,正确的SQL是()?
  • select * from student_table where name <> '张三' ;
  • select * from student_table where name <> '张三'  or name is null ;
  • select * from student_table where name <> '张三'  or length(name) >= 0;
  • select * from student_table where name <> '张三'  and length(name) >= 0;
1.A中SQL语句查询不出列值为NULL的字段,此时需对字段为NULL的情况另外处理
2.null与任何字段相比都会返回false,为此,oracle提供了一个is null词组判断null。空字符串不是null
查询null的值:select * from student_table where name is null ;
3.查询非null的值,就需要使用is not null词组判断


发表于 2022-01-03 10:40:55 回复(3)
无大小写之分,且null不能取字符串长度
发表于 2022-01-16 16:06:14 回复(0)

我们已经知道 MySQL 使用 SQL SELECT 命令及 WHERE 子句来读取数据表中的数据,但是当提供的查询条件字段为 NULL 时,该命令可能就无法正常工作。

为了处理这种情况,MySQL提供了三大运算符:

  • IS NULL: 当列的值是 NULL,此运算符返回 true。
  • IS NOT NULL: 当列的值不为 NULL, 运算符返回 true。
  • <=>: 比较操作符(不同于 = 运算符),当比较的的两个值相等或者都为 NULL 时返回 true。

关于 NULL 的条件比较运算是比较特殊的。你不能使用 = NULL 或 != NULL 在列中查找 NULL 值 。

在 MySQL 中,NULL 值与任何其它值的比较(即使是 NULL)永远返回 NULL,即 NULL = NULL 返回 NULL 。

MySQL 中处理 NULL 使用 IS NULL 和 IS NOT NULL 运算符。

编辑于 2022-07-07 13:02:33 回复(0)
A选项是会排除掉null项的
发表于 2022-04-14 22:44:29 回复(0)
1001中空字符串能使用is null取出么,不能的话B怎么会是对的呢?
发表于 2022-03-28 18:22:55 回复(0)
<.>符号会对null 会进行过滤

发表于 2022-09-25 21:15:04 回复(0)
Null不能去字符串长度,排除CD。
发表于 2022-08-10 17:37:35 回复(0)
这题目应该说明是什么数据库,在GP中A是对的
发表于 2022-01-08 11:43:00 回复(2)
没有值默认null吗?null不能取字符串长度,所以排出所有取长度的选项
编辑于 2021-12-13 14:40:46 回复(2)