从MySQL中的两个表中选择

时间:2015-08-07 07:28:27

标签: mysql select

我有两个用户表,我想从第一个表中选择第二个表中不存在的用户。你能救我吗?

当我使用代码时

Select t1.user_name From t1 Inner Join t2 On t1.user_name != t2.user_name;

我多次获得所有用户(实际上是用户数量 - 1)。

2 个答案:

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