假设你数据库有个A表:
ID | NAME |
1 | aaa |
2 | bbb |
3 | ccc |
4 | ddd |
需求:给你几个ID,返回A表中不存在的ID? 给你1,2,8,9 返回8,9.
1. 一般会这么处理:select id from A where A.ID in (1,2,8,9),然后程序处理。
2.现在用一个SQL处理:
- selectB.id
- from(select1asidfromdual
- union
- select2asidfromdual
- union
- select8asidfromdual
- union
- select9asidfromdual
- )B
- leftjoinA
- onA.id=B.id
- whereA.idisnull;