SQL query - 1 / D. Berrabah SQL : interrogation de BD Requêtes d'interrogation simples Requêtes complexes Agrégats et groupement.

Slides:



Advertisements
Présentations similaires
Optimisation des requêtes
Advertisements

SQL - Subtilités.
STS2 - Révision des requêtes de sélection2/9/2003 Forme d'une requête de Sélection nSELECT nFROM nWHERE nGROUP BY nHAVING nORDER BY.
Algèbre relationnelle
Programme Introduction aux BD et aux SGBD Le modèle relationnel
Année universitaire Système dinformation Le SQL (Structured Query Language) langage dinterrogation dune base de données.
LMD: Langage de Manipulation de Données
LE LANGAGE SQL Langage de manipulation de données (LMD)
2 Ils associent les rangées de 2 requêtes UNION [ALL] INTERSECT MINUS.
Les requêtes Les requêtes permettent dinterroger une base de données suivant 3 opérateurs : La projection Affiche le contenu dun champ complet En langage.
SELECT {* | Expression [Alias] [,...] } FROM Table [WHERE Condition] [ORDER BY { Expression | Alias } [ ASC | DESC ] [NULLS FIRST | NULLS LAST ] [,...]
Algèbre relationnelle
Cours N°2 Base de Données & Langage SQL
1 SQL: Requêtes, Programmation et Triggers Chapitre 5, Sections
1 SQL: Requêtes, Programmation et Triggers Chapitre 5, Sections 15.5.
1 SQL: Requêtes, Programmation et Triggers Chapitre 5, Sections
Manipulation des données Requêtes simples
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 SQL: Requêtes, Programmation et Triggers Chapitre 5, Sections 15.5.
Traduction des opérations sous MySQL
Access Les requêtes Table médias Table (*) Requêtes simples.
Cours 5: Sous requetes Exploitation des données Présentation  Supposez que vous voulez écrire une requête pour trouver qui a un salaire plus.
Optimisation de requêtes
Sous-Interrogations.
Module 7 : Utilisation de requêtes élaborées
Sélection de colonnes (la projection)
Quinio1 Bases de données : modèlisation et SGBD Séance 3 B Quinio.
Langage Relationnel Graphe de Requêtes
Structured Query Language 1/34. SQL Types de données Langage de Définition de Données (LDD) Langage de Manipulation de Données (LDM) Langage de Contrôle.
Initiation aux bases de données et à la programmation événementielle Cours N°2 : langage d’interrogation de données. (Les requêtes statistiques et autres).
Complément sous-requêtes
Op é rateurs ensemblistes Module 4. 2 La clause GROUP BY La clause GROUP BY est nécessaire dès que l'on utilise des fonctions de calculs statistiques.
Le Langage d ’ Interrogation des donn é es (LID) Module 2.
1 Les bases de données Séance 6 L ’extraction de données Le SELECT.
Les fonctions et les regroupements B.T.S. S.I.O – SI3 – 1.
Les sous-requêtes ou requêtes imbriquées B.T.S. S.I.O – SI3 – 1.
1- Introduction 1ère partie Le langage SQL 2- Connexion 3- Structure & Contenu 4- Requêtes.
Algèbre relationnelle - 1 / Djamel Berrabah Algèbre relationnelle Modèle relationnel : rappel Algèbre relationnelle.
SQL query - 1 UPMC - UFR 919 Ingéniérie - Cours Bases de données (BD-L3) SQL : interrogation de BD Requêtes d'interrogation simples Requêtes complexes.
Calcul et SQL - 1 / Djamel Berrabah Calcul relationnel et SQL Calcul relationnel à variables « n-uplet » Calcul relationnel à variables « domaine » Query.
Initiation aux bases de données et à la programmation événementielle
Langage de manipulation de données (LMD)
Structured Query Language
Les bases de données et le modèle relationnel
Langage de Manipulation des Données LMD
Langage d’interrogation des Données LID
SQL LID – INTERROGATIN DES DONNEES
Maria Berger - Maîtrise d'AES Algèbre relationnelle.
Manipulation D’Une Base De Données
Calcul Relationnel Chapitre 4, Section 4.3.
Langage d’interrogation des Données LID
SQL Structured Query Language
Cours de bases de données
1 Copyright © 2004, Oracle. Tous droits réservés. Extraire des données à l'aide de l'instruction SQL SELECT.
2 Copyright © 2004, Oracle. Tous droits réservés. Restreindre et trier les données.
4 Copyright © 2004, Oracle. Tous droits réservés. Afficher des données agrégées à l'aide des fonctions de groupe.
5 Copyright © 2004, Oracle. Tous droits réservés. Afficher des données de plusieurs tables.
6 Copyright © 2004, Oracle. Tous droits réservés. Utiliser des sous-interrogations pour résoudre des interrogations.
7 Copyright © 2004, Oracle. Tous droits réservés. Utiliser les opérateurs ensemblistes.
Préface Introduction Objectifs du chapitre I-2 Objectifs du cours I-3 Oracle10g I-4 Oracle Database 10g I-6 Oracle Application Server 10g I-7 Oracle Enterprise.
C Copyright © 2004, Oracle. Tous droits réservés. Syntaxe des jointures Oracle.
Remarque : Un nombre ou une lettre en gras fait référence à un chapitre entier ou à une annexe entière. A Affichage des dates par défaut 02-06, Ajouter.
Langage d’interrogation des Données Les fonctions de groupes
Algèbre relationnelle
© Robert Godin. Tous droits réservés.
SQL InfoBanque 16/11/2018 Halim M'SILTI.
5 Introduction au modèle relationnel 5.1 Concepts de base
Les Requêtes S.Q.L « Structured Query Language). SQL Historique.
Opérateurs Ensemblistes
LINQ. LINQ (Language-Integrated Query) est une nouveauté du.NET Framework 3.5 C’est le nom d’un ensemble de technologies basé sur l’intégration de fonctions.
Transcription de la présentation:

