0% ont trouvé ce document utile (0 vote)
293 vues57 pages

3 Algèbre Relationnel Et Langage SQL

Transféré par

abdrahim benali
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
293 vues57 pages

3 Algèbre Relationnel Et Langage SQL

Transféré par

abdrahim benali
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Algèbre relationnel et langage SQL

EL Houssaine OUTFARDINE

CPGE Tanger
Lycee Moulay EL-Hassan
[email protected]
Introduction Projection Sélection Opérateurs Ensemblistes Autres opérateurs relationnels

Plan

1 Introduction

2 Projection

3 Sélection

4 Opérateurs Ensemblistes

5 Autres opérateurs relationnels

Algèbre relationnel et langage SQL 1 / 44


Introduction Projection Sélection Opérateurs Ensemblistes Autres opérateurs relationnels

Introduction

L’algèbre relationnelle est un ensemble d’opérateurs que l’on peut appliquer


à des relations, et dont le résultat est une relation.
Comme le résultat est toujours une relation on pourra combiner les
opérateurs : on forme ainsi, à partir d’opérateurs élémentaires, des requêtes
élaborées.

Algèbre relationnel et langage SQL 2 / 44


Introduction Projection Sélection Opérateurs Ensemblistes Autres opérateurs relationnels

Introduction

L’algèbre relationnelle possède plusieurs opérateurs :


certains sont ensemblistes (selon la théorie des ensembles)
d’autres sont relationnels (spécifiques à l’algèbre relationnelle)
On peut aussi classer les opérateurs selon qu’ils s’appliquent à une ou à
plusieurs relations (tables).

Algèbre relationnel et langage SQL 3 / 44


Introduction Projection Sélection Opérateurs Ensemblistes Autres opérateurs relationnels

Introduction

Le langage SQL permet d’interroger une base de données à l’aide de la


commande SELECT.
Cette commande permet de :
récupérer certaines colonnes (SELECT)
de certaines tables (FROM)
récupérer certaines lignes (WHERE)
regrouper certaines lignes (GROUP BY)
filtrer après le regroupement (HAVING)
trier les résultats (ORDER BY)
limiter le nombre d’enregistrements retournés (LIMIT)

Algèbre relationnel et langage SQL 4 / 44


Introduction Projection Sélection Opérateurs Ensemblistes Autres opérateurs relationnels

Projection

La projection sur une relation (table) R définit une relation T restreinte à un


sous-ensemble des attributs (colonnes) de R, en extrayant les valeurs des
attributs spécifiés et en supprimant les doublons.
Notation :
T = ΠR1 ,...,RP (R) = {ligne[R1 , ..., RP ]|ligne ∈ R}
avec R1 , ..., RP sont des attributs (colonnes) de R.

Algèbre relationnel et langage SQL 5 / 44


Introduction Projection Sélection Opérateurs Ensemblistes Autres opérateurs relationnels

Table etudiants
prenom nom filiere numero lycee_origine note_bac
Mathilde Dufour PCSI 2 Calmette 18
Lêa Dupond MPSI 2 Massena 14
Paul Dugommier PCSI 1 Massena 12
Mathilde Dugommier MPSI 1 Calmette 15
Clément Durand PCSI 1 Parc Imperial 13

πprenom,nom (etudiants)
prenom nom
Mathilde Dufour
Lêa Dupond
Paul Dugommier
Mathilde Dugommier
Clément Durand

Algèbre relationnel et langage SQL 6 / 44


Introduction Projection Sélection Opérateurs Ensemblistes Autres opérateurs relationnels

Projection

Requête SQL :
SELECT R1 , ..., Rp FROM R
ou bien
SELECT DISTINCT R1 , ..., Rp FROM R
Le mot clé DISTINCT permet de supprimer les doublons.

Algèbre relationnel et langage SQL 7 / 44


Introduction Projection Sélection Opérateurs Ensemblistes Autres opérateurs relationnels

