1 / 19

CHAPITRE 6 Le langage de commande SQL

CHAPITRE 6 Le langage de commande SQL. SELECT liste des colonnes FROM nom des tables WHERE conditions. Le Langage SQL. Pour faire des interrogations sur les données de ma base : QBE (Query By Exemple) SQL (Structured Query Langage), . SQL : standard de fait (norme ANSI) il permet :

lilac
Download Presentation

CHAPITRE 6 Le langage de commande SQL

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CHAPITRE 6 Le langage de commande SQL Y. Ouzrout

  2. SELECTliste des colonnes FROMnom des tables WHEREconditions Le Langage SQL • Pour faire des interrogations sur les données de ma base : • QBE(Query By Exemple) • SQL (Structured Query Langage), • ... • SQL : standard de fait (norme ANSI) il permet : • - la création, interrogation et manipulation des données d'une base • - déclarer les relations, créer les occurrences • - faire toute opération définie par l'algèbre relationnelle. Y. Ouzrout

  3. Exemple Table Animaux Select * from Animaux where Espèce = ‘Yeti’ ; Y. Ouzrout

  4. Le Langage SQL Quatre grandes familles de commandes • Langaged'Interrogationdes Données  SELECT • Langage de Manipulation de Données  INSERT, UPDATE, DELETE • Langage de Contrôle des Données  GRANT, DENY, REVOKE • Langage de Définition de Données  CREATE, ALTER, DROP,  RENAME, TRUNCATE Y. Ouzrout

  5. LE LANGAGE SQL : Interrogation des données 1 – Interrogation de la base : LID 2 – Les jointures 3 – Les sous-interrogations et fonctions de groupe Y. Ouzrout

  6. Le Langage SQL : Interrogation des données SELECT Sélection des colonnes à interroger. FROMChoix des tables à partir desquelles on fait la sélection. WHERE Sélection des lignes (application d'un filtre). Y. Ouzrout

  7. Afficher toutes les colonnes d'une table. SELECT * FROMAnimaux ; Sélectionner des colonnes spécifiques • Choix des colonnes par la clause SELECT. SELECT ID, Espèce, Nom FROM Animaux; ID Espèce Nom -- ------ --- 1 Chien Bidou 2 Chat Groucha 3 Yeti Georges 4 Elephant Dumbo 5 Girafe Flip Flap Y. Ouzrout

  8. Autre exemple de BD Fourniture IdFourT ... Service IdService ... 0,n 1,1 Commander IdCom 1,n Dépendre 1,n Rattacher 0,n 1,n 1,1 Fournisseur Collectivite Agent IdFourS ... IdCollect ... IdAgent ... Y. Ouzrout

  9. Autre exemple de BD Fournisseur IdFourS FNom FAdresse FType Commande IdCom Agent_Id FourT_Id FourS_Id DateC DateL Prix Quantite Service Fourniture IdService SNom Collect_Id IdFourT FDesignation Quantite_Stock Agents IdAgent ANom APrenom DateE Fonction Responsable Salaire Service_Id Commission Collectivité IdCollect CDesignation Y. Ouzrout

  10. Créer des expressions sur des données de type NUMBER ou DATE avec : + - * / SELECTANom, Salaire*12 FROMAgent ; Remarque : la colonne salaire*12 existe uniquement à l’affichage. • Alias sur colonne : AS SELECTANom, Salaire*12 AS ‘Salaire Annuel’ FROMAgent ; • La clause ORDER BY permet de trier les lignes : ASCDESC SELECTANom, Fonction, Salaire FROMAgent ORDER BYSalaire DESC; Expressions Arithmétiques Y. Ouzrout

  11. permet de faire des comparaisons chaîne de caractères SELECTANom, Fonction, Salaire FROMAgent WHERE ANom = 'Dupont' AND APrenom LIKE'_ea%'; Opérateurs de comparaison logiques . = > >= < <= != <> Opérateurs de comparaison . BETWEEN, AND, IN, LIKE, IS NULL Opérateurs logiques . AND, OR, NOT Sélection des Lignes • Il est possible de limiter le nombre de lignes rapportées en utilisant la clause WHERE : • permet d'exprimer une condition. SELECTANom, Fonction, Salaire FROMAgent WHEREService_Id = 10; Y. Ouzrout

  12. On utilise l'opérateur IN pour tester l'appartenance à une liste de valeurs. SELECTIdService, SNom, Collect_Id FROMService WHERECollect_Id IN (38,42,69,01); Opérateurs de comparaison • On utilise l'opérateur BETWEEN pour tester l'appartenance à un intervalle. SELECTANom, APrenom, Fonction, Salaire FROMAgent WHEREDateE BETWEEN #08-AOU-93# AND #08- AOU-99#; format des dates par défaut Y. Ouzrout

  13. Fonctions Mono-Ligne • LOWER convertit en minuscule • UPPER convertit en majuscule • INITCAP convertit l’initiale en capitale • CONCAT concatène des valeurs • SUBSTR retourne une sous-chaîne • LENGTH retourne un nombre de caractères SELECTUPPER(ANom), CONCAT(ANom, APrenom), Salaire FROMAgent WHERELOWER(Fonction) = ‘directeur ’; • ROUND(col,n) arrondit une valeur à n décimales spécif. • TRUNC (col,n) tronque une valeur à n décimales spécif. • MOD(m,n) retourne le reste de la division de m par n Y. Ouzrout

  14. Les jointures SELECTAg.ANom , Ag.Service_Id , Se.IdService FROMAgent Ag, Service Se WHEREAg.Service_Id = Se.IdService ; • Une jointure est utilisée pour rechercher les données dans plusieurs tables. • Les lignes sont reliées grâce aux valeurs communes contenues dans les clés primaires et étrangères. • La condition de jointure s’exprime dans le WHERE. Y. Ouzrout

  15. Les Sous-Interrogations • Il est possible d'imbriquer une, ou plusieurs, interrogation (SELECT) dans une autre. • On parle alors de sous-interrogation. • Elle est exécutée avant la requête principale ; son résultat est utilisé par la requête • principale. • Elle permet de rechercher des données basées sur un critère inconnu. SELECTANom, Fonction FROMAgent WHERE Service_Id = (SELECTService_Id FROMAgent WHERE ANom = 'Dupont' ) ; Y. Ouzrout

  16. Si une sous-interrogation retourne plus d'une ligne SELECTANom, Salaire, Service_Id FROMAgent WHERESalaire =(SELECTMIN(Salaire) FROMAgent GROUP BY Service_Id ); Il faut remplacer = par IN (opérateur multi-lignes). Réponses Multi-Lignes (1/2) SELECTANom, Salaire, Service_Id FROMAgent WHERESalaire =(SELECTMIN(Salaire) FROMAgent ); Y. Ouzrout

  17. Réponses Multi-Lignes (2/2) • Autre exemple SELECTService_Id, AVG(Salaire) FROMAgent GROUP BY Service_Id HAVINGAVG(Salaire) > ( SELECTAVG(Salaire) FROMAgent WHEREService_Id = 10 ); Salaire moyen par service, dont le salaire moyen est supérieur à celui du service 10. Y. Ouzrout

  18. LE LANGAGE SQL : modification des données 1 – Insertion dans la base : Insert 2 – Suppression dans la base : Delete 3 – Modification dans la base : Update Y. Ouzrout

  19. INSERTINTOAgent (IdAgent, Anom, Aprenom) VALUES(25236, 'Dalton', 'Joe'); • Pour supprimer des données dans une table on utilise la commande SQL DELETE DELETEFROMAgentWHEREIdAgent = 25236; • Pour modifier des données dans une table on utilise la commande SQL UPDATE UPDATEAgent SET ANom = ‘DURANT’ WHERE Salaire = 2500 ; Le Langage SQL : Mise-à-jour des données • Pour insérer une ligne dans une table on utilise la commande SQL INSERT Y. Ouzrout

More Related