SQL query - 1 / D. Berrabah SQL : interrogation de BD Requêtes d'interrogation simples Requêtes complexes Agrégats et groupement

SQL query - 2 / D. Berrabah Requêtes d'interrogation SQL Structure de base d’une requête SQL simples : SELECTvar i.A ik, … attributs FROM R i1 var 1, R i2 var 2 … variables n-uplet WHEREP prédicat/condition où: La variable n-uplet var i « appartient » à la table R ij : R i1 (var 1 ) Les variables dans la projection (clause SELECT) et dans la condition (clause WHERE) doivent être liées dans la clause FROM. Simplifications : Si var j n’est pas spécifiée, alors la variable s’appelle par défaut R ij. Si une seule variable n-uplet possède l’attribut A, on peut écrire plus simplement A (non-ambiguïté).

SQL query - 3 / D. Berrabah Prédicats Prédicats simples : Expression1  Expression2 où Expression1 peut être un attribut ou une expression arithmétique impliquant des attributs,  = {, =, =, <>} et Expression2 une expression ou une valeur de domaine Exemples : R.Name = ‘J. Doe’ (S.Age + 30) >= 65 R.A = S.B Prédicats composés : prédicats simples combinés avec les connecteurs logiques AND, OR, NOT

SQL query - 4 / D. Berrabah

SQL query - 5 / D. Berrabah

SQL query - 6 / D. Berrabah

SQL query - 7 / D. Berrabah

SQL query - 8 / D. Berrabah SQL : interrogation de BD Requêtes d'interrogation simples Requêtes complexes Agrégats et groupement

SQL query - 9 / D. Berrabah Trois opérations ensemblistes : union UNION différence − EXCEPT intersection INTERSECT Par défaut, les opérations ensemblistes éliminent les doublons (ensemble). Pour garder les doublons (multi-ensemble), il faut ajouter ALL après l’opérateur : UNION ALL, EXCEPT ALL, INTERSECT ALL Les types des deux tables doivent être “compatibles” : même nombre d'arguments du même type. Exceptions Oracle : EXCEPT est remplacé par MINUS; uniquement UNION ALL est implanté. SQL : Opérateurs ensemblistes

SQL query - 10 / D. Berrabah

SQL query - 11 / D. Berrabah