Projection

Soit le modèle relationnel :


etudiants (Id, Nom, Prenom, Adresse, Ville, Tel)

Afficher toutes les informations des étudiants :

Algèbre relationnel et langage SQL 8 / 44


Introduction Projection Sélection Opérateurs Ensemblistes Autres opérateurs relationnels

Projection

Soit le modèle relationnel :


etudiants (Id, Nom, Prenom, Adresse, Ville, Tel)

Afficher toutes les informations des étudiants :


SELECT * FROM etudiants ;

Algèbre relationnel et langage SQL 8 / 44


Introduction Projection Sélection Opérateurs Ensemblistes Autres opérateurs relationnels

Projection

Soit le modèle relationnel :


etudiants (Id, Nom, Prenom, Adresse, Ville, Tel)

Afficher les noms et prénoms des étudiants :

Algèbre relationnel et langage SQL 9 / 44


Introduction Projection Sélection Opérateurs Ensemblistes Autres opérateurs relationnels

Projection

Soit le modèle relationnel :


etudiants (Id, Nom, Prenom, Adresse, Ville, Tel)

Afficher les noms et prénoms des étudiants :


ΠNom,Prenom (etudiants)
SELECT Nom, Prenom FROM etudiants ;

Algèbre relationnel et langage SQL 9 / 44


Introduction Projection Sélection Opérateurs Ensemblistes Autres opérateurs relationnels

Projection

Soit le modèle relationnel :


etudiants (Id, Nom, Prenom, Adresse, Ville, Tel)

Afficher les villes dans lesquelles habitent des étudiants :

Algèbre relationnel et langage SQL 10 / 44


Introduction Projection Sélection Opérateurs Ensemblistes Autres opérateurs relationnels

Projection

Soit le modèle relationnel :


etudiants (Id, Nom, Prenom, Adresse, Ville, Tel)

Afficher les villes dans lesquelles habitent des étudiants :


ΠVille (etudiants)
SELECT DISTINCT Ville FROM etudiants ;

Algèbre relationnel et langage SQL 10 / 44


Introduction Projection Sélection Opérateurs Ensemblistes Autres opérateurs relationnels

Sélection

La sélection sur une relation R définit une relation T de même schéma qui ne
contient que les tuples (lignes) de R qui satisfont à la condition (ou prédicat)
spécifiée.
Notation :

T = σcondition (R) = {ligne ∈ R| ligne satisfait condition}

Algèbre relationnel et langage SQL 11 / 44


Introduction Projection Sélection Opérateurs Ensemblistes Autres opérateurs relationnels

Sélection

La condition (prédicat) est une expression logique faisant intervenir :


les colonnes de la table
des constantes
les opérateurs de comparaison =, ̸= , <, >, ≤, ≥
les opérateurs logique ET (∧), OU (∨), NON (¬) pour faire la
combinaison de plusieurs conditions.

Algèbre relationnel et langage SQL 12 / 44


Introduction Projection Sélection Opérateurs Ensemblistes Autres opérateurs relationnels

Sélection

Table etudiants
prenom nom filiere numero lycee_origine note_bac
Mathilde Dufour PCSI 2 Calmette 18
Lêa Dupond MPSI 2 Massena 14
Paul Dugommier PCSI 1 Massena 12
Mathilde Dugommier MPSI 1 Calmette 15
Clément Durand PCSI 1 Parc Imperial 13

σfiliere=”MPSI”OUprenom=”Mathilde” (etudiants)
prenom nom filiere numero lycee_origine note_bac
Mathilde Dufour PCSI 2 Calmette 18
Lêa Dupond MPSI 2 Massena 14
Mathilde Dugommier MPSI 1 Calmette 15

Algèbre relationnel et langage SQL 13 / 44


Introduction Projection Sélection Opérateurs Ensemblistes Autres opérateurs relationnels

Sélection

