Combiner des Données de Tables SQL avec UNION

Unions
Vidéo non disponible ! Réessayez plus tard
Cette vidéo fait partie de la formation
Apprendre MySQL 8.0 par la pratique
Revoir le teaser Je m'abonne
Transcription

Cette leçon fait partie de la formation
89,00€ Je commande

Formation incluse dans l'abonnement Elephorm Je m'abonne à Elephorm

DescriptionProgrammeAvis

Cette leçon fait partie de la formation
89,00€ Je commande

Formation incluse dans l'abonnement Elephorm Je m'abonne à Elephorm

Les objectifs de cette vidéo sont d'apprendre à :
1. Créer des tables temporaires et les remplir avec des données spécifiques.
2. Utiliser les instructions UNION et UNION ALL pour combiner des enregistrements provenant de différentes tables.
3. Comprendre les contraintes de structure et de type de données pour les requêtes UNION.

Dans cette leçon, apprenez à utiliser l'instruction UNION pour combiner des résultats issus de plusieurs tables SQL.

Cette leçon se concentre sur l'utilisation de l'instruction UNION en SQL pour réunir des données provenant de différentes tables au sein d'une base de données. Nous commencerons par l'introduction et la création de tables factices, Medoc2000 et Medoc2010, chacune contenant des enregistrements basés sur des critères temporels spécifiques. Nous verrons ensuite comment exécuter une requête UNION pour combiner les enregistrements de ces deux tables, tout en soulignant l'importance de la structure des tables et des types de données. Un accent particulier sera mis sur la différence entre UNION et UNION ALL, montrant comment utiliser chacun de manière appropriée pour obtenir des résultats uniques ou incluant des doublons. Enfin, des conseils pratiques seront donnés pour assurer l'intégrité des données lors de l'exécution de ces instructions.

Voir plus
Questions réponses
Quelle est la différence entre UNION et UNION ALL ?
L'instruction UNION supprime les doublons dans les résultats combinés, tandis que UNION ALL conserve tous les enregistrements, y compris les doublons.
Pourquoi est-il important que les tables à combiner aient la même structure avec l'instruction UNION ?
Les tables doivent avoir la même structure pour garantir que chaque colonne correspondante peut être combinée correctement, évitant ainsi des erreurs de type de données.
Que se passe-t-il si les types de données des colonnes dans les tables combinées par UNION ne correspondent pas ?
Si les types de données ne correspondent pas, une erreur sera générée et l'instruction UNION ne pourra pas être exécutée correctement.
Dans cet enregistrement, on va s'intéresser à la manière de rassembler dans un même résultat des informations issues de tables différentes. Pour ce faire, on va avoir besoin de modifier un petit peu notre base de données. Je vous invite à exécuter un script que vous allez récupérer dans les fichiers qui sont fournis avec la formation. Ce script s'appelle donc Medoc20002010. Je vous explique très rapidement ce qu'il fait, mais on aura l'occasion de revenir en détail dessus dans la suite de la formation. On va créer deux tables, une table Medoc2000 et une table Medoc2010, chacune contenant trois colonnes. Elles ont exactement la même structure. On a l'ID d'un médicament, son nom et la date à laquelle il a obtenu son AMM. Pour chacune des tables, on va rajouter des enregistrements en provenance de la table Medoc, la table qui se trouve actuellement dans notre base de données. Pour la table Medoc2000, on va insérer dans cette table les enregistrements, les médicaments pour lesquels la date d'AMM a été comprise entre 2000 et 2010, donc les bornes étant incluses. Pour la table Medoc2010, on va faire la même chose, à la différence près qu'on choisira les médicaments pour lesquels la date de mise sur le marché a été comprise entre 2010 et 2019. On va avoir trois tables dans notre base de données qui contiennent des informations sur des médocs, et on va travailler uniquement sur les deux tables qu'on vient de créer. Notons que, et c'est important pour la suite de l'explication, on va avoir des médicaments qui vont apparaître dans les deux tables en même temps, c'est-à-dire ceux qui ont été mis sur le marché en 2010. Donc, exécutons ce script. Tout passe au vert et on voit qu'on a deux tables qui se sont rajoutées dans notre base de données. Si, par exemple, j'ouvre cette table-là, j'ai un certain nombre de médicaments, chacun ayant la date inférieure à 2010 mais supérieure à 2000, supérieure ou égale. Dans la table médoc 2010, le même principe, sauf qu'on est compris entre 2010 et 2019. Alors, ceci étant fait, très régulièrement, on aura besoin de réunir des données issues de tables différentes. Dans notre exemple, on veut réunir dans un même résultat les données de ces deux tables. Donc, on va utiliser une instruction spéciale qu'on n'a pas vue jusqu'ici, qui est UNION. Je vous montre comment faire. On va faire déjà un SELECT FROM médoc 2000. On veut en particulier, par exemple, récupérer le nom du médicament et sa date d'AMM. On va utiliser à peu près la même requête pour médoc 2010. Et entre les deux, on va utiliser UNION ALL. Contrairement aux apparences, il s'agit bien d'une unique instruction SQL qui va empiler les résultats du premier SELECT sur le deuxième. Donc, si j'exécute cette instruction, j'ai effectivement les deux colonnes que j'attendais avec les médicaments qui ont été mis sur le marché entre 2000 et 2019. Seulement, j'ai mis ici UNION ALL. Je vais avoir les enregistrements des deux tables, y compris ceux qui sont en doublons. Et bien souvent, on veut ne conserver que ceux qui sont uniques. Donc, on va utiliser pour ce faire, non pas UNION ALL, mais UNION. Et si on exécute cette requête, on constatera qu'on aura moins d'enregistrements. Par exemple, le résultat précédent contenait 1957 enregistrements. Si désormais j'exécute mon UNION SEUL, j'aurai du coup moins d'enregistrements, 1854. Il faut avoir en tête que lorsque l'on utilise cette instruction UNION ou UNION ALL, il faut que les deux tables qu'on réunit aient exactement la même structure. Et que ce sont les noms des colonnes projetées dans la première instruction qui sont utilisés dans le résultat final. Par exemple, si je mets NOM AS MÉDICAMENT, AS AMM ici pour la date, les labels sont repris ensuite. Si par contre j'avais fait le contraire, je vais recopier ça ici. Pour l'utiliser en dessous, à la place de ce qui existait. Si j'exécute dans ce sens, on voit que ce sont effectivement les labels du premier SELECT qui sont utilisés et que ceux de la requête inférieure ne sont pas valorisés. Donc il faut l'avoir en tête. De la même manière, si j'avais ici une colonne de moins et que j'essayais d'exécuter cette instruction, comme ça me l'indique, il y aura une erreur. Il faut vraiment qu'on ait le même nombre de colonnes et que ces colonnes aient le même type de données.