SQL query - 12 / D. Berrabah Requête imbriquée dans la clause WHERE d'une requête externe: SELECT … FROM … WHERE [Opérande] Opérateur (SELECT … FROM … WHERE …) Opérateurs ensemblistes : (A 1,…A n ) IN : appartenance ensembliste EXISTS : test d’existence (réponse non-vide) (A 1,…A n ) [ALL|ANY] : comparaison avec quantificateur (ANY par défaut) SQL : Requêtes imbriquées

SQL query - 13 / D. Berrabah SELECT … FROM … WHERE (A 1,…,A n )[NOT] IN (SELECT B 1,…,B n FROM … WHERE …) Sémantique : la condition est vraie si le n-uplet désigné par ( A 1,…, A n ) de la requête externe appartient (n’appartient pas) au résultat de la requête imbriquée. Expression « IN »

SQL query - 14 / D. Berrabah ALL/ANY SELECT … FROM … WHERE (A 1,…,A n )  ALL/ANY (SELECT B 1,…,B n FROM … WHERE …) On peut utiliser une comparaison  {, >=, <>} et ALL (  ) ou ANY (  ) La condition est alors vraie si la comparaison est vraie pour tous les n-uplets (ALL) ou au moins un n-uplet (ANY) de la requête imbriquée. Comment peut-on exprimer « IN » avec ALL/ANY?

SQL query - 15 / D. Berrabah

SQL query - 16 / D. Berrabah SELECT … FROM … WHERE (NOT) EXISTS (SELECT * FROM … WHERE P) Sémantique : pour chaque n-uplet x de la requête externe Q, exécuter la requête interne Q’; s'il existe au moins un n-uplet y dans le résultat de la requête interne, alors sélectionner x. Les deux requêtes sont généralement corrélées (x est une variable dans Q') : P dans la requête interne Q’ exprime une jointure entre les tables de Q’ et les tables de la requête externe Q. Expression “EXISTS” Q Q’

SQL query - 17 / D. Berrabah

SQL query - 18 / D. Berrabah SQL : interrogation de BD Requêtes d'interrogation simples Requêtes complexes Agrégats et groupement

SQL query - 19 / D. Berrabah Fonction d'agrégation : calculer une seule valeur numérique à partir d'un ensemble de n-uplets : COUNT : nombre de valeurs / n-uplets SUM : somme des valeurs MAX : valeur maximale MIN : valeur minimale AVG : moyenne des valeurs SELECTAggFunc(A i ), …, AggFunc(A j ) FROMR 1,..., R m WHEREP SQL : Fonctions d'agrégation

SQL query - 20 / D. Berrabah

SQL query - 21 / D. Berrabah

SQL query - 22 / D. Berrabah Requêtes de groupement : GROUP BY Pour partitionner les n-uplets résultats en fonction des valeurs de certains attributs : SELECTA i, …, A n, aggr1, aggr2, … FROMR 1, …, R m WHEREP GROUP BY A j …, A k Règle: tous les attributs projetés ( A i, …, A n ) dans la clause SELECT qui ne sont pas impliqués dans une opération d'agrégation doivent être inclus dans l'ensemble des attributs ( A j …, A k ) de la clause GROUP BY (qui peut avoir d’autres attributs en plus)

SQL query - 23 / D. Berrabah GROUP BY SELECTA1, B1, sum(A2) FROMR 1, R 2 WHEREA1 < 3 GROUP BY A1, B1 R1 A1 A2 R2 B1 A1 A2 B1 A1 A2 B1 group by from where A1 B1 sum(A2) select A1 B1 A2* a a a a a a a a a a a a a a a

SQL query - 24 / D. Berrabah

SQL query - 25 / D. Berrabah Predicats sur des groupes Pour garder les groupes (partitions) qui satisfont une certaine condition : SELECTA i, …, A n FROMR 1, …, R m WHEREP GROUP BY A j …, A k HAVINGQ Règle : La condition Q porte généralement sur des valeurs atomiques retournées par un opérateur d'agrégation sur les attributs qui n’apparaissent pas dans le GROUP BY

SQL query - 26 / D. Berrabah