régez des lignes de données avec GROUP BY ======
Notes et transcription du cours [[https://openclassroo... de requête SQL qui s'appelle l'**agrégation**.
<note>
L'agrégation est une opération extrêmement coura... ire de bien comprendre comment elle fonctionne.
</note>
===== Découvrez l'agrégation =====
À quoi ser... tion. On appelle ces groupes des **agrégats**.
<note>
Plus formellement, le partitionnement a pour but
es de votre table avec votre clé primaire ======
Notes et transcription du cours [[https://openclassroo... fier. Cette clé, on l'appelle **clé primaire**.
<note>
Dans la plupart des SGBDR, vous serez obligé de donner une clé à chacune de vos tables.
</note>
Pour déterminer une clé primaire pour votre tab... es différents appartements d'un même immeuble).
<note>
Il arrive parfois que pour une table, il y ait p
plusieurs tables avec des clés étrangères ======
Notes et transcription du cours [[https://openclassroo... les, on a créé le concept de **clé étrangère**.
<note>
Une clé étrangère, c'est une colonne (ou groupe ... er le lien entre les lignes de ces deux tables.
</note>
Voici ce que cela donne pour les tables ''sommi... clé étrangère sert à lier deux tables ensemble
<note>
Les colonnes qui constituent une clé étrangère s
Liez des tables avec une jointure interne ======
Notes et transcription du cours [[https://openclassroo... 1_p2c4.png}}
Table address avec sa clé primaire
<note>
Retenez bien ces 2 colonnes, elles sont primordiales pour comprendre la suite.
</note>
Cette clé étrangère nous permet de connaître l'... e résultat ! Notre jointure interne est faite !
<note>
Une jointure, c'est donc la succession d'un prod
isez les jointures externes et naturelles ======
Notes et transcription du cours [[https://openclassroo... dition de filtrage, ces lignes seront écartées…
<note>
Dans la jointure du chapitre précédent, les soci... faire, ce comportement peut être problématique.
</note>
Pour garder toutes les lignes de ''entity'', mê... entity.id_address = address.id_address;
</code>
<note>
Certains SGBD ne supportent pas toutes les joint
Filtrez vos données agrégées avec HAVING ======
Notes et transcription du cours [[https://openclassroo... s et colonnes}}
Notre table à ce stade du cours
<note>
Trouver les juridictions dans lesquelles il y a ... (issue d'une fonction d'agrégation) est grande.
</note>
On pourrait faire cela en filtrant cette table ... ifiée avant que l'agrégation ne soit effectuée.
<note>
Quand on lance une **agrégation** sur une table,
====== Prenez en main une base de données ======
Notes et transcription du cours [[https://openclassroo... us allez vous former tout au long de ce cours !
<note>
Chaque SGBDR a sa propre manière d'interpréter l... du SQL diffère légèrement d'un SGBDR à l'autre.
</note>
Parler en langage SQL, c'est formuler des **re... ion de lignes,
* la suppression de lignes.
<note>
Dans ce cours, vous apprendrez le LMD, et plus p
nnées selon la modélisation relationnelle ======
Notes et transcription du cours [[https://openclassroo... question, comme son poids, ses dimensions, etc.
<note>
Dans une table, 1 ligne = 1 objet, et toutes les lignes sont des objets de même nature.
</note>
Dans le jargon des bases de données, vous verre... |
| colonne | attribut |
<note>
Dans une table, l'ordre des lignes et l'ordre de
les types d'associations entre vos tables ======
Notes et transcription du cours [[https://openclassroo... adresse (l'adresse numéro ''132816168698714'').
<note>
Ici, on est un peu plus contraint que pour l'ass... e qui est du côté “plusieurs” (ici ''entity'').
</note>
===== Implémentez une association plusieurs-à-... |présidente | 01-01-2002 | 12-03-2010 |
<note>
Si vous avez appris à modéliser une base de donn
S'initier à la modélisation relationnelle ======
Notes et transcription du cours [[https://openclassroo... ue achat d’un produit est appelé “transaction”.
<note>
A propos du jeu de données :
* la table ''cus... de session est alors créé, pour le même client.
</note>
Vous êtes employé au service Informatique, et o... Les 2 autres syntaxes sont de pures inventions.
<note>
Remarque : dans une BDD relationnelle, l’ordre d
toujours vos potentielles clés primaires ======
Notes et transcription du cours [[https://openclassroo... able si je devais l'enregistrer dans la BDD ?».
<note>
C'est pour cela que dans ce chapitre, je parlera... s clés primaires possibles pour une même table.
</note>
Mais alors, pour déterminer la **potentielle** ... ure, pensez bien à compter le nombre de lignes.
<note warning>
Si vous avez plus de lignes que prévu, c
ichez les données pertinentes avec SELECT ======
Notes et transcription du cours [[https://openclassroo... tions** et des **opérateurs** sur les colonnes.
<note>
Une fonction, c'est une opération que l'on appli... nction, et une donnée en sortie de la fonction.
</note>
En SQL, pour utiliser une fonction, il faut écr... || ')' AS name_and_status FROM entity ;
</code>
<note>
Si vous utilisez le SGBDR MySQL, l'opérateur ''
selon une chaîne de caractères avec LIKE ======
Notes et transcription du cours [[https://openclassroo... actères, ou que l'on connaît sa forme générale.
<note>
Ce que j'appelle //forme générale d'une chaîne d... dans le monde de la programmation informatique.
</note>
On utilise ''LIKE'' avec les caractères **_**
}
====== Assemblez des tables avec UNION ======
Notes et transcription du cours [[https://openclassroo... es, en ajoutant les lignes les unes aux autres.
<note>
Bien entendu, pour une union, les tables doivent... ''SELECT'' pour uniformiser les tables à unir.
</note>
{{union01_p3c5.png}}
Exemple d'union entre deux
autres fonctionnalités à vos requêtes SQL ======
Notes et transcription du cours [[https://openclassroo... e la requête de votre amie) ''prix_m2_bis'' :
<note>
La colonne ''nombre_de_biens'' donne le nombre d... biens immobiliers présents dans chaque commune.
</note>
<code sql>
SELECT
code_departement,
com