6 Copyright © 2004, Oracle. Tous droits réservés. Utiliser des sous-interrogations pour résoudre des interrogations.

Slides:



Advertisements
Présentations similaires
Regrouper les Données avec les Fonctions de Groupe
Advertisements

Copyright Oracle Corporation, Tous droits réservés. 9 Écriture de Sous- Interrogations Synchronisées.
SELECT {* | Expression [Alias] [,...] } FROM Table [WHERE Condition] [ORDER BY { Expression | Alias } [ ASC | DESC ] [NULLS FIRST | NULLS LAST ] [,...]
Limiter et trier des 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.
Sous-Interrogations.
Module 7 : Utilisation de requêtes élaborées
6 Copyright © Oracle Corporation, Tous droits réservés. Autres concepts relatifs aux packages.
Sélection de colonnes (la projection)
Gérer les rôles.
Afficher des Données Issues de Plusieurs Tables
Copyright  Oracle Corporation, Tous droits réservés. 2 Sélection et Tri des Lignes Retournées par un SELECT.
3 Copyright © Oracle Corporation, Tous droits réservés. Créer des fonctions.
4 Copyright © Oracle Corporation, Tous droits réservés. Gérer les sous-programmes.
Le langage SQL. Voir polycopié: Introduction à SQL SQL.
Copyright  Oracle Corporation, Tous droits réservés. 11 Extraction Hiérarchique.
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.
1 Les bases de données Séance 6 L ’extraction de données Le SELECT.
1- Introduction 1ère partie Le langage SQL 2- Connexion 3- Structure & Contenu 4- Requêtes.
SQL partie 5 1 LMD create – update – primary key secondary key.
SQL query - 1 / D. Berrabah SQL : interrogation de BD Requêtes d'interrogation simples Requêtes complexes Agrégats et groupement.
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.
IRIDOC 2 : tutoriel de formation à la recherche documentaire Outils méthodologiques > Les opérateurs logiques.
Intégration web & Base de données 1 Intégration Web & Base de DonnéesMariem Farhat Intérêt des bases de données pour le Web Cours préparé par : Mariem.
Ajouter le code dans une page html
Construire des requêtes
Environnement du développement de BD ORACLE REPORTS 10g
Intégration du P7 dans l’épreuve E41
Chapitre 1 nombres, chaînes de caractères, booléens, et VARIABLES
Initiation aux bases de données et à la programmation événementielle
Langage de manipulation de données (LMD)
Oracle.
Les bases de données et le modèle relationnel
Langage de Manipulation des Données LMD
Un Algorithme , c'est Quoi ?
Outils méthodologiques
Langages de programmation TP3
Langage d’interrogation des Données LID
SQL LID – INTERROGATIN DES DONNEES
Manipulation D’Une Base De Données
Langage d’interrogation des Données LID
À l’origine de la réglementation CLP 2003: Le GHS (Global Harmonized System) le système général harmonisé de classification et de l’étiquetage des produits.
I Copyright © 2004, Oracle. Tous droits réservés. Introduction.
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.
3 Copyright © 2004, Oracle. Tous droits réservés. Utiliser des fonctions monoligne afin de personnaliser la sortie.
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.
7 Copyright © 2004, Oracle. Tous droits réservés. Utiliser les opérateurs ensemblistes.
8 Copyright © 2004, Oracle. Tous droits réservés. Manipuler les données.
9 Copyright © 2004, Oracle. Tous droits réservés. Utiliser des instructions LDD pour créer et gérer des tables.
10 Copyright © 2004, Oracle. Tous droits réservés. Créer d'autres objets de schéma.
11 Copyright © 2004, Oracle. Tous droits réservés. Gérer les objets à l'aide de vues du dictionnaire de données.
Préface. Préface-3 Profil Avant de commencer Avant de commencer ce cours, vous devez savoir utiliser une interface graphique. Vous devez en outre être.
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.
D Copyright © 2004, Oracle. Tous droits réservés. Utiliser SQL*Plus.
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
© Robert Godin. Tous droits réservés.
SQL InfoBanque 16/11/2018 Halim M'SILTI.
SIO SI3 : Exploitation des données
Semaine 3 Retour sur la semaine 2 Plan de séance
© Robert Godin. Tous droits réservés.
Langage SQL ENCG-Tanger Le Langage SQL (1) INTRODUCTION
Systèmes d’Information et Application
> > < < Inéquations I) Deux règles fondamentales
DONNÉE DE BASE QM Manuel de formation. Agenda 2  Introduction  Objectif de la formation  Données de base QM: Caractéristique de contrôle Catalogue.
Opérateurs Ensemblistes
Transcription de la présentation:

6 Copyright © 2004, Oracle. Tous droits réservés. Utiliser des sous-interrogations pour résoudre des interrogations

Copyright © 2004, Oracle. Tous droits réservés. Objectifs A la fin de ce chapitre, vous pourrez : définir des sous-interrogations décrire les types de problème que les sous- interrogations permettent de résoudre répertorier les types de sous-interrogation écrire des sous-interrogations monoligne et multiligne

Copyright © 2004, Oracle. Tous droits réservés. Utiliser une sous-interrogation pour résoudre un problème Qui a un salaire plus élevé que celui d'Abel ? Quels employés ont un salaire plus élevé que celui d'Abel ? Interrogation principale : Quel est le salaire d'Abel ? Sous-interrogation :

