Jointure extérieure sqlite

Jointure extérieure sqlite
«La jointure gauche ou la jointure extérieure gauche combine deux tables. Il récupère les entrées en fonction d'une exigence remplie dans les deux tables requises, avec des lignes incompatibles pouvant être obtenues à partir du tableau défini créé juste avant l'instruction JOIN.Sqlite extrait toutes les données pertinentes de la table gauche dans la situation de la jointure gauche ou de la jointure extérieure gauche. Il ne correspond également qu'avec les noms de champ fournis dans l'exigence de la table droite. Le SQLite modifie la valeur de chaque colonne de la colonne à Null si la table de gauche ne correspond pas. Dans cet article, nous en explorerons plus sur SQLite OUTER JOIN."

Créer une table

Nous devons créer deux tables distinctes et exécuterons différentes requêtes.

Donc, après avoir créé la base de données, nous devons créer le premier tableau. Nous avons utilisé la requête «Créer» pour créer une table. Le tableau créé dans cette étape est «Client.«Dans la requête de« Créer », nous définissons les noms des colonnes et leurs types de données. Le tableau «Client» a 6 colonnes (C_ID, Nom, City, Acheted_Product, Price et achat_date). Ces attributs ont des types de données, notamment entier, du texte et.

Créer un client de table (
C_ID INTEGER Primary Key,
Nom de texte,
Texte de la ville,
Texte acheté_product,
Prix ​​numérique,
Achat_date numérique
));

La requête de «créer» est exécutée avec succès.

Il est maintenant temps de créer une deuxième table. Pour créer une table, nous avons appliqué la requête «Créer». «Fournisseur» serait le deuxième tableau créé dans cette phase. Il y a six entrées différentes, dont S_ID, le nom, la ville, le produit acheté, le prix et la date d'achat, dans le tableau «Fournisseur». Les types de données entiers, texte et numériques sont quelques-uns des types de données disponibles pour ces éléments.

Créer un fournisseur de table (
Clé primaire S_ID INTEGER,
Nom de texte,
Texte de la ville,
Texte fourni,
Prix ​​numérique,
Aliment_date numérique
));

La sortie démontre que la requête ci-dessus a été exécutée sans erreur.

Insérer les données

L'étape suivante consiste à ajouter différentes valeurs dans les colonnes du tableau «Client."

Insérer dans le client (c_id, nom, ville, acheté_product, prix, achat_date)
Valeurs (93, «Shayan», «Karachi», «LED», «120000», «18 / 02/2022 »),
(76, «Adeel», «Islamabad», «Washing Machine», «90000», «04 / 12/2021 »),
(51, «Nasir», «Lahore», «micro-ondes», «25000», «12 / 01/2022 »),
(37, «Mohsin», «Karachi», «ordinateur portable», «150000», «23 / 02/2022 »);

Le résultat indique que la requête pour ajouter des données dans le tableau «client» a été implémentée efficacement.

La requête de l'insert sera utilisée pour insérer le contenu du tableau «Fournisseur» du tableau. Nous avons ajouté les valeurs des ID, des noms, des villes, des produits, des prix et des dates d'offre de différents fournisseurs de ce tableau.

Insérer dans le fournisseur (S_ID, nom, ville, fournit_product, Price, Supply_Date)
VALEURS (02, «Rashid», «Karachi», «DSLR Camera», «160000», «18 / 01/2022 »),
(04, «Adeel», «Sargodha», «four», «80000», «30 / 12/2021 »),
(08, «Nabeel», «Peshawar», «micro-ondes», «30000», «15/08/2020»),
(05, «Waleed», «Swat», «Générateur», «100000», «23 / 02/2022 »);

Les données sont insérées avec succès dans la table en exécutant la requête ci-dessus.

Utiliser la requête SELECT

Pour récupérer le contenu de toutes les colonnes de la table requise, nous devons utiliser la requête sélectionnée avec le symbole '*'. Chaque fois que nous voulons obtenir les données de quelques colonnes du tableau, nous avons donné les noms de ces colonnes dans la requête sélectionnée.

>> sélectionner * chez le client;

La sortie montre l'enregistrement entier des quatre clients différents.

Dans cette étape, nous avons appliqué la requête sélectionnée pour le «fournisseur» du tableau afin que nous puissions obtenir les données de ce tableau. Nous avons ajouté le symbole * avec le terme sélectionné dans la requête pour récupérer toutes les données.

>> sélectionner * chez le fournisseur;

