除了MySQL之外的其他选项
我必须在MySQL中编写这样的查询:除了MySQL之外的其他选项,mysql,sql,Mysql,Sql,我必须在MySQL中编写这样的查询: SELECT * FROM Tab1 EXCEPT SELECT * FROM Tab1 WHERE int_attribute_of_Tab1>0 但是MySQL不支持关键字,除了。 是否有一个标准模式可以正确使用另一个操作符来模拟MySQL中的操作 您可以在 SELECT * FROM Tab1 WHERE id NOT IN ( SELECT id FROM Tab1 WHERE int_attribute
SELECT *
FROM Tab1
EXCEPT
SELECT *
FROM Tab1
WHERE int_attribute_of_Tab1>0
但是MySQL不支持关键字,除了。
是否有一个标准模式可以正确使用另一个操作符来模拟MySQL中的操作 您可以在
SELECT *
FROM Tab1
WHERE id NOT IN (
SELECT id
FROM Tab1
WHERE int_attribute_of_Tab1>0
)
试试这个
SELECT *
FROM Tab1
WHERE [....] NOT EXISTS
(SELECT *
FROM Tab1
WHERE int_attribute_of_Tab1>0)
几个定义
SqlServer除外
从EXCEPT运算符左侧的查询返回任何不同的值,这些值不是从右侧查询返回的。
PLsql负号
语句将结果与减号运算符相结合,减号运算符只返回第一个查询返回的唯一行,而不返回第二个查询返回的唯一行
一个学究式的mysql翻译将是
SELECT distinct t1.*
FROM Tab1 as t1
left outer join
(SELECT *
FROM Tab1
WHERE int_attribute_of_Tab1>0) as t2 on t1.id = t2.id
where t2.id is null;
假设有一个id列,并且我不想在很多列上使用distinct。当然可以从Tab1中选择*,其中int\u attribute\u of_Tab1=0可以吗?或者第二个选择中的tab1应该是tab2吗?如果我有两列,似乎不起作用:从tab1中选择distinct col1,col2,其中col1,col2不插入distinct col1,col2从tab2中选择distinct col1,col2知道我做错了什么吗?@MrZH6,以防你还在想,不能在子查询中选择多个列,因为必须将其与主查询中的单个列进行比较。但您可以在其他子查询中选择多个列,如派生表。即使SQLite也支持,除了,运气不好。