我在查询时遇到困难。
我有两张桌子:
表1
ID/First Name
1 Ben
2 Barry
3 Birl
表2
ID/Full name
1 Ben Rurth
2 Barry Bird
3 Burney Saf
我想在两个表之间运行检查,如果表1中的名字的内容不在表2中的全名中,则将返回结果,例如,在上面的例子中返回id 3,Birl。
我一直在尝试查询:
SELECT First_Name
from Table_1
WHERE NOT EXIST (SELECT Full_name from Table_2)
到目前为止没有运气。
答案 0 :(得分:1)
您可以使用LIKE
子句结合连接。
SELECT t1.First_Name,t2.Full_Name
FROM Table1 t1
JOIN Table2 t2 ON t1.ID = t2.ID
WHERE t2.Full_Name NOT LIKE '%' || t1.First_Name || '%'
或者
SELECT t1.First_Name,t2.Full_Name
FROM Table1 t1
JOIN Table2 t2 ON t1.ID = t2.ID
WHERE t2.Full_Name NOT LIKE CONCAT('%', t1.First_Name, '%')
这是理解两个表共享ID
列。