Programme détaillé

Nos dernières formations Code & Data
  • Nouveau
    Maîtriser FlutterFlow - De l'Idée à l'Application
    Découvrir
    Cette formation en FlutterFlow est l'outil idéal pour tout développeur souhaitant créer des applications mobiles robustes et interactives sans coder de manière complexe. Grâce à des modules complets et structurés, vous apprendrez à utiliser FlutterFlow et Firebase, à sécuriser vos données, à concevoir des interfaces utilisateur élégantes et à intégrer des API telles qu'OpenIA. Rejoignez-nous pour transformer vos idées en applications innovantes et performantes.
    4h08 57 leçons
  • Webflow - Créer la landing Page d'OpenAI
    Découvrir
    À l'issue de cette formation, les participants seront capables de créer de manière autonome une landing page sophistiquée, similaire à celle d'OpenAI, en utilisant les fonctionnalités avancées de Webflow pour le design responsive et les interactions.
    3h48 19 leçons
  • Apprendre Svelte 3 et SvelteKit 1.0
    Découvrir
    Créez des applications web modernes et ultra-rapides avec notre formation "Apprendre Svelte 3 et SvelteKit 1.0". Rejoignez-nous et devenez un expert du développement JavaScript ! 🚀 #Svelte #SvelteKit #DéveloppementWeb
    7h42 77 leçons
  • Apprendre Vue JS 3
    Découvrir
    Apprenez à créer des applications web modernes avec notre formation "Apprendre Vue JS 3". Rejoignez-nous et maîtrisez ce puissant framework JavaScript ! 🚀 #VueJS #FormationWeb #Développement
    11h47 91 leçons
  • Gratuit
    Apprendre ChatGPT
    Découvrir
    Ce cours vise à fournir une compréhension approfondie de l'intelligence artificielle, en se concentrant sur l'utilisation pratique de ChatGPT et DALL-E. Les participants découvriront comment l'IA peut transformer des domaines variés tels que le marketing, le développement web, et le design graphique. Le contenu couvre les bases de l'IA, l'art de créer des prompts efficaces, l'utilisation de plugins avancés, et le codage assisté par IA. Des projets pratiques permettront d'appliquer ces connaissances dans des scénarios réels. Destiné aux professionnels de la technologie, aux marketeurs, aux développeurs, et à toute personne intéressée par l'IA, ce cours est une opportunité d'acquérir des compétences innovantes et applicables dans divers contextes professionnels et créatifs. Les prérequis incluent une compréhension basique de l'informatique et un intérêt pour l'IA. Le cours promet une aventure d'apprentissage enrichissante, ouvrant de nouvelles perspectives dans l'utilisation de l'intelligence artificielle.
    3h12 30 leçons