Copyright © 2004, Oracle. Tous droits réservés. La sous-interrogation (interrogation interne) s'exécute une fois avant l'interrogation principale (interrogation externe). Le résultat de la sous-interrogation est utilisé par l'interrogation principale. SELECTselect_list FROMtable WHEREexpr operator (SELECTselect_list FROMtable); Syntaxe d'une sous-interrogation

Copyright © 2004, Oracle. Tous droits réservés. SELECT last_name FROM employees WHERE salary > (SELECT salary FROM employees WHERE last_name = 'Abel'); Utiliser une sous-interrogation 11000

Copyright © 2004, Oracle. Tous droits réservés. Règles d'utilisation des sous-interrogations Incluez les sous-interrogations entre parenthèses. Placez les sous-interrogations à droite de la condition de comparaison. La clause ORDER BY de la sous-interrogation n'est pas nécessaire, sauf si vous effectuez une analyse de type n-premiers. Utilisez des opérateurs monoligne avec les sous- interrogations monoligne, et des opérateurs multiligne avec les sous-interrogations multiligne.

Copyright © 2004, Oracle. Tous droits réservés. Types de sous-interrogation Sous-interrogation monoligne Sous-interrogation multiligne Interrogation principale Sous-interrogation renvoie ST_CLERK SA_MAN Interrogation principale Sous-interrogation renvoie

Copyright © 2004, Oracle. Tous droits réservés. Sous-interrogations monoligne Renvoient une seule ligne Utilisent des opérateurs de comparaison monoligne OpérateurSignification = Egal à > Supérieur à >= Supérieur ou égal à < Inférieur à <= Inférieur ou égal à <> Non égal à

Copyright © 2004, Oracle. Tous droits réservés. SELECT last_name, job_id, salary FROM employees WHERE job_id = (SELECT job_id FROM employees WHERE employee_id = 141) AND salary > (SELECT salary FROM employees WHERE employee_id = 143); Exécuter des sous-interrogations monoligne ST_CLERK 2600

Copyright © 2004, Oracle. Tous droits réservés. SELECT last_name, job_id, salary FROM employees WHERE salary = (SELECT MIN(salary) FROM employees); Utiliser des fonctions de groupe dans une sous-interrogation 2500

Copyright © 2004, Oracle. Tous droits réservés. SELECT department_id, MIN(salary) FROM employees GROUP BY department_id HAVING MIN(salary) > (SELECT MIN(salary) FROM employees WHERE department_id = 50); La clause HAVING avec des sous-interrogations Le serveur Oracle exécute d'abord les sous- interrogations. Le serveur Oracle renvoie les résultats dans la clause HAVING de l'interrogation principale. 2500

Copyright © 2004, Oracle. Tous droits réservés. SELECT employee_id, last_name FROM employees WHERE salary = (SELECT MIN(salary) FROM employees GROUP BY department_id); Quel est le problème de cette instruction ? ERROR at line 4: ORA-01427: single-row subquery returns more than one row Opérateur monoligne avec sous-interrogation multiligne

Copyright © 2004, Oracle. Tous droits réservés. SELECT last_name, job_id FROM employees WHERE job_id = (SELECT job_id FROM employees WHERE last_name = 'Haas'); Cette instruction renvoie-t-elle des lignes ? no rows selected La sous-interrogation ne renvoie aucune valeur.

Copyright © 2004, Oracle. Tous droits réservés. Sous-interrogations multiligne Renvoient plusieurs lignes Utilisent des opérateurs de comparaison multiligne OpérateurSignification IN Egal à un membre quelconque de la liste ANY Compare la valeur à chaque valeur renvoyée par la sous-interrogation ALL Compare la valeur à toutes les valeurs renvoyées par la sous-interrogation

Copyright © 2004, Oracle. Tous droits réservés. SELECT employee_id, last_name, job_id, salary FROM employees WHERE salary < ANY (SELECT salary FROM employees WHERE job_id = 'IT_PROG') AND job_id <> 'IT_PROG'; Utiliser l'opérateur ANY dans les sous-interrogations multiligne 9000, 6000, 4200 …

Copyright © 2004, Oracle. Tous droits réservés. SELECT employee_id, last_name, job_id, salary FROM employees WHERE salary < ALL (SELECT salary FROM employees WHERE job_id = 'IT_PROG') AND job_id <> 'IT_PROG'; Utiliser l'opérateur ALL dans les sous-interrogations multiligne 9000, 6000, 4200

Copyright © 2004, Oracle. Tous droits réservés. SELECT emp.last_name FROM employees emp WHERE emp.employee_id NOT IN (SELECT mgr.manager_id FROM employees mgr); no rows selected Valeurs NULL dans une sous-interrogation

Copyright © 2004, Oracle. Tous droits réservés.

SELECTselect_list FROMtable WHEREexpr operator (SELECT select_list FROM table); Synthèse Ce chapitre vous a permis d'apprendre à : identifier dans quels cas une sous-interrogation peut permettre de répondre à une question écrire des sous-interrogations lorsqu'une interrogation est basée sur des valeurs inconnues

Copyright © 2004, Oracle. Tous droits réservés. Présentation de l'exercice 6 Cet exercice porte sur les points suivants : créer des sous-interrogations afin d'interroger des valeurs basées sur des critères inconnus utiliser des sous-interrogations pour déterminer quelles valeurs existent dans un jeu de données et pas dans un autre

Copyright © 2004, Oracle. Tous droits réservés.