phpmyadmin EXCEPT SELECT 不可用

Posted

技术标签:

【中文标题】phpmyadmin EXCEPT SELECT 不可用【英文标题】:phpmyadmin EXCEPT SELECT is not usable 【发布时间】:2020-04-25 22:05:53 【问题描述】:

我在从 2 个表中获取数据时尝试使用EXCEPT,但我无法使用EXCEPT SELECT

phpmyadmin 无法识别EXCEPT,并且不允许我使用第二个SELECT

还有其他方法可以检查表格上的相同条目吗?

编辑: 如果 t1 有行:

id1-name1, id3-name3 

而 t2 有:

id1-name1, id3-name3, id4-name4

然后我会得到一个只有 id4-name4 的表(谈论行)

【问题讨论】:

请提供样本数据和预期结果。 【参考方案1】:

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 中不存在具有三列中相同值元组的行。

【讨论】:

还有一个相关问题,我该如何从这个新制作的表格中编辑或选择内容?

以上是关于phpmyadmin EXCEPT SELECT 不可用的主要内容,如果未能解决你的问题,请参考以下文章

大查询“SELECT * EXCEPT”

[讲解]sql except和intersect运算符(比拟两个或多个select语句的结果并前去非重复值)

SQL-Union ALL 和 except

[phpmyadmin] phpmyadmin select command denied to user

SELECT * FROM `table` 不会返回 phpMyAdmin 中的所有列

phpMyAdmin - SELECT 语句在存储过程中的结果未显示