Requête SQL :
SELECT R1 , ..., Rp FROM R WHERE conditions
La condition, en SQL, peut contenir les comparateurs :
= ou ! = (ou bien <>)
>, <, ≥, ≤
LIKE ’modèle’
IN (valeur1 ,. . . , valeurN )
BETWEEN . . . AND . . .
IS NULL, IS NOT NULL
AND, OR, NOT
La fonction strftime (format, time) sur les dates : ( %d : le jour, %m : le
mois , %Y : l’année,%H : l’heure, %M : les minutes, %S : les secondes . . . )

Algèbre relationnel et langage SQL 14 / 44


Introduction Projection Sélection Opérateurs Ensemblistes Autres opérateurs relationnels

Sélection

Soit le modèle relationnel :


etudiants (Id, Nom, Prenom, Ville, Tel, NoteBac, dateNaissance, classe)

Afficher les noms et prénoms des étudiants qui habitent Marrakech :

Algèbre relationnel et langage SQL 15 / 44


Introduction Projection Sélection Opérateurs Ensemblistes Autres opérateurs relationnels

Sélection

Soit le modèle relationnel :


etudiants (Id, Nom, Prenom, Ville, Tel, NoteBac, dateNaissance, classe)

Afficher les noms et prénoms des étudiants qui habitent Marrakech :


ΠNom,Prenom (σVille=′ Marrakech′ (etudiants))
SELECT Nom, Prenom FROM etudiants WHERE Ville= ’Marrakech’ ;

Algèbre relationnel et langage SQL 15 / 44


Introduction Projection Sélection Opérateurs Ensemblistes Autres opérateurs relationnels

Sélection

Soit le modèle relationnel :


etudiants (Id, Nom, Prenom, Ville, Tel, NoteBac, dateNaissance, classe)

Afficher les noms et les numéros de téléphone des étudiants qui habitent à
Marrakech ou à Fes

Algèbre relationnel et langage SQL 16 / 44


Introduction Projection Sélection Opérateurs Ensemblistes Autres opérateurs relationnels

Sélection

Soit le modèle relationnel :


etudiants (Id, Nom, Prenom, Ville, Tel, NoteBac, dateNaissance, classe)

Afficher les noms et les numéros de téléphone des étudiants qui habitent à
Marrakech ou à Fes
ΠNom,Tel (σVille=′ Marrakech′ ∨Ville=′ Fes′ (etudiants))
SELECT Nom, Prenom FROM etudiants WHERE Ville= ’Marrakech’
OR Ville=’Fes’ ;
SELECT Nom, Prenom FROM etudiants WHERE Ville IN (’Marrakech’
, ’Fes’) ;

Algèbre relationnel et langage SQL 16 / 44


Introduction Projection Sélection Opérateurs Ensemblistes Autres opérateurs relationnels

Sélection

Soit le modèle relationnel :


etudiants (Id, Nom, Prenom, Ville, Tel, NoteBac, dateNaissance, classe)

Afficher les noms et les prénoms des étudiants dont le numéro de téléphone
commence par ’06’ et dont la Note du bac est indéterminée

Algèbre relationnel et langage SQL 17 / 44


Introduction Projection Sélection Opérateurs Ensemblistes Autres opérateurs relationnels

Sélection

Soit le modèle relationnel :


etudiants (Id, Nom, Prenom, Ville, Tel, NoteBac, dateNaissance, classe)

Afficher les noms et les prénoms des étudiants dont le numéro de téléphone
commence par ’06’ et dont la Note du bac est indéterminée
SELECT Nom, Prenom FROM etudiants WHERE Tel LIKE ’06%’ AND
NoteBac IS NULL ;

Algèbre relationnel et langage SQL 17 / 44


Introduction Projection Sélection Opérateurs Ensemblistes Autres opérateurs relationnels

Sélection

Soit le modèle relationnel :


etudiants (Id, Nom, Prenom, Ville, Tel, NoteBac, dateNaissance, classe)

