我想查询2个表中的电子邮件(只存在于其中一个表中),并从电子邮件所在的表中返回该行。
Table a Table b
id | email | password id | email | password | more | things
1 foo 1 8 bar a q d
我希望能够在两个表中查询“bar”,并且只返回表b中的行。同样,使用'foo'的相同查询应仅返回表a中的行。
这可能吗?我曾经尝试了几件事,但最近发生了以下情况,它会从两个表中返回所有内容。
SELECT *
FROM a, b
WHERE a.email = 'foo'
OR b.email = 'foo';
答案 0 :(得分:1)
我明白了!呜!如果其他人在将来需要类似问题的帮助我使用以下语法查询。
SELECT a.email, a.password
FROM a
WHERE a.email = 'foo'
UNION ALL
SELECT b.email, b.password
FROM b
WHERE b.email = 'foo'
;