我有两个带有user_id行的表,我想选择出现在这两个表中的所有用户。也就是说,我想从两个表中选择不同的用户ID,然后找到相应的用户。我怎样才能做到这一点?
用户(身份证,电子邮件){1,2,3,4,5,6,7,8,9,10}
table1(user_id){1,1,2,2,2,1}
table2(user_id){1,3,4,10,10,10,10}
来自table1 {1,2}的dsitinct
与table2 {1,3,4,10}不同
用户{1,2,3,4,10}与相应的电子邮件加入后
答案 0 :(得分:0)
SELECT USER_ID FROM TABLE1 INNER JOIN TABLE2 ON TABLE1.USER_ID = TABLE2.USER_ID
这将返回BOTH表中存在的所有用户ID。如果由于某种原因您有重复的ID,则可以使用SELECT DISTINCT USER_ID 第一行
如果您想要显示在任一表中的所有用户ID(在两个表中都提供所有用户ID,以便它们不必同时存在),请将INNER连接更改为OUTER连接。
答案 1 :(得分:0)
您可以使用几个IN
运算符:
SELECT id, email
FROM users
WHERE id IN (SELECT user_id FROM table1) OR
id IN (SELECT user_id FROM table2)