S G B D R Langage SQL sous SQL server M.JAZOULI 1 L a n g a g e L M D : Introdu
S G B D R Langage SQL sous SQL server M.JAZOULI 1 L a n g a g e L M D : Introduction Nous avons vu précédemment que le SQL (Langage de requêtes structurées) est, à la fois, considéré comme un langage de manipulation de données mais, aussi comme, un langage de définition de données. Le langage de manipulation des données permet de modifier le contenu d’une table (insertion, mise à jour ou suppression d’enregistrements). 1- Instruction SELECT : La commande SELECT est basée sur l'algèbre relationnelle, en effectuant des opérations de sélection de données sur plusieurs tables relationnelles par projection. Seules les clauses "SELECT" et "FROM" sont obligatoires. La forme générale : SELECT [ALL] | [DISTINCT] <liste des noms de colonnes> | * FROM <Liste des tables> [WHERE <condition logique>] GROUP BY <champs de regroupement> HAVING <condition> ORDER BY <champs de tri> [DESC] | [ASC] Détails des clauses : Select : La clause SELECT permet de spécifier les informations qu'on veut récupérer. Instructions d'agrégation Les instructions d'agrégation permettent des opérations comme le comptage ou les sommes. Les différentes instructions d'agrégation sont : AVG(<champs>) COUNT(*) MAX (<champs>) MIN (<champs>) SUM (<champs>) M.JAZOULI 2 Exemple : SELECT AVG(VacationHours)AS 'Average vacation hours', SUM(SickLeaveHours) AS 'Total sick leave hours' FROM HumanResources.Employee WHERE JobTitle LIKE 'Vice President%'; FROM : Clause obligatoire qui détermine sur quelles tables l'on fait la requête. Les noms des tables sont séparés par des virgules. Exemple 1 : SELECT Eleve.nom, Eleve.prenom FROM Eleve; Exemple 2 : SELECT * FROM table_president; Ou SELECT table_president.* FROM table_president ; Résultat : nom prenom Chirac Jacques Kaczynski Lech Napolitano Giorgio Bachelet Michelle Alias : Alias SQL sont utilisés pour donner une table ou une colonne dans une table, un nom temporaire. Les alias sont souvent utilisés pour faire les noms de colonnes plus lisibles. Un alias existe uniquement pour la durée de la requête. Exemple 1 : SELECT * FROM table_president pres ; Résultat : genre nom prenom pays m Chirac Jacques France m Kaczynski Lech Pologne M.JAZOULI 3 m Napolitano Giogio Italie f Bachelet Michelle Chili Exemple 2 : Vous pouvez renommer les champs dans le résultat de la sélection. SELECT nom AS "name", prenom AS "firstname" FROM table_president ; Résultat : name firstname Chirac Jacques Kaczynski Lech Napolitano Giorgio Bachelet Michelle Exemple 3 : Vous pouvez adapter le résultat à certains critères : SELECT CASE genre WHEN "m" THEN "Monsieur le président" WHEN "f" THEN "Madame la présidente" ELSE "Erreur" END AS "salutation", nom, prenom FROM table_president ; Résultat : salutation nom prenom Monsieur le président Chirac Jacques Monsieur le président Kaczynski Lech Monsieur le président Napolitano Giorgio Madame la présidente Bachelet Michelle Exemple 4 : Utiliser le "+" pour concaténer les chaînes de caractères. SELECT prenom + ‘ ‘ + nom + ‘(‘ + pays + ‘)’ AS "Nom et pays" FROM table_president ; Résultat : M.JAZOULI 4 Nom et pays Chirac Jacques (France) Kaczynski Lech (Pologne) Napolitano Giorgio (Italie) Bachelet Michelle (Chili) Exemple 5 : SELECT prix, taux_tva, remise, prix + (prix /100 * taux_tva) - remise AS "total" FROM table_commande ; Résultat : prix taux_tva remise total 50 10 7 48 200 25 0 250 Plusieurs tables : Si vous invoquez plusieurs tables à la fois sans utiliser de clause "WHERE" ni de jointure, vous obtenez alors une "jointure croisée" (CROSS JOIN) ou "produit cartésien". Les noms des tables sont alors séparés par des virgules. Exemple : SELECT * FROM table_president, table_premier_ministre ; WHERE : Le mot clef "WHERE" permet de mettre des conditions à la requête, qui permettent de sélectionner certaines lignes. Les conditions sont des comparaisons entre les champs. Elément Description > Plus grand que >= Plus grand ou égal à < Plus petit que <= Plus petit ou égal à = Égal à <> Différent de Exemple 1 : SELECT * FROM table_eleve WHERE age >= 8 ; Exemple 2 : SELECT * M.JAZOULI 5 FROM table_eleve WHERE age <> 9 ; Exemple 3 : SELECT * FROM table_eleve WHERE nom = ‘Jean’ ; LIKE : L'opérateur LIKE est utilisé dans une clause WHERE pour rechercher un motif spécifié dans une colonne. Il y a deux jokers utilisés conjointement avec l'opérateur LIKE: % - Le signe pour cent représente zéro, un ou plusieurs caractères _ - Le trait de soulignement représente un seul caractère Syntaxe : SELECT column1, column2, ... FROM table_name WHERE columnN LIKE ‘pattern’; Exemple 1: SELECT * FROM Customers WHERE CustomerName LIKE 'a%'; Exemple 2: SELECT * FROM Customers WHERE CustomerName LIKE '%a'; Exemple 3: SELECT * FROM Customers WHERE CustomerName LIKE '%or%'; Exemple 4: SELECT * FROM Customers WHERE CustomerName LIKE '_r%'; Exemple 5: SELECT * FROM Customers WHERE ContactName LIKE 'a%o'; Exemple 6: SELECT * FROM Customers WHERE CustomerName NOT LIKE 'a%'; M.JAZOULI 6 AND, OR et NOT: Chaîner des conditions avec les mots clef "AND" (et), "OR" (ou inclusif, c'est-à-dire que si les 2 conditions sont vraies ensemble, la condition est vérifiée). La clause WHERE peut être combinée avec AND, OR et NOT. Les opérateurs AND et OR sont utilisés pour filtrer les enregistrements en fonction de plus d'une condition: L'opérateur et affiche un dossier si toutes les conditions séparées par ET est vrai. L'opérateur OU affiche un enregistrement si l'une des conditions séparées par OR est vrai. L'opérateur NOT affiche un enregistrement si la condition (s) est pas vrai. And Syntaxe : SELECT column1, column2, ... FROM table_name WHERE condition1 AND condition2 AND condition3 ...; Exemple : SELECT * FROM Customers WHERE Country='Germany' AND City='Berlin'; Or Syntaxe : SELECT column1, column2, ... FROM table_name WHERE condition1 OR condition2 OR condition3 ...; Exemple : SELECT * FROM Customers WHERE City='Berlin' OR City='München'; Syntaxe NOT SELECT column1, column2, ... FROM table_name WHERE NOT condition; Exemple : SELECT * FROM Customers WHERE NOT Country='Germany'; La combinaison AND, OR et NOT : Exemple 1 : SELECT * FROM table_eleve WHERE (age = 7 OR age = 9) AND nom Like ‘J%’ ; M.JAZOULI 7 Exemple 2 : SELECT * FROM table_eleve WHERE age = 7 OR nom Like ‘J%’ ; IN et NOT IN : L'opérateur IN vous permet de spécifier plusieurs valeurs dans une clause WHERE. Syntaxe : SELECT column_name(s) FROM table_name WHERE column_name IN (value1, value2, ...); Ou SELECT column_name(s) FROM table_name WHERE column_name IN (SELECT STATEMENT); Exemple 1 : SELECT * FROM Customers WHERE Country IN ('Germany', 'France', 'UK'); Exemple 2 : SELECT * FROM Customers WHERE Country NOT IN ('Germany', 'France', 'UK'); Exemple 3 : SELECT * FROM Customers WHERE Country IN (SELECT Country FROM Suppliers); M.JAZOULI 8 BETWEEN : Le BETWEEN opérateur sélectionne des valeurs dans une plage donnée. Les valeurs peuvent être des nombres, du texte ou des dates. Syntaxe : SELECT column_name(s) FROM table_name WHERE column_name BETWEEN value1 AND value2; Exemple : Pour sélectionner les élèves qui ont entre 6 et 8 ans : SELECT * FROM table_eleve WHERE age BETWEEN 6 AND 8 ; NOT BETWEEN : Utiliser pour afficher les produits en dehors de la gamme Exemple 1 : SELECT * FROM Products WHERE Price NOT BETWEEN 10 AND 20; Exemple 2 : SELECT * FROM Products WHERE (Price BETWEEN 10 AND 20) AND NOT CategoryID IN (1,2,3); IS NULL : Permet de sélectionner les valeurs nulles. Exemple : SELECT * FROM table_client WHERE adresse IS NULL ; Le résultat sera l'ensemble des enregistrements de la table_client où les adresses sont nulles. IS NOT NULL Permet de sélectionner uniquement ceux qui n'ont pas la valeur nulle. Exemple : SELECT * FROM table_client WHERE adresse IS NOT NULL ; Cette fois nous avons l'ensemble des enregistrements de la table_client qui ont une adresse. M.JAZOULI 9 2- Jointures : Les jointures permettent d'assembler les champs de différentes tables. Une clause JOIN est utilisée pour combiner les lignes à partir de deux ou plusieurs tables, sur la base d'une colonne liée entre eux. Exemple : SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate FROM Orders INNER JOIN Customers ON Orders.CustomerID=Customers.CustomerID; Les différents types de jointures SQL : Voici les différents types de JOIN dans SQL: (INNER) REJOIGNEZ : Retourne les enregistrements qui ont des valeurs correspondantes dans les deux tableaux GAUCHE (EXTERNE) INSCRIPTION : Retour tous les enregistrements de la table de gauche, et les enregistrements appariés de la table droite DROIT (EXTÉRIEUR) INSCRIPTION : Retour tous les enregistrements de la table de droite, et les enregistrements appariés de la table gauche COMPLET (EXTÉRIEUR) INSCRIPTION : Retour tous les records quand il y a un match à l'une des tables gauche ou à droite M.JAZOULI 10 M.JAZOULI 11 Jointure interne : Une jointure interne permet de sélectionner les enregistrements ayant des correspondances entre deux fichiers joints. Exemple Nous avons une table "eleves" : id_eleve nom age 1 Paul 8 2 Jean 7 3 Jacques 8 4 Sylvie 9 5 Steve 8 6 Julie 7 Une table "branches" : id_branche nom 1 Francais 2 Histoire 3 Math Et une table "notes” : id_note id_eleve id_branche note 1 1 uploads/Geographie/ partie-2-lmd-module-sgbdr1.pdf
Documents similaires










-
35
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Mai 25, 2022
- Catégorie Geography / Geogra...
- Langue French
- Taille du fichier 1.4714MB