Afficher les noms et prénoms des étudiants dont l’année de naissance est 2000

Algèbre relationnel et langage SQL 18 / 44


Introduction Projection Sélection Opérateurs Ensemblistes Autres opérateurs relationnels

Sélection

Soit le modèle relationnel :


etudiants (Id, Nom, Prenom, Ville, Tel, NoteBac, dateNaissance, classe)

Afficher les noms et prénoms des étudiants dont l’année de naissance est 2000
SELECT Nom, Prenom FROM etudiants WHERE strftime(’%Y’,
dateNaissance) = ’2000’ ;

Algèbre relationnel et langage SQL 18 / 44


Introduction Projection Sélection Opérateurs Ensemblistes Autres opérateurs relationnels

Sélection

Soit le modèle relationnel :


etudiants (Id, Nom, Prenom, Ville, Tel, NoteBac, dateNaissance, classe)

Afficher les étudiants dont le prénom contient le caractère underscore ’_’

Algèbre relationnel et langage SQL 19 / 44


Introduction Projection Sélection Opérateurs Ensemblistes Autres opérateurs relationnels

Sélection

Soit le modèle relationnel :


etudiants (Id, Nom, Prenom, Ville, Tel, NoteBac, dateNaissance, classe)

Afficher les étudiants dont le prénom contient le caractère underscore ’_’


SELECT * FROM etudiants WHERE prenom LIKE ’%!_%’ ESCAPE ’ !’ ;

Algèbre relationnel et langage SQL 19 / 44


Introduction Projection Sélection Opérateurs Ensemblistes Autres opérateurs relationnels

Opérateurs Ensemblistes

Union :
L’union de deux relations (tables) R et S de même schéma définit une relation
T de même schéma qui contient tous les lignes de R, de S ou à la fois de R et
S, en éliminant les lignes en doubles.
Notation :

T = R ∪ S = {ligne| ligne ∈ R ou ligne ∈ S}

Algèbre relationnel et langage SQL 20 / 44


Introduction Projection Sélection Opérateurs Ensemblistes Autres opérateurs relationnels

Opérateurs Ensemblistes

Union :

Algèbre relationnel et langage SQL 21 / 44


Introduction Projection Sélection Opérateurs Ensemblistes Autres opérateurs relationnels

Opérateurs Ensemblistes

Union :
Requête SQL :
SELECT . . . FROM . . . WHERE . . .
UNION | UNION ALL
SELECT . . . FROM . . . WHERE . . .
UNION ALL permet de garder les répétitions lors de calcul de la réunion.

Algèbre relationnel et langage SQL 22 / 44


Introduction Projection Sélection Opérateurs Ensemblistes Autres opérateurs relationnels

Opérateurs Ensemblistes

Imaginons une entreprise qui possède deux magasins et une table de clients
pour chacun :
magasin1_client (idClient, nom, prénom, adresse, tel)
magasin2_client (idClient, nom, prénom, adresse, tel)

Afficher les informations sur tous les clients de l’entreprise

Algèbre relationnel et langage SQL 23 / 44


Introduction Projection Sélection Opérateurs Ensemblistes Autres opérateurs relationnels

Opérateurs Ensemblistes

Imaginons une entreprise qui possède deux magasins et une table de clients
pour chacun :
magasin1_client (idClient, nom, prénom, adresse, tel)
magasin2_client (idClient, nom, prénom, adresse, tel)

Afficher les informations sur tous les clients de l’entreprise


SELECT * FROM magasin1_client UNION SELECT * FROM
magasin2_client

Algèbre relationnel et langage SQL 23 / 44


Introduction Projection Sélection Opérateurs Ensemblistes Autres opérateurs relationnels

Opérateurs Ensemblistes

Intersection :
L’intersection de deux relations R et S de même schéma est une relation T de
même schéma contenant les lignes appartenant à la fois à R et à S
Notation :

