我试图从2个表中获取数据时使用EXCEPT
,但是我不能使用EXCEPT SELECT
。
Phpmyadmin无法识别EXCEPT
,并且不允许我使用第二个SELECT
。
还有其他方法可以检查表上的相同条目吗?
编辑:如果t1有行:
id1-name1, id3-name3
并且t2具有:
id1-name1, id3-name3, id4-name4
然后我将得到一个仅具有id4-name4的表(谈论行)
MySQL不支持EXCEPT
语法。
典型的解决方案是改用NOT EXISTS
。假设两个表都具有类似(col1, col2, col3)
的结构,则可以执行以下操作:
select t2.*
from t2
where not exists (
select 1
from t1
where t2.col1 = t1.col1 and t2.col2 = t1.col2 and t2.col3 = t1.col3
)
这将从t2
中返回行,其中t1
中不存在任何行,三列中的值具有相同的元组。