Maison >base de données >tutoriel mysql >Quelle est la différence entre la jointure gauche et la jointure droite d'une base de données ?
La différence entre la jointure gauche et la jointure droite dans la base de données peut être résumée en une phrase : jointure gauche où n'affecte que la table de droite, jointure droite où n'affecte que la table de gauche
[Cours recommandés : Tutoriel MySQL]
La différence entre la jointure gauche et la jointure droite dans la base de données
Jointure à gauche
select * from tbl1 Left Join tbl2 where tbl1.ID = tbl2.ID
Le résultat de la recherche après la jointure à gauche consiste à afficher toutes les données de tbl1 et les données de tbl2 qui répondent à la condition Where .
En bref, Left Join affecte la table de droite
Right Join (Right Join)
select * from tbl1 Right Join tbl2 where tbl1.ID = tbl2.ID
Le résultat de la recherche est tbl2 All les données et les données dans tbl1 qui répondent à la condition Where.
En bref, Right Join affecte le tableau de gauche.
Jointure interne
select * FROM tbl1 INNER JOIN tbl2 ON tbl1.ID = tbl2.ID
Sa fonction est la même que select * from tbl1
, tbl2 where tbl1.id=tbl2.id
.
Autre contenu :
1 L'instruction de connexion utilisée dans la clause WHERE est appelée connexion implicite dans le langage de base de données. INNER JOIN... La jointure produite par la clause ON est appelée jointure explicite. (D'autres paramètres JOIN sont également des connexions explicites) Il n'y a pas de différence essentielle dans la relation de connexion entre WHERE et INNER JOIN, et les résultats sont les mêmes. Cependant, avec la standardisation et le développement des langages de bases de données, les connexions implicites ont été progressivement éliminées. Les langages de bases de données plus récents ont pratiquement abandonné les connexions implicites et ont tous adopté des connexions explicites.
2. Peu importe la façon dont vous vous connectez, vous pouvez utiliser la clause join, mais lorsque vous connectez la même table, veillez à définir un alias, sinon une erreur se produira
(1) interne join : compris comme " "Connexion effective", seules les données qui existent dans les deux tables seront affichées left join : compris comme "avec affichage à gauche", par exemple, sur a.field=b.field, il affichera toutes les données qui existe dans la table a et toutes les données dans a\b Les données dans A et non dans B sont affichées comme nulles
(2) jointure à droite : comprise comme "affichée à droite", par exemple sur un .field=b.field, il affiche l'existence dans la table B Toutes les données de et les données dans a\b, les données dans B et non dans A sont affichées comme nulles
(3) jointure complète : compris comme "jointure complète", toutes les données des deux tables sont affichées, En fait, c'est intérieur + (intérieur gauche) + (intérieur droit)
3. La jointure peut être divisée en primaire et secondaire Il existe trois types de jointures externes : la jointure externe complète, la jointure gauche et la jointure droite. Une jointure externe complète contient tous les enregistrements des deux tables. La jointure de gauche est basée sur la table de gauche et celle de droite est supplémentaire. L'inverse est vrai pour la jointure de droite
4. Généralement, pour faire la. pour améliorer les performances des instructions de requête de base de données, suivez les principes suivants :
Lors des requêtes de connexion entre tables, la grande table vient en premier et la petite table vient en premier
Ne pas utiliser d'alias de table, utilisez préfixes de champ pour distinguer les champs dans différentes tables
Les restrictions dans les conditions de requête doivent être écrites avant les conditions de connexion à la table
Essayez d'utiliser les champs indexés comme conditions de requête
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!