Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Clause Union | Sous-Requêtes Imbriquées
SQL Intermédiaire

bookClause Union

Nous avons attiré l'attention d'un client qui a besoin de requêtes SQL. Avant d'aborder les JOINs, découvrons la clause UNION, essentielle pour combiner plusieurs tables.

Voici quelques points importants à connaître sur l'utilisation de UNION :

  1. Nombre et ordre des colonnes : Toutes les requêtes combinées avec UNION doivent avoir le même nombre de colonnes dans le même ordre ;

  2. Types de données : Les colonnes de chaque requête doivent avoir des types de données compatibles ;

  3. Lignes uniques : Par défaut, UNION supprime les lignes en double. Utilisez UNION ALL si vous souhaitez conserver les doublons.

Pour mieux comprendre comment combiner correctement des tables à l'aide de la clause UNION, j'ai introduit une table supplémentaire contenant des informations sur les contractors.

Il n'y a pas beaucoup d'informations ici, seulement first_name, last_name et email.

Vous pouvez constater que cette table présente des similitudes avec la table employees. En utilisant la clause UNION, il est possible de combiner ces deux tables afin, par exemple, d'afficher une liste de tous les prénoms et noms de famille des employés et sous-traitants impliqués dans l'entreprise.

Pour cela, nous allons utiliser la clause UNION :

12345678
(SELECT employee_id as id, first_name, last_name FROM employees) UNION (SELECT contractor_id as id, first_name, last_name FROM contractors) ORDER BY id
copy

Analyse détaillée du processus :

Nous avons deux requêtes qui renvoient chacune trois colonnes avec les mêmes types de données. L'objectif est d'afficher l'Id, le first_name et le last_name de toutes les personnes de l'entreprise. Le nom de la colonne Id a également été harmonisé afin que les deux requêtes aient les mêmes noms de colonnes.

Ensuite, la clause UNION est utilisée pour combiner les résultats de ces requêtes, en supprimant les doublons (même s'il n'y en a pas ici).

Enfin, les résultats sont triés par Id à l'aide de ORDER BY.

Note

Le tri s'effectue sur la colonne Id, qui est une colonne commune aux deux tables.

Après l'utilisation de UNION, on obtient une "requête unique étendue" que l'on peut manipuler davantage avec des clauses telles que ORDER BY.

Nous ne pouvons pas utiliser directement WHERE ou GROUP BY avec des tables combinées à l'aide de UNION. Pour appliquer ces clauses, il est nécessaire d'utiliser une sous-requête dans la section FROM. Voici un exemple de la manière de procéder :

123456789
SELECT id, first_name, last_name FROM ( SELECT employee_id AS id, first_name, last_name FROM employees UNION SELECT contractor_id AS id, first_name, last_name FROM contractors ) AS combined WHERE first_name = 'Jane'
copy

L'utilisation d'une sous-requête dans la section FROM offre une plus grande flexibilité ! Cela peut sembler complexe au début, mais maîtriser cette technique facilitera grandement l'écriture de requêtes complexes.

1. Quelles colonnes sont requises lors de l'utilisation de la clause UNION en SQL ?

2. Comment la clause UNION traite-t-elle les lignes en double par défaut ?

question mark

Quelles colonnes sont requises lors de l'utilisation de la clause UNION en SQL ?

Select the correct answer

question mark

Comment la clause UNION traite-t-elle les lignes en double par défaut ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 5

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Suggested prompts:

Can you explain the difference between UNION and UNION ALL?

How do I know when to use a subquery with UNION?

Can you show more examples of using UNION with different tables?

Awesome!

Completion rate improved to 4

bookClause Union

Glissez pour afficher le menu

Nous avons attiré l'attention d'un client qui a besoin de requêtes SQL. Avant d'aborder les JOINs, découvrons la clause UNION, essentielle pour combiner plusieurs tables.

Voici quelques points importants à connaître sur l'utilisation de UNION :

  1. Nombre et ordre des colonnes : Toutes les requêtes combinées avec UNION doivent avoir le même nombre de colonnes dans le même ordre ;

  2. Types de données : Les colonnes de chaque requête doivent avoir des types de données compatibles ;

  3. Lignes uniques : Par défaut, UNION supprime les lignes en double. Utilisez UNION ALL si vous souhaitez conserver les doublons.

Pour mieux comprendre comment combiner correctement des tables à l'aide de la clause UNION, j'ai introduit une table supplémentaire contenant des informations sur les contractors.

Il n'y a pas beaucoup d'informations ici, seulement first_name, last_name et email.

Vous pouvez constater que cette table présente des similitudes avec la table employees. En utilisant la clause UNION, il est possible de combiner ces deux tables afin, par exemple, d'afficher une liste de tous les prénoms et noms de famille des employés et sous-traitants impliqués dans l'entreprise.

Pour cela, nous allons utiliser la clause UNION :

12345678
(SELECT employee_id as id, first_name, last_name FROM employees) UNION (SELECT contractor_id as id, first_name, last_name FROM contractors) ORDER BY id
copy

Analyse détaillée du processus :

Nous avons deux requêtes qui renvoient chacune trois colonnes avec les mêmes types de données. L'objectif est d'afficher l'Id, le first_name et le last_name de toutes les personnes de l'entreprise. Le nom de la colonne Id a également été harmonisé afin que les deux requêtes aient les mêmes noms de colonnes.

Ensuite, la clause UNION est utilisée pour combiner les résultats de ces requêtes, en supprimant les doublons (même s'il n'y en a pas ici).

Enfin, les résultats sont triés par Id à l'aide de ORDER BY.

Note

Le tri s'effectue sur la colonne Id, qui est une colonne commune aux deux tables.

Après l'utilisation de UNION, on obtient une "requête unique étendue" que l'on peut manipuler davantage avec des clauses telles que ORDER BY.

Nous ne pouvons pas utiliser directement WHERE ou GROUP BY avec des tables combinées à l'aide de UNION. Pour appliquer ces clauses, il est nécessaire d'utiliser une sous-requête dans la section FROM. Voici un exemple de la manière de procéder :

123456789
SELECT id, first_name, last_name FROM ( SELECT employee_id AS id, first_name, last_name FROM employees UNION SELECT contractor_id AS id, first_name, last_name FROM contractors ) AS combined WHERE first_name = 'Jane'
copy

L'utilisation d'une sous-requête dans la section FROM offre une plus grande flexibilité ! Cela peut sembler complexe au début, mais maîtriser cette technique facilitera grandement l'écriture de requêtes complexes.

1. Quelles colonnes sont requises lors de l'utilisation de la clause UNION en SQL ?

2. Comment la clause UNION traite-t-elle les lignes en double par défaut ?

question mark

Quelles colonnes sont requises lors de l'utilisation de la clause UNION en SQL ?

Select the correct answer

question mark

Comment la clause UNION traite-t-elle les lignes en double par défaut ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 5
some-alt