C Copyright © 2004, Oracle. Tous droits réservés. Syntaxe des jointures Oracle.

Slides:



Advertisements
Présentations similaires
Techniques dindexation Implémentation du modèle relationnel ~ LIF10: Fondements des bases de données relationnelles.
Advertisements

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,
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.
Limiter et trier des données
Chapitre 5 : Le langage SQL
Traduction des opérations sous MySQL
Access Les requêtes Table médias Table (*) Requêtes simples.
 C'est une fenêtre par laquelle les informations d'une table peuvent être visualisées et changées.  C'est une table virtuelle: ◦ elle n'existe pas ◦
Sous-Interrogations.
Sélection de colonnes (la projection)
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.
Copyright  Oracle Corporation, Tous droits réservés. 11 Extraction Hiérarchique.
Le Langage d ’ Interrogation des donn é es (LID) Module 2.
Le Langage de Manipulation de Données LMD Module 6.
CONCEPTS BD - Synthèse journée 1 :
1 Les bases de données Séance 6 L ’extraction de données Le SELECT.
1- Introduction 2ème partie Modèle Conceptuel des Données 2- Entités- Associations 4- Associations plurielles 3- Cardinalités 5- Associations réflexives.
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.
1- Introduction Sommaire Modèle Logique des Données 2- Structure 3- Traduction du MCD en MLD 4- Recap - Méthodologie.
SQL : 4 fonctions d'exploitation de SGBD SQL (Structured Query Language, traduisez Langage de requêtes structuré) est un langage informatique ayant pour.
SQL query - 1 / D. Berrabah SQL : interrogation de BD Requêtes d'interrogation simples Requêtes complexes Agrégats et groupement.
Suites ordonnées ou mettre de l’ordre
Introduction au Langage Pascal
Construire des requêtes
Environnement du développement de BD ORACLE REPORTS 10g
Intégration du P7 dans l’épreuve E41
Initiation aux bases de données et à la programmation événementielle
Algorithmiques Abdelbasset KABOU
Langage de manipulation de données (LMD)
Représentation de l’information en binaire:
Collecte de données CAPI
Les bases de données et le modèle relationnel
Corrigé du TP SQL 2 Énoncé -Rappel Requête 1 :
Langage de Manipulation des Données LMD
Langages de programmation TP3
Langage d’interrogation des Données LID
SQL LID – INTERROGATIN DES DONNEES
Manipulation D’Une Base De Données
Structure D’une Base De Données Relationnelle
Langage d’interrogation des Données LID
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.
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.
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.
Description et données des tables Exercices complémentaires.
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
La jonction des phrases
Semaine 3 Retour sur la semaine 2 Plan de séance
PRESENTATION ACCESS Editeur : Microsoft Environnement Windows (SE)
© Robert Godin. Tous droits réservés.
© Robert Godin. Tous droits réservés.
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:

C Copyright © 2004, Oracle. Tous droits réservés. Syntaxe des jointures Oracle

Copyright © 2004, Oracle. Tous droits réservés. Objectifs A la fin de ce chapitre, vous pourrez : écrire des instructions SELECT afin d'accéder aux données de plusieurs tables à l'aide d'équijointures et de non-équijointures utiliser des jointures externes pour afficher les données qui ne satisfont généralement pas à une condition de jointure joindre une table à elle-même à l'aide d'une auto-jointure

Copyright © 2004, Oracle. Tous droits réservés. Obtenir des données de plusieurs tables EMPLOYEES DEPARTMENTS … …

Copyright © 2004, Oracle. Tous droits réservés. Produits cartésiens Un produit cartésien est constitué dans les cas suivants : –Une condition de jointure est omise –Une condition de jointure n'est pas valide –Toutes les lignes de la première table sont jointes à toutes les lignes de la deuxième table Pour éviter un produit cartésien, incluez toujours une condition de jointure valide dans une clause WHERE.

Copyright © 2004, Oracle. Tous droits réservés. Générer un produit cartésien Produit cartésien : 20 x 8 = 160 lignes EMPLOYEES (20 lignes) DEPARTMENTS (8 lignes) … …

Copyright © 2004, Oracle. Tous droits réservés. Equijointure Non-équijointure Jointure externe Auto-jointure Types de jointure Jointure croisée Jointure naturelle Clause USING Jointure externe complète (gauche et droite) Condition de jointure arbitraire pour la jointure externe Jointures conformes à la norme SQL:1999 Jointures propriétaires Oracle (versions 8 i et antérieures)

