alternatief voor behalve in MySQL

Ik moet een query als volgt in MySQL:

SELECT * 
FROM Tab1
EXCEPT
SELECT * 
FROM Tab1 
WHERE int_attribute_of_Tab1>0

Maar MySQL ondersteunt het zoekwoord behalve .
Is er een Standaardmodus om een ​​andere operator correct te gebruiken die het behalve in MySQL simuleren?


Antwoord 1, Autoriteit 100%

U kunt niet gebruiken in

SELECT * 
FROM Tab1
WHERE id  NOT IN (
    SELECT id 
    FROM Tab1 
    WHERE int_attribute_of_Tab1>0
)

Antwoord 2, Autoriteit 16%

Probeer dit

SELECT * 
FROM Tab1
WHERE [....] NOT EXISTS 
(SELECT * 
FROM Tab1 
WHERE int_attribute_of_Tab1>0) 

Antwoord 3, Autoriteit 3%

een paar definities
SQLSERVER https://docs.microsoft.com/en-US/SQL/T-SQL/Language-elections/Set-operators- Except-and-Intersect-Transact-SQL behalve
Retourneert verschillende waarden van de query links van de behalve operator die niet ook van de juiste query wordt geretourneerd.
Plsql https://docs.oracle.com/cd/b19306_01 /server.102/b14200/Queries004.htm minus
Verklaring combineert resultaten met de minus-operator, die alleen unieke rijen retourneert die wordt geretourneerd door de eerste query, maar niet door de tweede

Een pedelische vertaling naar MySQL zou

zijn

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;

Ervan uitgaande dat er een id-kolom is, en ik zou geen onderscheid willen maken voor veel kolommen.

Other episodes