我试图弄清楚如何在一个语句中检查多个表中是否存在多行。
给定下表:
table table_one
========
id
'a'
'b'
'c'
table table_two
========
id
'aa'
'bb'
'cc'
这行得通,
SELECT 1 from table_one where id = 'a'
和
SELECT 1 from table_two where id = 'aa'
作品
我如何将它们组合成一个语句?
我试过了
SELECT 1 FROM table_one WHERE id = 'a'
UNION
SELECT 1 FROM table_two WHERE id = 'aa'
但这只是将结果合并到一列中,所以我无法判断特定表是否缺少一行。
我想要的是结果行
table_one table_two table_three table_four
========= ========= =========== ==========
1 1 [null] 1
UNION
从整体结果中删除重复行,UNION ALL
将保留它们。要知道结果来自哪个表,请添加一个常量值: