添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

今天遇到一个奇怪的问题,就是在使用 NOT IN 操作时后面跟一个子查询,发现始终查询不到结果, 但是使用 IN 操作能够查询到结果。SQL语句如下:

1
2
3
SELECT * FROM parking_records
WHERE parking_id = '1'
AND car_id NOT IN (SELECT car_id FROM users);

查询相关资料后发现,在使用 NOT IN 操作时,你需要确认 values 中不能有 NULL 值,修改后的SQL语句如下:

1
2
3
4
5
6
SELECT * FROM parking_records
WHERE parking_id = '1'
AND car_id NOT IN (
SELECT car_id FROM users
WHERE car_id IS NOT NULL -- 增加非NULL判断
);