T = R ∩ S = {ligne| ligne ∈ R et ligne ∈ S}

Algèbre relationnel et langage SQL 24 / 44


Introduction Projection Sélection Opérateurs Ensemblistes Autres opérateurs relationnels

Opérateurs Ensemblistes

Intersection :

Algèbre relationnel et langage SQL 25 / 44


Introduction Projection Sélection Opérateurs Ensemblistes Autres opérateurs relationnels

Opérateurs Ensemblistes

Intersection :
Requête SQL :
SELECT . . . FROM . . . WHERE . . .
INTERSECT
SELECT . . . FROM . . . WHERE . . .

Algèbre relationnel et langage SQL 26 / 44


Introduction Projection Sélection Opérateurs Ensemblistes Autres opérateurs relationnels

Opérateurs Ensemblistes

Différence :
La différence de deux relations R et S (dans cet ordre) de même schéma est
une relation T de même schéma contenant l’ensemble des lignes appartenant
à R et n’appartenant pas à S.
Notation :

T = R − S = {ligne| ligne ∈ R et ligne ∈


/ S}

Algèbre relationnel et langage SQL 27 / 44


Introduction Projection Sélection Opérateurs Ensemblistes Autres opérateurs relationnels

Opérateurs Ensemblistes

Différence :

Algèbre relationnel et langage SQL 28 / 44


Introduction Projection Sélection Opérateurs Ensemblistes Autres opérateurs relationnels

Opérateurs Ensemblistes

Différence :
Requête SQL :
SELECT . . . FROM . . . WHERE . . .
EXCEPT
SELECT . . . FROM . . . WHERE . . .
Dans certains systèmes de gestion de base de données (SGBD) on trouve
l’opérateur MINUS au lieu d’EXCEPT.

Algèbre relationnel et langage SQL 29 / 44


Introduction Projection Sélection Opérateurs Ensemblistes Autres opérateurs relationnels

Opérateurs Ensemblistes

Soit les relations (tables) :


