Mysql选择不包含第二个表记录的记录

时间:2015-01-20 11:37:49

标签: mysql sql

我有2个MySQL表,包含1列和大量记录。我应该选择不包含第二个表行的第一个表的记录。 任何人都可以帮我查询一下吗?

Table 1:
http://www.google.com
http://www.aaaa.com
http://bbbb.com
http://www.cccc.com
http://www.dddd.com

Table 2:
tttt.com
aaaa.com
google.com
rrrr.com
dddd.com

Result should to be:
http://bbbb.com
http://www.cccc.com

2 个答案:

答案 0 :(得分:2)

您可以使用left joinlike

执行此操作
select t1.*
from table1 t1 left join
     table2 t2
     on t1.col like concat('%', t2.col, '%')
where t2.col is null;

不幸的是,您无法使用索引来优化此查询,因此引擎必须执行嵌套循环连接。

答案 1 :(得分:0)

作品!! 一个问题:为什么最后一行"其中t2.col为空" ?

此致