Bonjour,

Je suis en train de dévorer le livre "SQL Server 2014, Développer et administrer pour la performance", et je suis tombé sur une portion que je ne comprends pas au niveau des semi-antijointure (chapitre 4, p.165). Je me permets de citer l'extrait en question :

La semi-jointure est utilisée lorsqu'on cherche à retourner les informations d'une seule table et que l'on souhaite éliminer des lignes qui joignent une autre table. Cette semi-antijointure ne peut être qu'externe mais elle peut utiliser n'importe quel opérateur d'égalité, d'inégalité ou autre.

Exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
SELECT p1.*
FROM T_pilote_pil AS p1
   LEFT OUTER JOIN T_pilote_pil AS p2
      ON p1.pil_chef = p2.pil_brevet;
En quoi cette requête est une antijointure ? Où se fait le filtrage ? Personnellement, j'aurais mis une clause
Code : Sélectionner tout - Visualiser dans une fenêtre à part
WHERE p2.pil_brevet IS NULL
pour obtenir l'antijointure. Quelqu'un peut-il m'expliquer ?