SQLite

Comment joindre des tables dans SQLite

Comment joindre des tables dans SQLite
Parfois, lorsque nous travaillons avec des bases de données, nous pouvons avoir besoin de joindre des enregistrements à partir de tables dans une base de données. Lorsque c'est le cas, nous pouvons utiliser l'instruction SQL JOIN qui combine les champs spécifiés en utilisant des valeurs communes dans chaque champ.

Il existe trois principaux types de jointures SQLite.

  1. La CROIX JOINDRE
  2. JOINTURE INTERNE
  3. JOINTURE EXTERNE GAUCHE

Ce didacticiel vous guidera rapidement à travers ces jointures SQLite et vous montrera comment joindre des enregistrements de base de données.

Commençons par l'INNER JOIN car il est simple et jette les bases pour nous permettre de comprendre les autres types de JOIN.

1 : La jointure intérieure

L'INNER JOIN fonctionne en créant une nouvelle table en combinant les valeurs des tables spécifiées. Il commence par comparer la ligne sur chaque table et trouver toutes les paires correspondantes par le prédicat spécifié. Il combine ensuite les paires correspondantes en une seule ligne.

La syntaxe générale pour INNER JOIN est :

SELECT colonne(s) FROM table1 INNER JOIN table2 ON table1.colonne = table2.colonne;

Examinons une opération JOIN pour illustrer son fonctionnement.

Supposons que vous ayez une table appelée users avec des champs : id, name, age, language-sample SQL query to create table est ci-dessous :

CREATE TABLE "utilisateurs" (
"id" ENTIER NON NULL,
"nom" TEXTE NON NULL,
"âge" ENTIER NON NULL,
TEXTE "langue",
CLÉ PRIMAIRE("ID" AUTOINCREMENT)
);

Nous avons également une autre table appelée rows avec les champs id et role-SQL Query fourni ci-dessous :

CREER TABLE "Rôles" (
"id" ENTIER NON NULL,
TEXTE "rôle",
CLÉ PRIMAIRE("ID" AUTOINCREMENT)
)

Nous pouvons maintenant exécuter une opération SQLite INNER JOIN à l'aide de la requête ci-dessous :

SÉLECTIONNER les utilisateurs.identifiant, utilisateurs.nom, Rôles.rôle FROM utilisateurs INNER JOIN Rôles ON utilisateurs.id = Rôles.identifiant;

La requête ci-dessus donnera le tableau ci-dessous :

2: Le CROSS JOIN

L'autre type de SQL JOIN est le CROSS JOIN. Ce type fait correspondre chaque ligne du premier tableau à chaque ligne du deuxième tableau. Considérez-le comme un produit cartésien car les résultats sont un ensemble de lignes du tableau 1 correspondant à chaque ligne du tableau 2. Par exemple, si table1 a (a) lignes et table2 a (b) lignes, la table résultante aura a*b ligne.

REMARQUE: Soyez prudent lorsque vous utilisez des jointures croisées car elles peuvent entraîner d'énormes ensembles de tables.

La syntaxe générale d'une jointure croisée est :

SELECT colonne(s) FROM table1 CROSS JOIN table2;

Considérez une jointure croisée à partir de la table de l'utilisateur avec toutes les lignes de la table des rôles. Considérez la requête SQL ci-dessous :

SELECT * FROM utilisateurs CROSS JOIN rôles ;

L'exécution de la requête ci-dessus produira un tableau comme indiqué ci-dessous :

3: Le JOIN EXTÉRIEUR GAUCHE

La jointure finale que nous examinerons est la jointure externe. Le OUTER JOIN est une extension du INNER JOIN. Comme INNER join, nous l'exprimons sur des conditions telles que ON, NEUTRAL et USING. Il est également bon de noter que SQL définit trois types de jointures externes : gauche, droite et complète, mais SQLite ne prend en charge que LEFT JOIN.

La jointure externe LEFT renvoie toutes les lignes de la table LEFT spécifiée dans la condition et uniquement les lignes des autres tables où la condition jointe est vraie.

Considérez la requête suivante.

SÉLECTIONNER les utilisateurs.identifiant, utilisateurs.nom, rôles.rôle, utilisateurs.langue FROM utilisateurs LEFT OUTER JOIN Rôles ON utilisateurs.id = Rôles.identifiant;

La requête ci-dessus donnera le tableau ci-dessous :

Conclusion

Ce tutoriel a illustré comment effectuer des jointures SQL dans SQLite et créer de nouvelles tables avec des informations modifiées. Il est bon de continuer à expérimenter avec SQL JOIN car ils sont très utiles lorsque vous travaillez avec des bases de données.

Merci pour la lecture!

Vulkan pour les utilisateurs Linux
Avec chaque nouvelle génération de cartes graphiques, nous voyons les développeurs de jeux repousser les limites de la fidélité graphique et se rappro...
OpenTTD contre Simutrans
Créer votre propre simulation de transport peut être amusant, relaxant et extrêmement attrayant. C'est pourquoi vous devez vous assurer que vous essay...
Tutoriel OpenTTD
OpenTTD est l'un des jeux de simulation d'entreprise les plus populaires. Dans ce jeu, vous devez créer une merveilleuse entreprise de transport. Cepe...