Outils du site

Il n'existe rien de constant si ce n'est le changement. []

60-database:sql

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
60-database:sql [2019/03/09 03:09] Roge60-database:sql [2019/11/29 11:16] (Version actuelle) – [Group by ... Having] Roge
Ligne 5: Ligne 5:
 Soit deux tables A et B : Soit deux tables A et B :
  
-^Cas^Exemple^Signification+^Cas^Exemple^ 
-|INNER JOIN|Select * FROM A INNER JOIN B on A.bID = B.id;|intersection des A et B (Tous les A et les B qui sont en relation)+|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|Select * FROM A LEFT JOIN B on A.bID = B.id;|tous les A qu'il aient ou non un B correspondant| +|LEFT (OUTER) 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|Select * FROM A LEFT JOIN B on A.bID = B.id WHERE B.id IS NULL;|tous les qu'il aient QUI n'ont pas un correspondant+|LEFT (OUTER) 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|Select * FROM A RIGHT JOIN B on A.bID = B.id;|tous les B qu'il aient ou non un A correspondant+|RIGHT (OUTER) JOIN: \\ tous les qu'il aient ou non un correspondant |Select * FROM A \\ RIGHT JOIN B on A.bID = B.id;| 
-|RIGHT JOIN exclusif|Select * FROM A RIGHT JOIN B on A.bID = B.id WHERE A.id is null;|tous les B qu'il aient QUI n'ont pas un correspondant| +|RIGHT (OUTER) 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 | | +|FULL (OUTER) JOIN: \\ L'ensemble des ET des B |Select * FROM A\\ FULL JOIN B on A.bID = B.id; |  
-|FULL JOIN sans intersection | |+|FULL (OUTER) 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 : Illustrations :
  
 [[http://cartman34.fr/informatique/sgbd/differences-entre-inner-left-right-et-outer-join-en-sql.html|http://cartman34.fr/informatique/sgbd/differences-entre-inner-left-right-et-outer-join-en-sql.html]] [[http://cartman34.fr/informatique/sgbd/differences-entre-inner-left-right-et-outer-join-en-sql.html|http://cartman34.fr/informatique/sgbd/differences-entre-inner-left-right-et-outer-join-en-sql.html]]
- 
-ou 
  
 [[https://sql.sh/2401-sql-join-infographie|https://sql.sh/2401-sql-join-infographie]] [[https://sql.sh/2401-sql-join-infographie|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
 +
 +<code bash>
 +Select A.id, count(b.id) FROM A 
 +INNER JOIN B on A.bID = B.id
 +WHERE ...
 +GROUP BY A.id
 +HAVING ... condition 
 +</code>
 +
 +===== A voir =====
 +
 +https://www.slideshare.net/MarkusWinand/modern-sql
  
Dernière modification : 2019/03/09 03:09