En exécutant la requête susmentionnée de sélection, nous récupérons toutes les valeurs du tableau «Fournisseur."

Utiliser la jointure extérieure gauche

La jointure de gauche et la jointure extérieure sont presque travaillées de la même manière. Dans la jointure extérieure gauche, ici, toutes les entrées des colonnes que nous choisissons parmi le deuxième tableau seraient incorporées dans la sortie de la requête, indépendamment de savoir si les données satisfont ou non l'exigence de jointure extérieure ou non. Si le deuxième tableau contient des entrées «N», la sortie de la requête aurait également des entrées «N». Les données des colonnes du premier tableau, en revanche, auront une valeur «nul» si un élément n'a pas rempli l'exigence de jointure extérieure.

Par conséquent, la valeur de retour dans la jointure droite serait égale aux valeurs de retour dans la jointure de gauche. Par conséquent, nous pouvons avoir les lignes correspondantes des deux tables spécifiées, ainsi que les entrées non correspondantes du deuxième tableau, comme indiqué dans les résultats précédents.

Nous utiliserons la «jointure de gauche» pour fusionner deux tableaux «client» et «fournisseur» dans cet exemple:

SÉLECTIONNER
Client.Nom, client.Prix,
Fournisseur.Nom, fournisseur.Prix
Du fournisseur
À gauche rejoindre le client sur le fournisseur.Ville = client.Ville;

Dans ce cas, la jointure de gauche entre les tables «client» et «fournisseur» est écrite en premier dans une requête, et le critère de jointure est écrit juste après l'instruction. La table de gauche (fournisseur) sera la première table par la suite, la déclaration de. Le tableau de droite (client) est le deuxième tableau fourni plus à la jointure de gauche. Nous avons appliqué l'état de gauche à gauche sur la colonne «ville» des deux tables.

La requête fonctionne avec succès et renvoie les données, comme indiqué dans le tableau.

Utiliser la jointure croisée

En comparant toutes les entrées du premier tableau, «Client» avec toutes les valeurs du deuxième tableau, «Fournisseur», une jointure croisée renvoie les enregistrements dans le tableau pour les valeurs attribuées à ces deux tables liées.

Nous n'aurons pas besoin de définir une exigence d'adhésion à l'aide de jointure croisée, contrairement à la jointure extérieure gauche, car SQLite ne l'exigerait pas. En fusionnant à peu près toutes les données du premier enregistrement, «Client», ainsi que toutes les entrées du deuxième tableau, «Fournisseur», la requête produirait des résultats raisonnables.

SÉLECTIONNER
Client.Nom,
Fournisseur.Nom
Du client
Réposser le fournisseur;

Dans cette situation, nous avons simplement fourni deux attributs, «nom» et «prix» des tables «client» et «fournisseur» dans la requête sélectionnée. Dans le deuxième tableau, «Fournisseur» est fourni comme paramètre à la clause de jointure croisée.

Comme nous l'avons vu, le tableau résultant contient quatre lignes; Chaque ligne du tableau «Fournisseur» correspond à un enregistrement dans le tableau «Client». Ici, nous ne fournirons aucune exigence de jointure dans la clause de jointure croisée, simplement les deux tables concaténées en utilisant la jointure croisée au milieu.

Utiliser la jointure extérieure gauche naturelle

Pour la table de base de données, la jointure extérieure gauche naturelle utilise tous les noms de champ appariés.

Nous utiliserons la clause de jointure extérieure gauche naturelle pour remplir une condition sur la table «Fournisseur» dans ce scénario. C'est-à-dire que nous voulons obtenir les données des colonnes à la fois des tables «client» et «fournisseur». Nous ne fournirons pas de colonne ici; Au lieu de cela, nous indiquons le tableau nommé «Fournisseur» après avoir utilisé la clause de jointure.

Sélectionnez le client.Ville, client.Date d'achat,
Fournisseur.Ville, fournisseur.Supply_Date
Du client
Fournisseur de jointure extérieure;

La requête précédente indique le résultat contenant les données (City et Supply_Date) des deux colonnes.

Conclusion

Nous avons discuté des détails d'une jointure extérieure dans la requête SQLite dans cet article. Cet article a démontré de nombreux types de clause de jointure externe et comment les utiliser à l'aide de plusieurs cas de la clause de jointure extérieure. Les entrées de la table gauche seraient maintenues par une jointure extérieure gauche. La requête SQLite examine chaque rangée du tableau, vérifie si le requis est rempli et récupère les champs de correspondance. Il fournit null pour toutes les lignes conflictuelles.