我有两个用户表,我想从第一个表中选择第二个表中不存在的用户。你能救我吗?
当我使用代码时
Select t1.user_name From t1 Inner Join t2 On t1.user_name != t2.user_name;
我多次获得所有用户(实际上是用户数量 - 1)。
答案 0 :(得分:1)
使用LEFT JOIN
代替
Select t1.user_name From t1 left join t2
On t1.user_name = t2.user_name
where t2.user_name is null;
答案 1 :(得分:-1)
您可以像这样使用EXISTS
SELECT t1.user_name FROM t1 WHERE NOT EXISTS (SELECT 1 FROM t2 WHERE t1.id = t2.id)
此示例假定您在表上表示主键和外键的某种ID。
不确定您的表格是如何设计的,但在多个表格中具有相同的信息(user_name
)被视为数据重复。要解决此问题,您应该阅读Database normalization