我有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
答案 0 :(得分:2)
您可以使用left join
和like
:
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为空" ?
此致