background preloader

Les jointures - INNER JOIN, LEFT, RIGHT et FULL OUTER JOIN

Les jointures - INNER JOIN, LEFT, RIGHT et FULL OUTER JOIN
Souvent, dans une base de données, les données sont reparties entre plusieurs tables. On peut très bien imaginer une table contenant un clé étrangère vers une autre table. A ce moment là, comment faire pour récupérer les informations de cette table et de la table vers laquelle pointe la clé étrangère en une seule requête ? Si vous ne voyez pas ce que je veux dire, vous allez tout de suite comprendre. Nous allons partir du fait que ces tables contiennent déjà les données suivantes : Nous allons maintenant voir des techniques permettant en une requête de récupérer des données qu'il serait impossible de récupérer facilement avec un SELECT. Jointure interne Nous allons donc voir ici la plus simple jointure qu'il existe : la jointure interne. Voyons comment se servir de cela grâce à un exemple. Nous allons imaginer pour l'instant que la personne recherchée sera celle dont l'identifiant correspond à 3. Jusque là, tout est normal. Le résultat renvoyé par cette requête est le suivant :

Techniques pour débuter avec le module Base Bien utiliser le SQL Rappel Dans OOoBase, vous pouvez faire : - des requêtes de type SELECT dans la section requête en vue SQL - tous types de requêtes dans Outils / SQL ... Exemples de requêtes 1. Code : Tout sélectionner AgrandirRéduire SELECT SUM("TVA196") AS "Total" FROM "TFactures" WHERE YEAR("DateEmission") = YEAR(NOW( )) Note : MONTH("DateEmission") = MONTH(NOW( )) pour le mois en cours 2. SELECT SUM("TVA196") AS "Total" FROM "TFactures" WHERE "DateEmission" >= '2006-01-01' AND "DateEmission" < '2006-04-01' Note : format de date aaaa-mm-jj (ou yyyy-mm-dd) 3. SELECT CONCAT("TClients"." Note : ce type de concaténation est mieux accepté CONCAT("TClients"." 4. UPDATE "TClients" SET "RaisonSociale" = 'Les Arts d''Aujourd''hui', "Nom" = UCASE('debrier') WHERE "RefClient"=12 5. SELECT "Titre" FROM "TLivres" WHERE "Nouvelle" = True 6. INSERT INTO "TLivres" ("Titre", "RefAuteur", "Nouvelle") Values ('Les jeux de l''esprit', 12, False) Requêtes par macros cris59

Related: