BEN ROMDHAN Mourad ISET Nabeul OBJECTIFS : Tester quelques requêtes de Partie I: Présentation La jointure est l’opération tables. Une condition de jointure colonne dans une table ave Cette relation est souvent clé étrangère. Syntaxe: SELECT t FROM tab WHERE ta Exemple : Afficher les employés du d SELECT Employee_id, FROM Employees E, De WHERE E.department_i AND D.department_nam A e SELECT sur plusieurs tables. n n permettant d’extraire des données i e spécifie une relation existante entre ec les données d’une autre colonne d’un t établie entre des colonnes définies com table1.colonne, table2.colonne ble1, table2 able1.colonne = table2.colonne ; département 'Executive' : Last_name, E.department_id, d epartments D id = D. department_id me = 'Executive' ; TP 6: LES JOINTURES ATELIER BASES DE DONNEES issues de plusieurs e les données d’une ne autre table. mme clé primaire et department_name 1
6
Embed
TP 6: LES J...BEN ROMDHAN Mourad ISET Nabeul II.4 Jointures externes : Les jointures externes permettent d’extraire des enregistrements qui ne répondent pas aux critères de jointure.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
BEN ROMDHAN Mourad
ISET Nabeul
OBJECTIFS :
Tester quelques requêtes de SELECT sur plusieurs tables.
Partie I: Présentation
La jointure est l’opération permettant tables.
Une condition de jointure spécifie une relation existante entre les données d’une colonne dans une table avec les données d’une autre colonne d’une autre table
Cette relation est souvent établie entre des colonnes dclé étrangère.
Syntaxe:
SELECT table1.colonne, table2.colonne
FROM table1
WHERE table1.colonne = table2.colonne
Exemple:
Afficher les employés du département
SELECT Employee_id, FROM Employees E , DepWHERE E. department_idAND D. department_name
A
Tester quelques requêtes de SELECT sur plusieurs tables.
Présentation
La jointure est l’opération permettant d’extraire des données issues
Une condition de jointure spécifie une relation existante entre les données d’une colonne dans une table avec les données d’une autre colonne d’une autre table
Cette relation est souvent établie entre des colonnes définies comme clé primaire et
table1.colonne, table2.colonne table1, table2
table1.colonne = table2.colonne ;
employés du département 'Executive' :
Last_name, E.department_id, depart
, Dep artments D ment_id = D. department_id
ment_name = 'Executive' ;
TP 6: LES JOINTURES
ATELIER BASES DE DONNEES
des données issues de plusieurs
Une condition de jointure spécifie une relation existante entre les données d’une colonne dans une table avec les données d’une autre colonne d’une autre table.
éfinies comme clé primaire et
department_name
1
ATELIER BASES DE DONNEES
BEN ROMDHAN Mourad
ISET Nabeul
Application: (base de données HR)
1. Rechercher le prénom, le salaire et le travail des employés.
À l’inverse des équijointures, la clause d’une non-équijointure n’est pas basée sur l’égalité de clés primaires et de clés étrangères.
Exemple:
La liste des employés qui ont un salaire compris entre salaire min et max.
EMPLOYEES JOBS
SELECT Employee_id, LAST_NAME, Salary FROM Employees E, Jobs J WHERE E.salary BETWEEN J.min_salary AND J.max_salary ;
Le salaire SALARY doit être compris entre MIN_SALARY et MAX_SALARY
de la table JOBS
4
BEN ROMDHAN Mourad
ISET Nabeul
II.4 Jointures externes:
Les jointures externes permettent d’extraire des enregistrements qui ne répondent pas aux critères de jointure. Lorsque deux tables sont en jointure externe, une table est « dominante » par rapport à l’autre. dominante qui sont retournés
E
Exemple:
Liste des employés avec leurs départements, même
SELECT LAST_NAMEFROM Employees EON (E. Department_id
SELECT A.*,B.* FROM A LEFT JOIN B ON (A.KEY = B.KEY);
SELECT A.*,B.* FROM A LEFT JOIN B ON (A.KEY = B.KEY) WHERE B.KEY IS NULL;
A
:
Les jointures externes permettent d’extraire des enregistrements qui ne répondent critères de jointure. Lorsque deux tables sont en jointure externe, une table
minante » par rapport à l’autre. Ce sont les enregistrements de la tabledominante qui sont retournés même s’ils ne satisfont pas aux conditions de jointure.
Liste des employés avec leurs départements, même les département
LAST_NAME, D.Department_id, D. department_nameEmployees E RIGHT OUTER JOIN Departments
Department_id = D. Department_id)
SELECT A.*,B.* FROM A RIGHT JOIN B ON (A.KEY = B.KEY);
SELECT A.*,B.*FROM A
ON (A.KEY = B.KEY);
SELECT A.*,B.* FROM A RIGHT JOIN B ON (A.KEY = B.KEY) WHERE A.KEY IS NULL;
SELECT A.*,B.*FROM A
ON (A.KEY = B.KEY)WHERE A.KEY IS NULLB.KEY IS NULL;
ATELIER BASES DE DONNEES
Les jointures externes permettent d’extraire des enregistrements qui ne répondent critères de jointure. Lorsque deux tables sont en jointure externe, une table
Ce sont les enregistrements de la table pas aux conditions de jointure.
départements sans employés
department_name Departments D
SELECT A.*,B.* FULL OUTER JOIN B
ON (A.KEY = B.KEY);
SELECT A.*,B.* FULL OUTER JOIN B
(A.KEY = B.KEY) A.KEY IS NULL OR
B.KEY IS NULL;
5
ATELIER BASES DE DONNEES
BEN ROMDHAN Mourad
ISET Nabeul
Partie III: Exercice (base vente)
1. Le numéro, adresse du Client et noCommande pour les Commandes faites le 4/06/2000.
6. Le numéro des commandes effectuées le 4/06/2000 qui contiennent au moins deux lignes de commandes. Le résultat doit être trié par le numéro de commande.