Jointure extérieure mysql

Jointure extérieure mysql

MySQL fournit de nombreuses commandes, qui sont nécessaires lors de la gestion d'une base de données. Par exemple, nous devons souvent obtenir des données à partir de différentes tables en fonction de certaines conditions. MySQL fournit alors différents types de jointures pour obtenir les résultats souhaités. Apprenons la jointure de gauche à droite de MySQL.

Il n'y a pas de déclaration telle que la jointure extérieure complète dans SQL, mais nous pouvons utiliser une jointure simple pour obtenir les mêmes résultats ou simplement en utilisant une instruction SELECT sur deux tables différentes.

Sinon, MySQL fournit JOINT GAUCHE et À droite Pour obtenir les enregistrements ou les lignes de la table droite ou gauche, respectivement. Essayons quelques exemples différents pour obtenir les résultats souhaités en utilisant des jointures appropriées.

Exemples

Avant de commencer à apprendre l'utilisation de la gauche et de la droite Rejoignez. Nous apprendrons comment obtenir toutes les données des deux tables (communes ou rares) en utilisant l'instruction SELECT simple et en utilisant la jointure croisée avec l'instruction SELECT. Tout d'abord, essayons d'obtenir toutes les données des deux tables à l'aide de l'instruction SELECT.

Par exemple, il y a 2 tables que nous avons obtenues au nom de l'auteur et des livres.

Books desc; Auteurs de DESC;

Si nous voulons obtenir toutes les colonnes des deux tables. La requête sélectionnée sera utilisée comme ceci:

Sélectionner * dans les livres, les auteurs;

Comme vous pouvez le voir, nous avons toutes les colonnes des deux tables sans même fournir de condition.

Si nous utilisons la clause Join ou Cross Join, les deux nous apporteront les mêmes résultats. Par exemple:

Sélectionner * dans les livres Rejoignez les auteurs;

Maintenant, essayons d'appliquer la jointure de croix:

Sélectionner * dans les livres Cross Join Auteurs;

Comme vous pouvez le voir, toutes ces requêtes nous apportent les mêmes résultats.

Cependant, il n'est pas bon d'avoir toutes les colonnes sous une forme aussi abstraite. Ainsi, pour obtenir quelques colonnes spécifiques de la table gauche ou droite, il y a deux façons de procéder; Une façon est que vous utilisez des noms de colonne en utilisant des instructions sélectionnées ou en utilisant des jointures qui correspondent à votre exigence.

D'accord, allons maintenant de l'avant pour comprendre la jointure de gauche et la jointure de droite.

JOINT GAUCHE

Supposons que nous voulons obtenir des colonnes spécifiques qui proviennent de la table des livres ou communes entre le tableau des livres et des auteurs, sur la base d'une condition, la condition est en fait fournie en comparant deux tables différentes. Par exemple, nous voulons rejoindre deux tables, livres et auteurs où l'ID du livre est égal à l'identifiant de l'auteur. Nous pouvons nous attendre à un tel résultat en utilisant la jointure de gauche avec une instruction SELECT; Sélectionnez la requête avec les noms de colonne que vous souhaitez obtenir dans la table des livres ou les auteurs. La requête sélectionnée avec la jointure et l'état de gauche serait comme ceci:

Sélectionner des livres.book_name, livres.book_id, auteurs.auteur_id,
auteurs.auteur_fname, auteurs.auteur_lname
Des livres
Rester les auteurs
Sur des livres.book_id = auteurs.auteur_id;

Puisque nous avons mentionné le tableau des livres sur le côté gauche, la jointure obtiendra l'ID d'une ligne de la table des livres et recherchera le même numéro d'identification dans la table de l'auteur. S'il trouve le même numéro d'identification, il affichera également les colonnes données de la table de l'auteur. Sinon, il montrera null dans les colonnes de la table de l'auteur. Exécutons cette requête et assistez aux résultats.

Comme vous pouvez le voir, nous avons les lignes des deux tables où l'ID de table des livres est égal à l'ID de table de l'auteur. Dans la dernière rangée, nous pouvons également voir qu'il n'y a pas de numéro d'identification 4 dans la table de l'auteur, il est donc retourné nul.

À droite

De même, si nous voulons obtenir des données, soit à partir du tableau de l'auteur, soit commune entre les livres et le tableau de l'auteur, sur la base de certaines conditions, ce type de résultats peut être attendu en utilisant la clause de jointure et de sélection de droite. La requête sélectionnée avec la bonne jointure et la condition serait comme ceci:

Sélectionner des livres.book_name, livres.book_id, auteurs.auteur_id,
auteurs.auteur_fname, auteurs.auteur_lname
Des livres
Right Rejoignez les auteurs
Sur des livres.book_id = auteurs.auteur_id;

Cette fois, nous savons que la table des auteurs est du côté droit, donc la jointure obtiendra l'ID d'une ligne de la table de l'auteur et recherchera le même numéro d'identification dans la table du livre. S'il trouve le même numéro d'identification, il affichera les colonnes données de la table des livres. L'exécution de la requête en résulterait:

Comme vous pouvez le voir, nous avons les lignes des deux tables où l'ID de l'auteur est égal à l'identifiant du livre. Nous savons qu'il y avait un quatrième livre dans la table des livres, bien que nous ne l'obtenions pas, c'est à cause de la bonne joints.

Donc, c'est ainsi que la jointure de gauche et de droite se joignent vraiment.

Conclusion

Nous avons appris et compris la croix, la gauche et la jointure droite, ainsi que des utilisations pour les utiliser pour obtenir les résultats souhaités dans MySQL. Nous avons également essayé quelques exemples différents de jointures pour comprendre les concepts d'une manière meilleure et profonde.