Différence entre jointure interne et jointure naturelle

le différence clé entre Inner Join et Natural Join est que La jointure interne fournit le résultat basé sur les données correspondantes en fonction de la condition d'égalité spécifiée dans la requête, tandis que la jointure naturelle fournit le résultat basé sur la colonne portant le même nom et le même type de données présent dans les tables à joindre.

Le SGBD permet de stocker, récupérer et manipuler facilement des données. Il stocke les données sous forme de tableaux. Chaque table est composée de lignes et de colonnes. Les lignes représentent chaque entité tandis que les colonnes représentent les attributs. Supposons une base de données d'étudiants. Chaque ligne représente un élève. Les colonnes représentent les attributs tels que l'identifiant, le nom, le grade et l'âge. Un SGBD est un ensemble de tables et chaque table est liée à l'aide de contraintes telles que des clés étrangères. Parfois, il ne suffit pas d'utiliser une seule table. Il existe des situations qui nécessitent l'utilisation de plusieurs tables. Pour combiner deux tables, au moins une colonne doit être commune. La combinaison de tables s'appelle rejoindre.

CONTENU

1. Vue d'ensemble et différence clé
2. Qu'est-ce que Inner Join?
3. Qu'est-ce que Natural Join?
4. Relation entre jointure interne et jointure naturelle
5. Comparaison côte à côte - Inner Join vs Natural Join sous forme tabulaire
6. Résumé

Qu'est-ce que Inner Join??

Exemple pour une jointure interne est la suivante. Ci-dessous la table des étudiants.

La table student_info est la suivante.

Pour effectuer une jointure interne, il doit exister au moins une correspondance entre les deux tables. Les identifiants 1,2,3 sont communs aux deux tables. Par conséquent, il est possible d'effectuer une jointure interne.

Figure 01: Jointure SQL

La requête INNER JOIN pour joindre ces deux tables est la suivante.

SELECT * de l'étudiant

INNER JOIN student_info WHERE student.id = student_info.id;

L'exécution de la commande SQL ci-dessus générera le tableau suivant.

Qu'est-ce que Natural Join??

Exemple pour une jointure naturelle est la suivante. Ci-dessous la table des étudiants.

La table student_info est la suivante.

Pour effectuer une jointure naturelle, une colonne doit avoir le même nom et le même type de données. La colonne id est la même pour les deux tables. Par conséquent, il est possible de joindre naturellement ces deux tables.

La requête NATURAL JOIN pour joindre ces deux tables est la suivante.

SELECT * de l'étudiant NATURAL JOIN student_info;

L'exécution de la commande SQL ci-dessus générera le tableau suivant.

Quelle est la relation entre jointure interne et jointure naturelle?

  • Jointure naturelle est un type de jointure interne.

Quelle est la différence entre une jointure interne et une jointure naturelle?

La jointure interne fournit le résultat en fonction des données correspondantes en fonction de la condition d'égalité spécifiée dans la requête, tandis que la jointure naturelle fournit le résultat en fonction de la colonne portant le même nom et le même type de données présent dans les tables à joindre. De plus, les syntaxes de jointure interne et naturelle sont différentes.

Lorsque la table1 est composée d'id, name et que la table2 est composée d'id et de ville, la jointure interne fournit la table résultante avec les lignes correspondantes. Il aura l'identifiant, le nom, encore l'identifiant et la ville. Par contre, en jointure naturelle, donnera la table résultante avec les lignes correspondantes avec les colonnes id, name, city.

 

Résumé - Inner Join vs Natural Join

La principale différence entre la jointure interne et la jointure naturelle réside dans le fait que la jointure interne fournit le résultat en fonction des données correspondantes en fonction de la condition d'égalité spécifiée dans la requête SQL, tandis que Natural Join fournit le résultat en fonction de la colonne portant le même nom et le même type de données. dans les tables à joindre.

Référence:

1.Tutoriels Point. "SQL INNER SE JOINT."  Tutoriels Point, 8 janvier 2018. Disponible ici

Courtoisie d'image:

1.'SQL Join - 07 A Inner Join avant B'By GermanX - Propre travail, (CC BY-SA 4.0) via Wikimedia Commons