Outils du site

L'astronome peut vous parler de son entendement de l'espace. Il ne peut vous donner son entendement. Le musicien peut vous interpréter le rythme qui régit tout espace. Il ne peut vous donner l'ouïe qui capte le rythme, ni la voix qui lui fait écho. Celui qui est versé dans la science des nombres peut décrire les régions du poids et de la mesure. Il ne peut vous y emmener. Car la vision d'un être ne prète pas ses ailes à d'autres, De même que chacun de vous se tient seul dans la connaissance de Dieu, chacun de vous doit demeurer seul dans sa connaissance de Dieu et dans son entendement de la terre. [Khalil GIBRAN]

60-database:sql

Ceci est une ancienne révision du document !


SQL

Jointures

Soit deux tables A et B :

CasExemple
INNER JOIN:
intersection des A et B (Tous les A et les B qui sont en relation)
Select * FROM A
INNER JOIN B on A.bID = B.id;
LEFT JOIN:
tous les A qu'il aient ou non un B correspondant
Select * FROM A
LEFT JOIN B on A.bID = B.id;
LEFT JOIN exclusif:
tous les A qui n'ont pas un B correspondant
Select * FROM A
LEFT JOIN B on A.bID = B.id
WHERE B.id IS NULL;
RIGHT JOIN:
tous les B qu'il aient ou non un A correspondant
Select * FROM A
RIGHT JOIN B on A.bID = B.id;
RIGHT JOIN exclusif:
tous les B qui n'ont pas un A correspondant
Select * FROM A
RIGHT JOIN B on A.bID = B.id
WHERE A.Bid is null;
FULL JOIN:
L'ensemble des A ET des B
Select * FROM A
FULL JOIN B on A.bID = B.id;
FULL JOIN sans intersection:
L'ensemble des A OU (exclusif) des B
Select * FROM A
FULL JOIN B on A.bID = B.id
WHERE A.bID IS NULL
OR B.ID IS NULL;

Illustrations :

http://cartman34.fr/informatique/sgbd/differences-entre-inner-left-right-et-outer-join-en-sql.html

https://sql.sh/2401-sql-join-infographie

Group by ... Having

Exemple : Chaque élément de A peut être en relation avec N éléments de B

Select A.id, count(b.id) FROM A 
INNER JOIN B on A.bID = B.id
GROUP BY A.id
HAVING ... condition 
Dernière modification : 2019/03/30 07:38