etudiants (id , Nom, Prenom, Ville, Tel, NoteBac, dateNaissance, classe)
Emprunter (#id, #idLivre, date, duree)

Afficher id des étudiants qui n’ont jamais empruntés des livres

Algèbre relationnel et langage SQL 30 / 44


Introduction Projection Sélection Opérateurs Ensemblistes Autres opérateurs relationnels

Opérateurs Ensemblistes

Soit les relations (tables) :


etudiants (id , Nom, Prenom, Ville, Tel, NoteBac, dateNaissance, classe)
Emprunter (#id, #idLivre, date, duree)

Afficher id des étudiants qui n’ont jamais empruntés des livres


SELECT id FROM etudiants
EXCEPT
SELECT id FROM Emprunter

Algèbre relationnel et langage SQL 30 / 44


Introduction Projection Sélection Opérateurs Ensemblistes Autres opérateurs relationnels

Opérateurs Ensemblistes

Produit cartésien :
Le produit cartésien de deux relations R et S, de schéma quelconque, est une
relation T dont :
les colonnes sont la concaténation de ceux de R et S
les lignes sont toutes les concaténations de chaque ligne de R à chaque
ligne de S

Notation :

T = R × S = {(R1, ..., Rp , S1, ..., Sq )|(R1, ..., Rp ) ∈ R et (S1, ..., Sq ) ∈ S}

Algèbre relationnel et langage SQL 31 / 44


Introduction Projection Sélection Opérateurs Ensemblistes Autres opérateurs relationnels

Opérateurs Ensemblistes

Produit cartésien :

Table Homme Table Voiture


nom prenom age marque modele
Dupond Pierre 20 Tesla Model X
Durand Jean 30 Citroen 2 CV

Homme X Voiture
nom prenom age marque modele
Dupond Pierre 20 Tesla Model X
Dupond Pierre 20 Citroen 2 CV
Durand Jean 30 Tesla Model X
Durand Jean 30 Citroen 2 CV

Algèbre relationnel et langage SQL 32 / 44


Introduction Projection Sélection Opérateurs Ensemblistes Autres opérateurs relationnels

Opérateurs Ensemblistes

Produit cartésien :
Requête SQL :
SELECT * FROM table1,table2

Algèbre relationnel et langage SQL 33 / 44


Introduction Projection Sélection Opérateurs Ensemblistes Autres opérateurs relationnels

Opérateurs Ensemblistes

Produit cartésien :
Remarque :
Si les deux tables ont des colonnes de même nom, alors chaque nom de
colonne est préfixé par le nom de sa table
Exemple :
Salle (idSalle, capacité)
Cours (#idSalle, classe)
SELECT Salle.idSalle, Salle.capacité, Cours.idSalle
FROM Salle, Cours
WHERE Salle.idSalle < 5 ;

Algèbre relationnel et langage SQL 34 / 44


Introduction Projection Sélection Opérateurs Ensemblistes Autres opérateurs relationnels

Autres opérateurs relationnels

Renommage :
Il est possible d’utiliser des alias pour renommer temporairement une
colonne ou une table.
Notation :
ρR1 ,...,Rp →S1 ,...,Sp (R) permet de renommer R1 , ..., Rp en S1, ..., Sp

Algèbre relationnel et langage SQL 35 / 44


Introduction Projection Sélection Opérateurs Ensemblistes Autres opérateurs relationnels

Autres opérateurs relationnels

Renommage des colonnes :

Requête SQL :
SELECT R1 AS S1 ,. . . , Ri AS Si , . . . FROM nomtable ;
Ou bien
SELECT R1 S1 ,. . . , Ri Si . . .FROM nomtable ;
Exemple :
SELECT Nom, NoteBac/2 note_sur_10 FROM etudiants ;

Algèbre relationnel et langage SQL 36 / 44


Introduction Projection Sélection Opérateurs Ensemblistes Autres opérateurs relationnels

Autres opérateurs relationnels

Renommage des tables :

Requête SQL :
SELECT A.A1 , ... , B.B1 , ... FROM nomtable1 AS A, nomtable2 AS B ;
Ou bien
SELECT A.A1 , ... , B.B1 , ... FROM nomtable1 A, nomtable2 B ;
Exemple :
SELECT S.idSalle, S.capacité, C.idSalle
FROM Salle S, Cours C
WHERE Salle.idSalle < 5 ;

Algèbre relationnel et langage SQL 37 / 44


Introduction Projection Sélection Opérateurs Ensemblistes Autres opérateurs relationnels

Autres opérateurs relationnels

Division :
La division de deux tables R et S, sachant que R et S ont au moins une
colonne commune, est une table T dont :
les colonnes sont des colonnes de R qui n’appartiennent pas à S.
les lignes sont les lignes qui réalisent dans R la combinaison avec toutes
les lignes de S.

Notation :

T = R ÷ S = {(A1, ..., Ap )|(∀(B1 , ..., Bq ) ∈ S) (A1 , ..., Ap , B1, ..., Bq ) ∈ R}

Algèbre relationnel et langage SQL 38 / 44


Introduction Projection Sélection Opérateurs Ensemblistes Autres opérateurs relationnels

Autres opérateurs relationnels


Division :

Table Etudiants
Nom_etudiant Tache
Fred Database1 Table ProjetDB
Fred Database2 Tache
Fred Compiler1 Database1
Eugene Database1 Database2
Eugene Compiler1
Sarah Database1
Sarah Database2

Algèbre relationnel et langage SQL 39 / 44


Introduction Projection Sélection Opérateurs Ensemblistes Autres opérateurs relationnels

Autres opérateurs relationnels


Division :

Table Etudiants
Nom_etudiant Tache
Fred Database1 Table ProjetDB
Fred Database2 Tache
Fred Compiler1 Database1
Eugene Database1 Database2
Eugene Compiler1
Sarah Database1
Sarah Database2

Etudiants ÷ProjetDB
Nom_etudiant
Fred
Sarah

Algèbre relationnel et langage SQL 39 / 44


Introduction Projection Sélection Opérateurs Ensemblistes Autres opérateurs relationnels

Autres opérateurs relationnels

Division :
Requête SQL :
Il n’y a pas de commande en langage SQL pour faire la division de 2 relations.

Algèbre relationnel et langage SQL 40 / 44


Introduction Projection Sélection Opérateurs Ensemblistes Autres opérateurs relationnels

Autres opérateurs relationnels

Jointure :

La jointure de deux tables R et S selon une condition P est la table T


contenant l’ensemble des lignes du produit cartésien R x S satisfaisant la
condition P.
Cette condition est une proposition logique portant sur deux colonnes
(en particulier, la clé primaire de l’une et la clé étrangère de l’autre) en
utilisant des opérateurs de comparaison (<, >, ≤, ≥, ! =, =, . . .).
Notation jointure interne :

T=R ▷◁ S
R.Ci =S.Cj

Algèbre relationnel et langage SQL 41 / 44


Introduction Projection Sélection Opérateurs Ensemblistes Autres opérateurs relationnels

Autres opérateurs relationnels


Jointure :

Table etudiants
prenom nom id_classe id_lycee
Table lycee
Mathilde Dufour 834 1 id_lycee nom_lycee
Léa Dupond 832 2
1 Calmette
Paul Dugommier 833 2
2 Massena
Mathilde Dugommier 831 1
3 Parc Imperial
Clément Durond 833 3

etudiants ▷◁etudiants.id_lycee=lycee.id_lycee lycee


prenom nom id_classe id_lycee id_lycee nom_lycee
Mathilde Dufour 834 1 1 Calmette
Léa Dupond 832 2 2 Massena
Paul Dugommier 833 2 2 Massena
Mathilde Dugommier 831 1 1 Calmette
Clément Durond 833 3 3 Parc Imperial

Algèbre relationnel et langage SQL 42 / 44


Introduction Projection Sélection Opérateurs Ensemblistes Autres opérateurs relationnels

Autres opérateurs relationnels

Jointure :

Requête SQL :
SELECT * FROM R JOIN S ON R.colonne1= S.colonne2 ;
Ou bien
SELECT * FROM R,S WHERE R.colonne1= S.colonne2 ;

Algèbre relationnel et langage SQL 43 / 44


Introduction Projection Sélection Opérateurs Ensemblistes Autres opérateurs relationnels

Autres opérateurs relationnels

Jointure :
Exemple :
Soient les tables :
Profs (Id, Nom, Prenom, Tel, Salle)
Etudiants (Id, Nom, Prenom, Ville, Tel, #Numprof)

Afficher les noms des étudiants dont le professeur est monsieur ’prof1’

Algèbre relationnel et langage SQL 44 / 44


Introduction Projection Sélection Opérateurs Ensemblistes Autres opérateurs relationnels

Autres opérateurs relationnels

Jointure :
Exemple :
Soient les tables :
Profs (Id, Nom, Prenom, Tel, Salle)
Etudiants (Id, Nom, Prenom, Ville, Tel, #Numprof)

Afficher les noms des étudiants dont le professeur est monsieur ’prof1’

ΠEtudiants.nom (σProfs.Nom=′ prof 1′ (Etudiants ▷◁ Profs)


Etudiants.Numprof =Profs.Id
SELECT E.Nom FROM Etudiants as E JOIN Profs as P ON
E.Numprof=P.Id WHERE P.Nom=’prof1’ ;
SELECT E.Nom FROM Etudiants E, Profs P WHERE E.Numprof=P.Id
AND P.Nom=’prof1’ ;

Algèbre relationnel et langage SQL 44 / 44

Vous aimerez peut-être aussi