PostreSQL - 查询2个表,只存在于一个表中,并从

时间:2017-11-05 01:07:10

标签: sql database postgresql

我想查询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';

1 个答案:

答案 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'
;