Copyright © 2004, Oracle. Tous droits réservés. Joindre des tables à l'aide de la syntaxe Oracle Utilisez une jointure pour interroger des données provenant de plusieurs tables : Ecrivez la condition de jointure dans la clause WHERE. Préfixez le nom de la colonne avec le nom de la table lorsque le même nom de colonne apparaît dans plusieurs tables. SELECTtable1.column, table2.column FROMtable1, table2 WHEREtable1.column1 = table2.column2;

Copyright © 2004, Oracle. Tous droits réservés. Equijointures EMPLOYEES DEPARTMENTS Clé étrangèreClé primaire … …

Copyright © 2004, Oracle. Tous droits réservés. SELECT employees.employee_id, employees.last_name, employees.department_id, departments.department_id, departments.location_id FROM employees, departments WHERE employees.department_id = departments.department_id; Extraire des enregistrements à l'aide d'équijointures …

Copyright © 2004, Oracle. Tous droits réservés. Conditions de recherche supplémentaires avec l'opérateur AND EMPLOYEESDEPARTMENTS … …

Copyright © 2004, Oracle. Tous droits réservés. Qualifier les noms de colonne ambigus Utilisez des préfixes qui précisent le nom de la table pour différencier les noms de colonne présents dans plusieurs tables. L'utilisation de préfixes désignant la table améliore les performances. Utilisez des alias de colonne pour distinguer les colonnes qui présentent des noms identiques, mais qui résident dans des tables différentes.

Copyright © 2004, Oracle. Tous droits réservés. SELECT e.employee_id, e.last_name, e.department_id, d.department_id, d.location_id FROM employees e, departments d WHERE e.department_id = d.department_id; Utiliser des alias de table Utilisez des alias de table pour simplifier les interrogations. L'utilisation de préfixes désignant la table améliore les performances.

Copyright © 2004, Oracle. Tous droits réservés. Joindre plus de deux tables EMPLOYEESLOCATIONSDEPARTMENTS … Pour joindre n tables, un minimum de n-1 conditions de jointure est nécessaire. Par exemple, pour joindre trois tables, un minimum de deux jointures est nécessaire.

Copyright © 2004, Oracle. Tous droits réservés. Non-équijointures EMPLOYEESJOB_GRADES Le salaire de la table EMPLOYEES doit être compris entre le salaire le plus faible et le salaire le plus élevé de la table JOB_GRADES. …

Copyright © 2004, Oracle. Tous droits réservés. Extraire des enregistrements à l'aide de non-équijointures SELECT e.last_name, e.salary, j.grade_level FROM employees e, job_grades j WHERE e.salary BETWEEN j.lowest_sal AND j.highest_sal; …

Copyright © 2004, Oracle. Tous droits réservés. Jointures externes EMPLOYEESDEPARTMENTS Le département 190 ne compte aucun employé. …

Copyright © 2004, Oracle. Tous droits réservés. Syntaxe des jointures externes Vous utilisez une jointure externe pour voir les lignes qui ne satisfont pas à la condition de jointure. L'opérateur de jointure externe est le signe plus (+). SELECTtable1.column, table2.column FROMtable1, table2 WHEREtable1.column(+) = table2.column; SELECTtable1.column, table2.column FROMtable1, table2 WHEREtable1.column = table2.column(+);

Copyright © 2004, Oracle. Tous droits réservés. SELECT e.last_name, e.department_id, d.department_name FROM employees e, departments d WHERE e.department_id(+) = d.department_id ; Utiliser des jointures externes …

Copyright © 2004, Oracle. Tous droits réservés. Auto-jointures EMPLOYEES (WORKER)EMPLOYEES (MANAGER) MANAGER_ID dans la table WORKER est égal à EMPLOYEE_ID dans la table MANAGER. … …

Copyright © 2004, Oracle. Tous droits réservés. Joindre une table à elle-même SELECT worker.last_name || ' works for ' || manager.last_name FROM employees worker, employees manager WHERE worker.manager_id = manager.employee_id ; …

Copyright © 2004, Oracle. Tous droits réservés. Synthèse Dans cette annexe, vous avez appris à utiliser des jointures pour afficher des données de plusieurs tables à l'aide de la syntaxe propriétaire Oracle pour les versions 8 i et antérieures.

Copyright © 2004, Oracle. Tous droits réservés. Présentation de l'exercice C Cet exercice porte sur l'écriture d'interrogations pour joindre des tables à l'aide de la syntaxe oracle.

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