Exemples :
-- Restriction du produit cartésien via la condition de jointure dans la clause WHERE
-- cette méthode est moins efficace car elle charge une grande quantité de données en mémoire pour opérer
SELECT *
FROM etudiant E, Diplome D
WHERE E.dip_id=D.dip_id;
etud_num | etud_nom | etud_prenom | etud_adresse | etud_naissance | dip_id | dip_id | dip_nom | dip_niveau | dip_discipline | prof_id
----------+----------+-------------+---------------------------+----------------+--------+--------+---------+------------+----------------+---------
20000001 | Martin | Jacques | Résidence de la pommeraie | 1995-01-01 | 1 | 1 | Licence | L3 | Informatique | 3
20000002 | Martin | Pierre | Résidence de la pommeraie | 1995-10-21 | 1 | 1 | Licence | L3 | Informatique | 3
(2 rows)
-- Jointure avec la syntaxe explicite
SELECT *
FROM etudiant E INNER JOIN diplome D ON E.dip_id=D.dip_id;
etud_num | etud_nom | etud_prenom | etud_adresse | etud_naissance | dip_id | dip_id | dip_nom | dip_niveau | dip_discipline | prof_id
----------+----------+-------------+---------------------------+----------------+--------+--------+---------+------------+----------------+---------
20000001 | Martin | Jacques | Résidence de la pommeraie | 1995-01-01 | 1 | 1 | Licence | L3 | Informatique | 3
20000002 | Martin | Pierre | Résidence de la pommeraie | 1995-10-21 | 1 | 1 | Licence | L3 | Informatique | 3
(2 rows)
-- Jointure avec la syntaxe implicite (possible lorsque les noms de colonnes sont identiques)
SELECT *
FROM etudiant E NATURAL JOIN diplome D;
dip_id | etud_num | etud_nom | etud_prenom | etud_adresse | etud_naissance | dip_nom | dip_niveau | dip_discipline | prof_id
--------+----------+----------+-------------+---------------------------+----------------+---------+------------+----------------+---------
1 | 20000001 | Martin | Jacques | Résidence de la pommeraie | 1995-01-01 | Licence | L3 | Informatique | 3
1 | 20000002 | Martin | Pierre | Résidence de la pommeraie | 1995-10-21 | Licence | L3 | Informatique | 3
(2 rows)