Jointure externe gauche

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

Être capable de créer et exploiter une base de données MySQL au quotidien de manière autonome.

Cette formation a été conçue à destination d'un public sans connaissances préalables sur les bases de données, avec l'ambition de transmettre les notions fondamentales permettant d'entrer sereinement et efficacement dans l'univers des bases de données, et d'exploiter MySQL au quotidien de manière autonome.

Elle permet de tirer parti de logiciels de qualité conçus spécialement pour travailler avec les bases de données : MySQL Workbench et Datagrip.

Elle met l'accent sur la pratique, et comprend de nombreuses démonstrations, mises en situations, exercices corrigés et commentés.

Elle met à disposition en ressources téléchargeables 3 bases de données portant sur des thèmes variés (médicaments vétérinaires, sécurité routière, prénoms), les scripts SQL des démonstrations les plus longues, et intègre un code promotionnel vous permettant de bénéficier d'une prolongation à 4 mois de la période d'essai gratuite de Datagrip.

Voir plus
Après nous être intéressés aux jointures internes, on va s'intéresser aux jointures externes. Pour ce faire, on va modifier notre base de données pour avoir un jeu d'enregistrement qu'on pourra valoriser dans le cadre de ce type de jointure. Je vous invite à récupérer le fichier mis à votre disposition qui s'appelle LeftJoin et à l'ouvrir dans votre éditeur. On va regarder très rapidement ce que ce script fait. Ne vous inquiétez pas si vous ne comprenez pas tout de ce script. On va s'intéresser dans la suite de cette formation à ce qui se passe dans cette série d'instructions. Sommairement, on va créer deux tables. Une table MEDOC2 qui comporte deux colonnes. Une colonne ID et une colonne nom, l'ID étant la clé primaire. On va créer une table Déclarations, par exemple pour contenir des déclarations de pharmacovigilance sur des médicaments qui comportent, elles, trois colonnes, une clé primaire nommée ID, la date à laquelle l'enregistrement est ajouté, et la clé étrangère qui fait référence à l'ID de la colonne MEDOC2. Dans ces tables-là, on va insérer des données. 10 MEDOC avec des noms fictifs dans la table MEDOC2. Ensuite, on va créer une contrainte de type clé étrangère. On y reviendra également par la suite entre ces deux tables. Puis, on va insérer cinq lignes dans la table Déclarations. Je vous invite à sélectionner l'ensemble de ces instructions, à faire un contrôle entrée. Vous voyez que chaque instruction est exécutée. On a ici la trace de ce qui s'est passé. Si vous regardez dans la partie gauche, dans la partie Database Explorer, vous avez deux tables qui se sont rajoutées. La table MEDOC2, qui contient les enregistrements qu'on a rajoutés, et une table Déclarations, qui contient cinq enregistrements faisant référence aux cinq premiers médicaments qu'on a ajoutés dans la table MEDOC2, avec pour chacun la date de déclaration qui s'est rajoutée automatiquement. Maintenant, à partir de ce jeu d'enregistrement, je vous montre comment on fait une jointure externe. On va fermer le script et ouvrir un nouvel éditeur. Et dedans, on va faire une jointure externe. On va faire un SELECT FROM. On va choisir la table MEDOC2, ASM. Et au lieu de mettre ici un JOIN, on va mettre un LEFT JOIN. Déclaration. ASD. ON. M.ID est égal à D.MEDOCID. La seule différence qu'il y a entre une jointure interne et une jointure externe, ici une jointure gauche, c'est la présence de ce mot-clé LEFT. On va également indiquer quelles sont les colonnes que l'on souhaite projeter. Ici, de la table MEDOC2, on veut le nom. Et puis de la table déclaration, on veut la date. Quelle différence va-t-il y avoir entre cette instruction et la précédente dans laquelle on avait juste un JOIN ? Ici, on a un LEFT JOIN. La différence, c'est qu'ici, on aura tous les enregistrements de la table MEDOC2 et seulement ceux de la table déclaration pour lesquels cette égalité est juste. J'exécute la requête et on voit le résultat. On voit ici que pour les 5 premiers médicaments pour lesquels on avait fait une déclaration de pharmacovigilance, on a bien une date. Et pour tous les autres, on n'a pas de date qui correspond. Dans ce cas, la valeur qui est indiquée est marquée à nulle. C'est-à-dire qu'on n'a pas de valeur. Si on regarde dans notre table déclaration, on voit bien qu'effectivement, les MEDOCID pour les 5 enregistrements qu'on a dans cette table vont de 1 à 5, alors que dans la table MEDOC2, on a bien des IDs qui vont jusqu'à 10. Et donc, pour les médicaments qui correspondent aux dernières lignes, de 6 à 10, dans notre résultat, on n'a pas de déclaration. Donc, le résultat apparaît à nul. Si on avait ici mis un JOIN, eh bien, on aurait eu simplement les seuls enregistrements pour lesquels il y a une correspondance entre les deux tables. Alors, il existe aussi des RIGHT JOIN. Au lieu de mettre un LEFT JOIN ici, et donc je réexécute cette requête pour montrer le résultat, en fait, le RIGHT JOIN s'intéresse à la table qui se trouve à droite de la jointure, donc ici déclaration, et va nous récupérer toutes les déclarations, donc de la table déclaration, et seulement les enregistrements de la table MEDOC pour lesquels l'égalité est juste ici. Donc, en fait, dans le cas présent, ça revient à faire un LEFT JOIN. Il faut savoir que, du coup, c'est symétrique, c'est-à-dire que si je change l'ordre des tables ici, par exemple, que je mets déclaration ASD RIGHT JOIN MEDOC2 AS M, eh bien, c'est exactement la même chose que d'exécuter la ligne 1 ici, donc on peut le vérifier, voilà. À quoi est-ce que ça, ça peut bien nous servir ? Eh bien, on voit dans le résultat qu'on a un certain nombre d'enregistrements pour lesquels on n'a pas de date de renseignée. Ce sont les médicaments pour lesquels il n'y a pas eu de déclaration de pharmacovigilance, donc ça peut être intéressant d'utiliser une jointure externe, gauche ou droite, peu importe, pour identifier, dans le cas présent, les médicaments qui n'ont fait l'objet d'aucune déclaration de pharmacovigilance. Il suffit alors de rajouter une restriction, comme suivant, par exemple, WHERE D.DATE IS NULL Si j'exécute cette requête, je vais avoir les médocs d'ID 6 à 10, ici, ceux pour lesquels, finalement, on n'a pas eu de déclaration de pharmacovigilance. C'est particulièrement intéressant dans certains cas d'utilisation. Les tables qu'on a créées, MEDOC2 et Déclaration, ne nous serviront pas par la suite, donc on peut les supprimer. Vous avez la possibilité de le faire de deux manières différentes, soit directement en cliquant droit et en cliquant ensuite sur DROP. Ça va supprimer la table et les données qu'elle contienne. Il faut bien commencer par la table Déclaration et ensuite supprimer la table MEDOC2. Ne vous trompez pas, vous n'aurez pas la possibilité de faire machine arrière si vous avez supprimé la mauvaise table. Une autre manière de faire, c'est de le faire à la main, et donc de faire un DROP TABLE, indiquer le nom de la table Déclaration, ce qui revient exactement au même. Vous voyez que la table Déclaration a disparu, et on peut faire de la même manière un DROP TABLE MEDOC2. Et voilà, votre base de données est revenue dans son état initial, et on peut poursuivre le cours. Dans un instant, je vous donne un exercice de mise en application des jointures externes. A tout de suite.

Programme détaillé

Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Unions 06:39
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
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
  • Nouveau
    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

éditeur de vidéos pédagogiques

Des supports pédagogiques en vidéo, produits avec les meilleurs experts. Dans nos studios à Paris, Lyon ou Montpellier. Vous souhaitez travailler avec nous ?
image-micro