sql >> Database >  >> RDS >> Mysql

SQL:NIET IN alternatief voor het selecteren van rijen op basis van waarden van *verschillende* rijen?

Zoals dit:

SELECT a.name, a.team
FROM bowlers a
LEFT OUTER JOIN bowlers b ON a.name = b.name AND b.team = 'pin pals'
WHERE a.team = 'The homer team'
AND b.name IS NULL;

Je kunt het ook als volgt doen:

SELECT a.name, a.team
FROM bowlers a
WHERE a.team = 'The homer team'
AND NOT EXISTS (SELECT * FROM bowlers b
    WHERE b.team = 'pin pals'
    AND a.name = b.name
    );

Dit wordt trouwens een "Linkse Anti-Semi Join" genoemd.



  1. SQL rekenkundige operatoren

  2. Problemen met Knee-Jerk Performance voorkomen

  3. pg_restore Alternatieven - PostgreSQL-back-up en automatisch herstel met ClusterControl

  4. Maak een kolom "Laatst gewijzigd" in SQL Server