【发布时间】:2012-10-29 07:22:47
【问题描述】:
我有两张桌子。 tl 和 t2。每个表都有以下列:ID、name。 ID 是 PK 和自动增量。这两个表没有相互连接。 t2.name 是t1.name 的子集,但在name 的字符串开头添加www. 之后。
例如:
`t1`.`name`= ggg
`t2`.`name`= www.ggg
我要做的是:选择t1.name未插入t2的所有记录。所以我写了以下查询:
select concat('www.',name)
from db.t1
LEFT JOIN db.t2
ON t2.name = t1.name
WHERE NOT EXISTS (select name from db.t2);
但是,我得到 0 结果。我确信在 t1 中有可用的记录,但在 t2 中没有。如何选择 t1 中所有不在 t2 中的名称??
【问题讨论】:
-
WHERE NOT EXISTS (SELECT name FROM db.t2)将导致查询返回零或所有结果,具体取决于表 t2 是否包含任何行,因为它没有条件。
标签: mysql