1.题目
给定表
customer
,里面保存了所有客户信息和他们的推荐人。写一个查询语句,返回一个编号列表,列表中编号的推荐人的编号都 不是 2。
输出结果表应该是:
2.思路和答案
推荐人的编号都不是2很好理解,直接 referee_id != 2 就可以了
但是这样只会输出 Zack,那些为NULL的不会数出来,这里是个坑
于是再加上 referee_id = NULL,结果打脸了,NULL不能用 = NULL 或者 != NULL,只能用 IS NULL或者 NOT NULL
所以正确姿势应该是这样子的:referee_id!=2 OR referee_id IS NULL
SELECT name FROM customer WHERE referee_id!=2 OR referee_id IS NULL
3.结果