Langage SQL - Vidéo 16: Les Jointures - INNER JOIN (1/2)
Summary
TLDRDans cette leçon, nous explorons les bases des jointures SQL avec la commande INNER JOIN. Nous apprenons à fusionner des tables en utilisant des colonnes communes, ce qui permet d'afficher uniquement les enregistrements correspondants. L'exemple pratique illustre comment joindre une table 'villes' avec une table 'pays' pour obtenir les noms des pays correspondant aux villes. Les détails incluent la syntaxe de la requête, l'utilisation de noms courts pour les tables, et les considérations importantes comme l'évitement des astérismes dans les jointures pour des performances optimales.
Takeaways
- 😀 La vidéo traite de la première commande SQL dédiée aux jointures, l'instruction `INNER JOIN`.
- 🔗 L'`INNER JOIN` permet de faire des jointures internes entre deux tables en combinant les enregistrements ayant des valeurs correspondantes dans les colonnes communes.
- 🏙️ Un exemple pratique est donné avec des tables `villes` et `pays` pour illustrer comment effectuer une jointure basée sur une colonne de correspondance.
- 📊 La syntaxe de l'`INNER JOIN` est expliquée en détail, commençant par `SELECT`, suivi des noms des colonnes, des tables sources, et de la condition de jointure.
- ⚠️ Il est important de spécifier le nom de la table avant chaque colonne dans le `SELECT` pour éviter toute confusion, surtout si les tables ont des colonnes portant le même nom.
- 🔑 On peut utiliser des alias pour les tables dans la requête SQL, ce qui simplifie la lecture et l'écriture de la requête, surtout si les noms des tables sont longs.
- 🔍 La condition de jointure (`ON`) est cruciale; elle définit la colonne de correspondance entre les deux tables pour effectuer la jointure.
- 📋 Les types de données des colonnes de correspondance doivent être compatibles pour que la jointure fonctionne correctement.
- 🌟 Utiliser `*` dans une jointure retournera toutes les colonnes des deux tables jointes, ce qui peut être utile pour obtenir un aperçu rapide des données.
- 💡 Il est recommandé d'éviter l'utilisation de `*` dans les jointures et de spécifier les noms des colonnes pour des performances et une meilleure lisibilité du code SQL.
- 📝 L'utilisation des alias pour les tables est facultative; on peut utiliser les noms des tables d'origine tout en utilisant des alias pour simplifier la requête.
Q & A
Quelle est la première commande SQL dédiée aux jointures abordée dans le cours?
-La première commande SQL dédiée aux jointures abordée dans le cours est l'instruction `INNER JOIN`.
Quel est le principe des jointures en SQL?
-Le principe des jointures en SQL est de combiner les enregistrements de deux ou plusieurs tables en fonction de valeurs correspondantes dans des colonnes communes.
Comment fonctionne une jointure interne en SQL?
-Une jointure interne combine les enregistrements de deux tables uniquement pour les lignes qui ont des valeurs correspondantes dans les colonnes spécifiées pour la jointure.
Pourquoi est-il important de spécifier le nom de la table avant chaque colonne dans le SELECT lors des jointures?
-Il est important de spécifier le nom de la table avant chaque colonne pour éviter toute confusion, surtout lorsqu'il y a des colonnes portant le même nom dans les tables jointes.
Quelle est la syntaxe de base d'une requête SQL utilisant l'instruction INNER JOIN?
-La syntaxe de base d'une requête SQL utilisant l'instruction INNER JOIN est : SELECT colonne1, colonne2, ... FROM table1 INNER JOIN table2 ON table1.colonnesDeCorrespondance = table2.colonnesDeCorrespondance.
Pourquoi les colonnes de correspondance dans une jointure doivent-elles être de types compatibles?
-Les colonnes de correspondance doivent être de types compatibles pour que la condition d'égalité dans la jointure soit valide et que les valeurs puissent être correctement comparées.
Que signifie l'usage de l'astérisque (*) dans le cadre des jointures SQL?
-L'utilisation de l'astérisque (*) dans les jointures SQL permet de sélectionner toutes les colonnes des tables impliquées dans la jointure.
Pourquoi est-il recommandé d'éviter l'utilisation de l'astérisque (*) dans les jointures?
-Il est recommandé d'éviter l'utilisation de l'astérisque (*) dans les jointures car cela peut entraîner des performances médiocres et des résultats inattendus, surtout si les tables ont des colonnes portant le même nom.
Quelle est la différence entre écrire INNER JOIN et simplement JOIN dans une requête SQL?
-La différence est que 'INNER JOIN' est explicite et indique clairement le type de jointure, tandis que 'JOIN' est une abréviation équivalente qui est souvent utilisée de manière interchangeable.
Comment les alias de table sont-ils utilisés dans les requêtes SQL avec jointures?
-Les alias de table sont utilisés pour donner un nom plus court à une table dans la requête, ce qui simplifie la syntaxe et permet d'éviter de répéter le nom complet de la table dans le SELECT et la condition de jointure.
Outlines
😀 Introduction aux jointures SQL
Dans le premier paragraphe, l'enseignant aborde le sujet des jointures SQL, expliquant que la vidéo précédente était une introduction à la notion de jointure et à son fonctionnement. Cette vidéo se concentre sur la première commande SQL dédiée aux jointures, qui est l'instruction 'INNER JOIN'. L'enseignant explique que cette commande permet de lier deux ou plusieurs tables ensemble en fonction de valeurs correspondantes dans des colonnes communes. Il introduit ensuite le concept de jointure interne, qui combine les enregistrements de deux tables seulement lorsque des valeurs correspondantes sont trouvées. Un exemple pratique est donné pour illustrer comment lier deux tables hypothétiques, 'villes' et 'pays', en utilisant une colonne de correspondance commune.
📝 Syntaxe de l'instruction INNER JOIN
Le deuxième paragraphe se concentre sur la syntaxe de l'instruction 'INNER JOIN' dans une requête SQL. L'enseignant explique que la syntaxe commence par un 'SELECT' suivi des noms des colonnes à sélectionner, en précisant la table source pour chaque colonne. Il souligne l'importance de spécifier le nom de la table source pour éviter toute confusion, surtout si les tables ont des colonnes portant le même nom. Ensuite, il introduit le mot-clé 'INNER JOIN' suivi du nom de la deuxième table, et le nom court temporaire de cette table utilisé dans le SELECT. Il explique également la condition de jointure, qui est une égalité entre les colonnes de correspondance des deux tables, et comment cette condition permet de déterminer les lignes correspondantes. Enfin, il mentionne quelques bonnes pratiques, telles que l'évitement de l'utilisation de l'astérisque (*) dans les jointures et la nécessité de spécifier explicitement le type de jointure si ce n'est pas une jointure interne.
🔍 Considérations supplémentaires sur les jointures
Dans le troisième paragraphe, l'enseignant aborde des considérations supplémentaires concernant les jointures. Il mentionne que les colonnes de correspondance doivent être de types compatibles pour que la jointure soit possible, et il donne des exemples de types de données compatibles et incompatibles. Il conseille également d'éviter l'utilisation de l'astérisque (*) dans les jointures, car cela peut entraîner des résultats imprévus si des colonnes portant le même nom existent dans les tables jointes. L'enseignant explique également que l'utilisation de noms courts pour les tables est facultative, mais qu'il peut rendre les requêtes plus claires et plus concises. Il conclut en soulignant que les noms des tables d'origine peuvent être utilisés dans les jointures même si des noms courts ont été attribués, ce qui est toujours correct.
Mindmap
Keywords
💡Jointures
💡JOIN
💡INNER JOIN
💡Colonnes de correspondance
💡Syntaxe SQL
💡Alias de table
💡SELECT
💡Condition de jointure
💡Colonnes de même nom
💡Types de données compatibles
💡Étoiles (*)
Highlights
Présentation de la commande SQL dédiée aux jointures : INNER JOIN.
Explication du principe des jointures internes entre deux tables.
Description de la manière dont une jointure interne combine les enregistrements des tables.
Importance de la correspondance des valeurs dans les colonnes communes pour les jointures.
Exemple pratique pour illustrer le fonctionnement des jointures internes.
Cas pratique de jointure entre la table 'villes' et la table 'pays'.
Explication de la sélection des colonnes à partir de plusieurs tables dans une jointure.
Utilisation de l'alias pour simplifier les noms de tables dans une requête SQL.
Syntaxe complète d'une requête SQL utilisant INNER JOIN.
Nécessité de spécifier le nom de la table avant chaque colonne dans le SELECT.
Importance de la compatibilité des types de données des colonnes de correspondance.
Conséquences de l'utilisation de l'astérisque (*) dans les jointures.
Recommandation de ne pas utiliser l'astérisque dans les jointures.
Possibilité d'utiliser ou non des alias pour les tables dans les jointures.
Conseils de bonnes pratiques en SQL pour les jointures.
Transcripts
bonjour et bienvenue dans la deuxième
partie du cours des jointures on est ce
qu est la vidéo précédente était une
vidéo introductive de la motion des
jointures dans laquelle nous avons
découvert le principe des jointures et
leur fonctionnement dans cette vidéo
nous allons rentrer dans le vif du sujet
et nous abordons la première commande
sql dédié aux jointures à savoir li na
jo rin qu'est-ce que ccleaner jaune que
fais tu es si on l'intègre dans une
requête sql quelle est sa syntaxe
toujours dans une requête sql
c'est ce qu'on verra dans cette vidéo
alors ligne jaune est une commande est
ce qu est ce qui permet de faire des
jointures ailier deux ou plusieurs
tables entre elles
leonard gens elle permet de faire ce
qu'on appelle des jointures interne
qu'est ce que c'est qu'une jointures
inter une jointure interne entre deux
tables permet de combiner les
enregistrements des deux tables à chaque
fois qu'il y ait des valeurs
correspondantes bien sûr dans les
colonnes commune des deux tables de
manière plus détaillée une jointure
interne compare chaque ligne de la table
à avec chaque ligne de la table huppé et
après il ne va renvoyer que les pères du
lean pour lesquels il y à une
correspondance entre les deux tables
votre maudit elle ne va renvoyer que les
pères de lille qui satisfont la
condition des jointures alors je sais
que tout ce que je viens d'expliquer à
un peu abstrait donc nous allons nous
attaquer à un exemple pour bien
comprendre
supposons que l'on à la table villes
suivantes qui contient des landes de
ville leur superficie en qui leur a
préparé leurs populations au million et
une colonne qui contient un édit de leur
payer en même temps nous avons une autre
table qui est la table pays qui contient
les 10 du pays et le nom de chaque pays
donc ici pour faire la jointure entre
ces deux tables il est clair que l'on va
utiliser la colonne de correspondance à
et des pays de la table ville et la
colonne et des pays de la table payer
parce qu'elle contient des valeurs
communes
donc si l'on fait un 1er juin entre les
deux tables pour savoir chaque ville
quel est son pays que va-t-on obtenir
comme résultat
si l'on commence avec la première ville
qui est paris donc son heidi pays et de
trois on va les vérifier dans la colonne
hellip et de la table pays est ce que la
valeur 3 existe oui elle existe et le
nom du pays de la ville de paris et la
france comme résultat nous aurons une
table comme sa banque le nom de la ville
sa superficie la population l'idée du
pays et le nom du pays que l'on a
obtenue grâce à la jointure qui est la
france deuxième ville c'est la ville de
berlin la valeur de la dpi et 2 donc si
l'on cherche dans la colonne ae des pays
de la table payer nous allons trouver le
2 qui correspond au nom du pays
l'allemagne et donc nous allons
retourner la ligne de la ville de berlin
est donc envoyé là on a pu obtenir le
nom de son pays en utilisant la jointure
troisième ville qui est la ville de
londres sont lundi deux pays et 1 si
l'on cherche la valeur 1 dans la colonne
à équiper de latapie on va le trouver
donc il ya une correspondance et donc
londres a compris le royaume-uni
quatrième ligne ou bien quatrième ville
fait frankfort son ami du pays et 2 et
donc il y as correspondance il
correspond pays l'allemagne
pour la cinquième ville barcelone sont à
des pays et quatre si l'on cherche la
valeur 4 dans la colonne des pays de la
taille pays
on va pas le trouver ici donc il n'y a
pas deux correspondances et comme on a
dit in her joyner on voit que les lignes
pour lesquels il ya une correspondance
donc barcelone la valeur des dix pays
4,7 valeurs n'existent pas dans le tapis
il n'y a pas très cependant c'est donc
la ville barcelone ne sera pas envoyée
dans mon résultat final donc nina joy 9
heures on vous voyez que les lignes pour
lesquels il y à un correspondance même
chose pour bruxelles sont adipi et 5 la
valeur 5 ne se trouve pas dans la
colonne des dix pays de l'adapei et donc
cette ville ne sera pas renvoyé
alors dans une requête sql quelle sera
la syntaxe de l'énergie est alors
toujours notre hôte et sql commence par
un select suivi des noms des colonnes
que l'on veut sélectionner
donc ici comme vous voyez nous avons
fait un col à peu un colon 2 jusqu'à t1
colonel donc là nous avons sélectionné
les colonnes que l'on veut avoir du puy
la table en ou bien depuis la table d un
après nous sélectionnons les colonnes
que l'on veut avoir depuis la table 2
donc des deux colonnes un t2 colon 2
jusqu'à tes deux colonels alors la danse
et select il ya quelque chose assez
particulier lequel donc ici avant chaque
colonne nous devons spécifier la table
doux et les sélectionner c'est normal en
jointures nous sélectionnons des
colonnes issus de plusieurs tables c'est
pour cela qu'avant chaque colonne nous
devons spécifié sa table source donc la
dompter un colonna signifie que la
colonne à un sélectionné depuis la table
tu es un colon 2 sélectionné depuis la
table t1 et ainsi de suite là aussi t2
colonna signifie que la colonne a
extrait de la table des 2 et ainsi de
suite après le sélect vient le frob
suivi du nom de la première table ici
table 1 après il est suivi de ce terrain
alors c'est quoi ce terrain tout
simplement c'est un nom plus court sous
forme d'abréviations que j'ai donné à la
table 1 et que l'on a utilisé dans le
sélect avant les noms décollage alors
parfois les noms des tables peuvent être
lent et puisque moi dans mon select jeu
doit spécifier chaque colonne le nom de
la table source alors à chaque fois
écrire le nom de la table qui est assez
lent devant le nom de la colonne cela
peut être fastidieux et encombrées à
marquette donc on a la possibilité de
donner un nom plus court à notre table
qu'on écrit directement après le nom
original de la table et qu'on peut
utiliser dans notre requête et dans le
sélect notamment attention là j'ai pas
changer le nom de la table je lui ai
juste donné un nom que je peux utiliser
dans cette requête et ne sera valable
que pour s'être tu est donc là ce t1 que
j'ai donné à la table 1 ne sera pas
valable pour une autre requête mais sera
valable que pour cette requête pas plus
donc après vient le mot clé inner join
suivi du nom de la deuxième table table
2 suit au su du nom court que j'ai donné
à la table de manque à savoir t2 et ce
nom là je l'utilisé dans mon select
avant les noms des colonnes extraites
depuis la table de dents quand même
chose ceux des deux n'est valable que
pour cette requête après vient le mot
clé rhône donc attention sur mot
claironne est souvent oubliée dans les
requêtes alors qu'il est présent pour
ton et fait partie de la syntaxe de
leonard joie après bien ce qu'on appelle
la condition des jointures manques tu es
un point colonne de correspondance à
intégrer la t2 point colonnes de
correspondance 2 alors toujours on a
écrite et 1 à la place de tables un t2 à
la place de table 2 alors que signifie
cette égalité tout simplement ici on dit
au système de gestion de base de données
fait moins la jointure si la valeur de
cohade coup de la colonne de
correspondance de la table 1 est égal à
à la valeur de la colonne de
correspondance de la table deux essais
grâce à cette égalité que je vérifie les
correspondances entre les lignes des
deux tables et j'obtiens mais jointures
faisant suite à cette syntaxe il ya
quelques remarques à relever première
remarque il faut obligatoirement
spécifié le nom de la table avant chaque
colonne dans le sélect cela permettra
d'éviter le risque de confusion s'il y
ait des colonnes qui ont le même nom
dans les deux tables si par exemple dans
une table à nous avons une colonne dans
le nom et abc et dans une table deux une
colonne de même nom a baissé donc si
l'on fait select abc from table à
nrj12 le sgbd ne sera pas de quel
colonnes abc parle dans sl de table un
ou deux tables de de ce fait une erreur
sera déclenchée c'est pour cela qu'il
faut précédé les noms des colonnes par
les noms de leurs tables source deuxième
remarque on peut écrire jeunes ou juste
le mode joignent donc les deux font une
jointure internet font la même chose
donc si on écrit john à lui seul le sgbd
comprendra que c'est in adjoint et fera
la jointure inter
par contre si on veut utiliser à notre
type de jointure leif johansson joana
cruz douanes que l'on verra
prochainement il faut obligatoirement
spécifier le type left side ou cross
donc seul dans le cas où on utilisera
leonard jaune on peut écrire le mot john
sont inertes
troisième remarque les colonnes de
correspondance doivent être de type
compatibles si par exemple une colin
dans une tablette une chaîne de
caractères alors l'autre doit être aussi
une chaîne de caractères ou si l'une est
à montier alors l'autre doit être aussi
en entier comme le cas de haïti pays
qu'on a vu avant ou si une colonne et
une est de type date alors l'autre doit
aussi être de type date par contre si
une colonne est un entier alors que
l'autre est une chaîne de caractères
alors la jointure ne se fera pas car
c'est pas le même type mais on ne peut
pas faire une égalité de jointure entre
des chaînes de caractères et des
sentiers
quatrième mac quand on fait en salle et
étoiles tout court lieu de spécifier les
noms des colonnes cela rend verra toutes
les colonnes des deux tables s'il en
fait par exemple cette requête selecta
toile from binning adjoint pays cela va
envoyer un résultat comme celui ci qui
contient toutes les colonnes de la table
vide et toutes les colonnes de la table
pays si par exemple on ne veut envoyer
que des colonnes de la table ville sans
afficher ces deux pays toujours en
faisant un jointures interne pour avoir
les villes à une correspondance avec
pays on peut écrire select veut elle
point étoiles from ville vl inergy lp ip
y donc je renommée la table ville vers
les tables pib y aune vl points et des
pays arabes y points heidi pays cette
requête sql nous verrons vous voyez que
les colonnes de la table ville donc
select vl point toile j'ai dit à mon
système de gestion de bases de données
ne meurent on voit que les colonnes de
la table ville comme vous voyez je n'ai
obtenu que paris berlin londres et
francfort comme line car ce sont les
villes dans la colonne du pays à une
correspondance avec la table pays donc
j'ai fait une jointure sans sélectionner
les colonnes des deux tables même à
jointures à filtrer les lignes ont une
correspondance
alors là je vous conseille comme
conseils de bonnes pratiques évitez
d'utiliser les toiles dans les jointures
et le remplacer par les noms des
colonnes peut précéder par les noms des
tables source voilà juste comme une
bonne pratique en sql
cinquième et dernier remarque lusage des
non courants mais table est facultatif
donc on peut utiliser les noms des
tables original tel qu'il s'en est la
requête sera toujours correct donc je
peux aussi nommer une table et utiliser
le nouveau nom que je lui ai donné et en
même temps garder le nom original de
notre table qui fait partie de ma
jointures donc par exemple dans la
syntaxe si j'ai utilisé table 1 et table
2 dans mon sélect au lieu de t1 et t2
maroc est resté correct mais juste un
peu plus longue en écriture par exemple
ici dans cette requête j'ai gardé les
noms des tables villes des pays tels
qu'ils sont et je les ai utilisés tels
qu'ils sont dans ma raquette et l'est
toujours correct
Ver Más Videos Relacionados
Prépositions devant les pays, villes et régions. Exercices et Fiche PDF.
Langage SQL - Vidéo 5: SELECT / DISTINCT / WHERE
Villes du futur Le dessous des cartes [ Arte ]
ChatGPT : La Formation Ultime | Tutoriel Ultra Complet pour Débutants
Hydrodistillation
🧲 La force gravitationnelle ‖ Physique-chimie ‖ Collège
5.0 / 5 (0 votes)