Opération DIFFERENCE

SELECT attribut1, attribut2, ... FROM table1
WHERE
attribut1 NOT IN (SELECT attribut1 FROM table2) ;

SELECT attribut1, attribut2, ... FROM table1
WHERE NOT EXISTS (SELECT
* FROM table2 WHERE table1.attribut1=table2.attribut1) ;

SELECT attribut1, attribut2, ... FROM table1
WHERE
attribut1 <> ALL (SELECT attribut1 FROM table2) ;

SELECT attribut1, attribut2, ... FROM table1
EXCEPT
SELECT
attribut1, attribut2, ... FROM table2 ;

SELECT table1.attribut1, table1.attribut2,...
FROM table1 LEFT JOIN table2 ON table1.attribut1 = table2.attribut1
WHERE table2.attribut1 IS NULL ;

Exemple :

SELECT n°enseignant, NomEnseignant FROM E1
WHERE n°enseignant NOT IN (SELECT n°enseignant FROM E2) ;

ou

SELECT n°enseignant, NomEnseignant FROM E1
EXCEPT
SELECT n°enseignant, NomEnseignant FROM E2 ;

ou encore

SELECT E1.n°enseignant, E1.NomEnseignant
FROM E1 LEFT JOIN E2 ON E1.n°enseignant = E2.n°enseignant
WHERE E2.n°enseignant IS NULL ;

Pour mieux comprendre cette dernière version, voici le résultat renvoyé par la jointure externe gauche entre E1 et E2 :

E1.n°enseignant E1.NomEnseignant E2.n°enseignant E2.NomEnseignant
1 DUPONT 1 DUPONT
3 DURAND NULL NULL
4 MARTIN 4 MARTIN
5 BERTRAND NULL NULL