Jointure SQL sur plusieurs conditions

Jointure Sql Sur Plusieurs Conditions



L'une des fonctionnalités les plus courantes des bases de données relationnelles est la jointure. Les jointures SQL font référence au processus de combinaison des données de deux ou plusieurs tables en un seul ensemble de résultats basé sur des fonctionnalités ou des colonnes standard.

Joindre les tables nous permet de récupérer les données stockées sur plusieurs tables dans une seule requête, ce qui en fait un outil puissant pour l'analyse des données et la création de rapports.







Dans ce tutoriel, nous allons découvrir comment effectuer les jointures SQL sur plusieurs conditions. Nous apprendrons à utiliser les opérateurs logiques 'ET' et 'OU' pour joindre les données en fonction de plusieurs conditions.



Jointures SQL sur plusieurs conditions

Nous pouvons spécifier plusieurs conditions à l'aide des opérateurs AND ou OR en SQL. Ces opérateurs nous permettent de définir un ensemble d'expressions booléennes qui sont ensuite évaluées et comparées à l'ensemble résultant.



Nous utilisons l'opérateur AND pour nous assurer que toutes les conditions spécifiées sont vraies. Si même l'une des conditions n'est pas vraie, l'expression entière est rendue fausse. Cela fait de l'opérateur AND un outil exceptionnel pour le filtrage extrême des données.





D'autre part, nous utilisons l'opérateur OR lorsque nous avons besoin qu'au moins une des conditions soit vraie. Cela en fait une méthode de filtrage des données plus 'lâche' car l'enregistrement résultant ne doit remplir qu'au moins un paramètre défini.

La fonctionnalité des opérateurs AND et OR ne change pas même dans le cas de jointures SQL.



Exemple de jointures multiples SQL

Pour comprendre comment travailler avec des jointures sur plusieurs conditions, il est préférable de travailler avec un exemple.

Pour cette démonstration, nous utilisons la base de données Sakila qui a été développée pour explorer toutes les capacités de SQL.

Supposons que nous voulions récupérer les données des tables film et film_actor. Tout d'abord, nous voulons trouver tous les acteurs qui ont joué dans le film qui sont classés PG ou PG-13 et dont la longueur est comprise entre 90 et 120.

Dans un tel scénario, nous devons effectuer une jointure avec plusieurs conditions, comme indiqué ci-dessous :

SELECT acteur.prénom, acteur.nom_de_famille, film.titre, film.sortie_année, film.classement
DE l'acteur
REJOINDRE film_actor ON actor.actor_id = film_actor.actor_id
REJOINDRE le film SUR film_actor.film_id = film.film_id
WHERE film.longueur ENTRE 90 ET 120
ET cote.de.film EN ( 'PG' , 'PG-13' ) ;


Comme vous pouvez le voir dans la requête précédente, nous disons à SQL d'effectuer une jointure entre l'acteur et les tables film_actor en fonction de la colonne actor_id. Nous effectuons également une jointure entre les tables film_actor et film à l'aide de la colonne film_id. Nous nous assurons également de définir deux conditions à l'aide de la clause WHERE pour filtrer le tableau de résultats en fonction de l'année de sortie et de la durée du film.

Le tableau obtenu est le suivant :


Nous pouvons également spécifier les conditions multiples basées sur l'opérateur OR, comme illustré dans l'exemple de requête suivant :

SELECT film.title, film.rental_rate, category.name
DU film
JOIN film_category ON film.film_id = film_category.film_id
REJOINDRE la catégorie ON film_category.category_id = category.category_id
WHERE catégorie.nom IN ( 'Action' , 'Comédie' )
ET film.rental_rate > 3,00 ;


Le tableau obtenu est le suivant :

Conclusion

Ce didacticiel a exploré comment travailler avec des jointures SQL basées sur plusieurs conditions à l'aide des opérateurs AND et OR. Cela permet un filtrage des données plus granulaire.