思路
利用只有一行的表左關聯或有關聯強制生成一條null記錄
select 需要查詢的數據 from 只有一行的表 left join 查詢的表 on 1=1;
各數據庫獲取只有一行的表的方法
- mysql
select 1;
- oracle
dual
實例
編寫一個 SQL 查詢,獲取 person 表中age為30的id,如果不存在age為30,那么查詢應返回 null 。
| id | age |
| 1 | 20 |
- mysql
select t2.id from ( select 1) t1 left join ( select id from person where age = 30) t2 on 1 = 1;
- oracle
select t1.id from dual left join ( select id from person where age = 30) t1 on 1 = 1;
浙公網安備 33010602011771號