Module 7 : Utilisation de requêtes élaborées

Slides:



Advertisements
Présentations similaires
Bases de Données Avancées: Bases de Données Relationnelles
Advertisements

Manipulation des données dans SQL
Année universitaire Système dinformation Le SQL (Structured Query Language) langage dinterrogation dune base de données.
Faculté I&C, Claude Petitpierre, André Maurer Bases de données SQL (Structured Query Language)
LE LANGAGE SQL : LDD La création de tables L’ordre CREATE CREATE TABLE nom_de_table (Nom_colonne Type_colonne, Nom_colonne Type_colonne,
LMD: Langage de Manipulation de Données
AYARI Mejdi Formation 2121 * ISD * 1 tructured uery Anguage 2006.
Faculté I&C, Claude Petitpierre, André Maurer Bases de données SQL (Structured Query Language)
L’utilisation des bases de données
T ECHNOLOGIES O RACLE Manipulation des données © sebvita.com.
Copyright Oracle Corporation, Tous droits réservés. 9 Écriture de Sous- Interrogations Synchronisées.
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 ] [,...]
L’utilisation des bases de données
SQL Partie 3 : (LID : Langage d'interrogation de données)
1 CSI 2532 Lab3 6 Février 2012 Programmation avancée SQL.
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 SQL jointure PHILIPPE BANCQUART.
Limiter et trier des données
Introduction Le SQL (Structured  Query Language) est un langage universel de gestion des bases de données. Il a une triple fonction : LDD Langage de Définition.
 CREATE TABLE  DROP TABLE  ALTER TABLE  INSERT  UPDATE  DELETE  SELECT interrogation 2 Instruction de mise à jour structure.
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 Transac SQL Intégrité des données.
JDBC L'API JDBC est utilisée pour utilisée pour intéragir avec une base de données.
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.
SQL (deuxième partie) Langage de manipulation de données (LMD) Chap 4.6 p 107.
Objectifs A la fin de ce chapitre, vous pourrez : présenter l'utilisation d'opérations de chargement de données par chemin direct décrire l'utilisation.
Module 12 : Implémentation de procédures stockées.
Surveiller et résoudre le conflit de verrouillage
Manipulation des Données
1 PHP 5 Notions fondamentales (cours #5) Formation continue – Cégep de Sainte-Foy.
Sous-Interrogations.
Module 4 : Implémentation de l'intégrité des données.
Sélection de colonnes (la projection)
Module 13 : Implémentation de déclencheurs. Vue d'ensemble Présentation des déclencheurs Définition de déclencheurs Exemples de déclencheurs Performances.
XT-SOFT SQL-EDITOR. 2 Menu d’Accueil 3 4 Aide à la Sélection de Tables.
Les Contraintes.
SQL : Langage de Manipulation des données
Copyright  Oracle Corporation, Tous droits réservés. 2 Sélection et Tri des Lignes Retournées par un SELECT.
Création et Gestion de Tables
Module 1 : Vue d'ensemble de Microsoft SQL Server
3 Copyright © Oracle Corporation, Tous droits réservés. Créer des fonctions.
Les vues Une vue: c’est une relation virtuelle. Définie par:
Module 7 : Restauration de bases de données
Le langage SQL. Voir polycopié: Introduction à SQL SQL.
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.
Les bases de données Séance 8 Jointures.
Module 11 : Implémentation de vues. Vue d'ensemble Présentation d'une vue Avantages liés aux vues Définition de vues Modification de données à l'aide.
Le Langage de Manipulation de Données LMD. 2 Les ordres SQL de manipulation INSERT –Insertion (ajout) de ligne(s) dans une table –Utiliser SQL*LOAD pour.
MANIPULATION DES DONNEES : mise à jour des n-uplets.
Module 3 : Gestion des fichiers de base de données
Le langage SQL.
Initiation aux bases de données et à la programmation événementielle
NIVEAU LOGIQUE Vues. Fenêtre dynamique sur la base Ses données proviennent d'autres tables ou d'autres vues.
Complément sous-requêtes
INTRODUCTION AUX BASES DE DONNEES Base et métabase
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.
Cours n°2 Implémentation et exploitation
Le Langage d ’ Interrogation des donn é es (LID) Module 2.
Les vues, indexes, séquences.  Qu’est ce qu’une vue 1. Une vue est une vision partielle ou particulière des données d'une ou plusieurs tables de la base.
Le Langage de Manipulation de Données LMD Module 6.
SQL Partie 2. SQL est un langage de manipulation de données SQL est un langage de manipulation de données (LMD), cela signifie qu'il permet de sélectionner,
Modélisation et utilisation Aurélien Marion1 Aurélien Marion
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 4 Support de cours rédigé par Bernard COFFIN Université.
1 Les bases de données Séance 5 -- Le Langage de Définition de Données ou la manœuvre de la structure de la base -- Le Langage de Manœuvre de Données.
1 Les bases de données Séance 6 L ’extraction de données Le SELECT.
Les sous-requêtes ou requêtes imbriquées B.T.S. S.I.O – SI3 – 1.
SQL query - 1 / D. Berrabah SQL : interrogation de BD Requêtes d'interrogation simples Requêtes complexes Agrégats et groupement.
2 Copyright © 2004, Oracle. Tous droits réservés. Restreindre et trier les données.
Transcription de la présentation:

Module 7 : Utilisation de requêtes élaborées

Vue d'ensemble Présentation des sous-requêtes Sous-requêtes imbriquées Sous-requêtes corrélées Utilisation des mots clés EXISTS et NOT EXISTS Modification des données

Présentation des sous-requêtes Raisons motivant l'utilisation de sous-requêtes Elle permettent de décomposer une requête complexe en une série d'étapes logiques Elles permettent de répondre à une requête qui repose sur les résultats d'une autre requête Raisons motivant l'utilisation de jointures à la place de sous-requêtes SQL Server exécute les jointures plus vite que les sous-requêtes

Utilisation de sous-requêtes Vous devez mettre les sous-requêtes entre parenthèses Vous ne pouvez utiliser qu'une seule expression ou un seul nom de colonne dans la liste de sélection Vous pouvez utiliser des sous-requêtes à la place d'une expression Vous ne pouvez utiliser de sous-requêtes dans les colonnes qui contiennent des données de type texte et image Le nombre de niveaux de sous-requêtes est illimité

Sous-requêtes imbriquées Renvoi d'une valeur unique Renvoi d'une liste de valeurs

Renvoi d'une valeur unique La sous-requête remplace une expression dans : la liste de sélection la clause WHERE introduite à l'aide d'un opérateur de comparaison USE northwind SELECT orderid, customerid FROM orders WHERE orderdate = (SELECT max(orderdate) FROM orders)

Renvoi d'une liste de valeurs La sous-requête remplace une expression dans : la clause WHERE introduite avec le mot clé IN USE northwind SELECT companyname FROM customers WHERE customerid IN (SELECT customerid FROM orders WHERE orderdate >'1/1/95')

Sous-requêtes corrélées La requête interne repose sur les informations provenant de la requête externe Utilisez des alias pour distinguer les tables Envisagez d'utiliser des jointures

Évaluation d'une sous-requête corrélée La requête externe passe une valeur de colonne à la requête interne 1 La requête interne utilise les valeurs transmises par la requête externe 2 SELECT orderid, customerid FROM orders or1 WHERE 20 < (SELECT quantity FROM [order details] od WHERE or1.orderid = od.orderid AND od.productid = 23) La requête interne renvoie une valeur à la requête externe 3 Ce processus se répète pour la valeur de colonne suivante de la requête externe 4 Retour à l'étape 1

Utilisation des mots clés EXISTS et NOT EXISTS Utilisation avec des sous-requêtes corrélées Détermination de l'existence de données dans une liste de valeurs Traitement de SQL Server La requête externe vérifie l'existence des lignes La requête interne renvoie la valeur True ou False Aucune donnée n'est produite USE northwind SELECT lastname, employeeid FROM employees e WHERE EXISTS (SELECT * FROM orders WHERE e.employeeid = orders.employeeid AND orderdate = '9/5/97')

Modification des données Utilisation de l'instruction INSERT … SELECT Suppression de lignes à l'aide des données contenues dans d'autres tables Mise à jour de lignes à l'aide des données contenues dans d'autres tables

Utilisation de l'instruction INSERT … SELECT Toutes les lignes qui répondent aux conditions de l'instruction SELECT sont insérées Vérifiez que la table dans laquelle sont insérées les lignes existe Vérifiez que les types de données sont compatibles Déterminez si des valeurs par défaut existent ou si les valeurs nulles sont autorisées USE northwind INSERT customers SELECT substring (firstname, 1, 3) + substring (lastname, 1, 2), lastname, firstname, title, address, city, region, postalcode, country, homephone, NULL FROM employees

Suppression de lignes à l'aide des données contenues dans d'autres tables Utilisation d'une clause FROM supplémentaire La première clause FROM indique la table à modifier La deuxième clause FROM spécifie les critères restrictifs de l'instruction DELETE Spécification de conditions dans la clause WHERE Les sous-requêtes déterminent les lignes à supprimer

Mise à jour de lignes à l'aide des données contenues dans d'autres tables Utilisation de l'instruction UPDATE Ne met à jour les lignes qu'une fois Met à jour les colonnes ou noms de variables qui suivent le mot clé SET Utilisation de jointures Utilise la clause FROM Utilisation de sous-requêtes Renvoie une valeur unique par ligne

Conseils pratiques Utilisez les sous-requêtes pour décomposer une requête complexe Utilisez des alias de nom de table pour les sous-requêtes corrélées Utilisez l'instruction INSERT … SELECT pour ajouter des lignes d'autres sources dans une table existante

Atelier 7.1 : Utilisation de requêtes élaborées

Contrôle des acquis Présentation des sous-requêtes Sous-requêtes imbriquées Sous-requêtes corrélées Utilisation des mots clés EXISTS et NOT EXISTS Modification des données