Dans la table DEPT il y a des lignes avec un numéro de département qui ne correspondent à aucune ligne de EMP.
Cette ligne est à l'extérieur de la jointure entre les deux tables.
Si on souhaite, malgré tout, obtenir dans le résultat de la jointure ces lignes extra on utilise un LEFT JOIN.
Pour bien comprendre le sens et la syntaxe de LEFT JOIN il peut être utile de revenir sur la syntaxe des requêtes. Il faut savoir que la requête
SELECT ... FROM a,b,c WHERE a.x=b.y AND b.z=c.t ...
peut s'écrire également
SELECT ... FROM a JOIN b ON a.x=b.y JOIN c ON b.z=c.t ...
Il s'agit de la syntaxe originale des jointures en SQL.
Pour écrire un LEFT JOIN, la syntaxe est la même, en remplaçant bien entendu JOIN par LEFT JOIN.
Qu'est-ce que cela va changer ? On se souvient que pour une jointure normale on ne prend que les enregistrements de chaque table qu'on peut relier par la condition de jointure. Avec un LEFT JOIN on prendra en plus les enregistrements de la table écrite à gauche (car LEFT) de l'expression LEFT JOIN et qui ne sont reliés à aucun enregistrement de celle de droite.
Il existe également RIGHT JOIN qui fonctionne de manière tout à fait symétrique.
Afficher TOUS les employés (prénom et nom) avec leur chef (prénom et nom). Ceux qui n'ont pas de chef doivent quand même être affichés.
Rechercher le numéro de département, le nom du département, le nom des employés, en affichant aussi les départements dans lesquels il n'y a personne, classés par numéro de département.