我有两个包含以下字段的表:
1)身份证 2)电子邮件
表一和表二具有相同的数据,表二较少。我想创建一个新表,我从两个表中选择没有匹配的电子邮件地址的所有记录。我该怎么做?
答案 0 :(得分:1)
简单地UNION
两个表,没有2行具有相同的数据
例如,如果你必须表
[table X]
ID Email
------ --------
1 x
2 y
3 z
4 t
[table Y]
ID Email
------ --------
1 x
6 g
2 v
查询
SELECT ID,Email FROM X UNION SELECT ID,Email FROM Y
或
SELECT ID,Email FROM (SELECT ID,Email FROM X UNION SELECT ID,Email FROM Y) t
将给出结果
ID Email
------ --------
1 x
2 y
3 z
4 t
6 g
2 v
答案 1 :(得分:0)
考虑table1
已加入table2
列
col1
试试这个:::
Select
col1, col2
from table1
left join table2 on (table1.col1 = table2.col1)
where table1.col2!=table2.col2 and table2.col1 is null
UNION
Select
col1, col2
from table2
left join table1 on (table1.col1 = table2.col1)
where table1.col2!=table2.col2 and table1.col1 is null