说明
以下内容均来自力扣官网,如有侵权,请联系删除
题目描述
给定表 customer ,里面保存了所有客户信息和他们的推荐人。
+------+------+-----------+
| id | name | referee_id|
+------+------+-----------+
| 1 | Will | NULL |
| 2 | Jane | NULL |
| 3 | Alex | 2 |
| 4 | Bill | NULL |
| 5 | Zack | 1 |
| 6 | Mark | 2 |
+------+------+-----------+
写一个查询语句,返回一个客户列表,列表中客户的推荐人的编号都不是2。
解答
select name from customer where referee_id!=2 or referee_id is null
说明:
一上来很容易就想到的思路是
select name from customer where referee_id!=2
但是这样仅会返回Zack
原因是sql的三值逻辑,sql中有三种状态ture,false,null
任何值(包含null)与null进行比较都会变成null,而where条件仅筛选true的结果
版权声明:本文为weixin_44745147原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。