Outils du site

Qu'est-ce que le premier janvier, sinon le jour honni entre tous où des brassés d'imbéciles joviaux se jettent sur leur téléphone pour vous rappeler l'inexorable progression de votre compte à rebours avant le départ vers le Père Lachaise. Cet hiver, afin de m'épargner au maximum les assauts grotesques de ces enthousiasmes hypocrites, jai modifié légèrement le message de mon répondeur téléphonique. Au lieu de dire \"Bonjour à tous\", jai mis \"Bonne anne mon cul\". C'est net, c'est sobre, et ça vole suffisamment bas pour que les grossiers trouvent ca vulgaire. [Pierre Desproges]

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:20] – [Jointures] Roge60-database:sql [2019/11/29 11:16] (Version actuelle) – [Group by ... Having] Roge
Ligne 7: Ligne 7:
 ^Cas^Exemple^ ^Cas^Exemple^
 |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;| |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 (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: \\ 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;| +|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: \\ tous les B qu'il aient ou non un A correspondant |Select * FROM A \\ RIGHT JOIN B on A.bID = B.id;| +|RIGHT (OUTER) 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;| +|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: \\ L'ensemble des A ET des B |Select * FROM A\\ FULL JOIN B on A.bID = B.id; |  +|FULL (OUTER) 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; | +|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 :
Ligne 20: Ligne 20:
 [[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:20