Mysql
 sql >> Base de données >  >> RDS >> Mysql

SQL :alternative PAS DANS pour sélectionner des lignes en fonction des valeurs de lignes *différentes* ?

Comme ceci :

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;

Vous pouvez également le faire comme ceci :

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
    );

Au fait, cela s'appelle une "jointure anti-semi gauche".