SQL l'algèbre relationnelles, Cheat Sheet of Mathematics

complet cours session 1 semestre 2

Typology: Cheat Sheet

2020/2021

Uploaded on 04/03/2021

yassir-sadiq-elfilali
yassir-sadiq-elfilali 🇬🇧

5 documents

1 / 52

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Algèbre relationnel et langage SQL (suite)
Kharbane Yahya/ Johri Mustapha
CRMEF Marrakech-Safi
Centre de Préparation à l’Agrégation
Département d’informatique
Marrakech
6 juin 2020
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34

Partial preview of the text

Download SQL l'algèbre relationnelles and more Cheat Sheet Mathematics in PDF only on Docsity!

Algèbre relationnel et langage SQL (suite)

Kharbane Yahya/ Johri Mustapha

CRMEF Marrakech-Safi Centre de Préparation à l’Agrégation Département d’informatique Marrakech [email protected]

6 juin 2020

1/

Parfois on peut avoir besoin d’effectuer des traitements (fonctions) sur des partitions de l’ensemble des lignes d’une table selon un critère donné portant sur des colonnes de cette table.

Notation :

A 1 , ..., An γ f 1 (B 1 ), ..., fm(Bm)(R)

3/

On peut faire une sélection après l’agrégation, en ajoutant une condition à laquelle chaque groupe doit répondre.

Notation :

σ condition(A 1 , ..., An γ f 1 (B 1 ), ..., fm(Bm)(R))

4/

Requête SQL :

SELECT A 1 , ..., An, f 1 (B 1 ), ..., fm(Bm) FROM R GROUP BY A 1 , ..., An HAVING condition ;

Avec A 1 , ..., An des colonnes de la table R, et f 1 , ..., fm des fonctions d’agrégation appliquées sur des colonnes B 1 , ..., Bm de la table R

6/

Exemple :

Soit la table :

Eleves (Id , Nom, Prenom, Tel, NoteBac, dateNaissance, classe)

Afficher la note de bac maximale des élèves de chaque classe

6/

Exemple :

Soit la table :

Eleves (Id , Nom, Prenom, Tel, NoteBac, dateNaissance, classe)

Afficher la note de bac maximale des élèves de chaque classe

SELECT MAX (NoteBac) FROM Eleves GROUP BY classe ;

7/

Exemple :

Soit la table :

Eleves (Id , Nom, Prenom, Tel, NoteBac, dateNaissance, classe)

Afficher pour chaque classe le nombre d’élèves, mais seulement pour les classes dont la moyenne de la note du bac est supérieure à 14

SELECT classe, COUNT (*) AS nombreEleves FROM Eleves GROUP BY classe HAVING AVG (NoteBac)>14 ;

8/

Il est possible de trier les données sur une ou plusieurs colonnes :

par ordre ascendant (ASC) par ordre descendant (DESC)

Par défaut les résultats sont classés par ordre ascendant.

10/

Exemple :

Soit la table :

Eleves (Id , Nom, Prenom, Tel, NoteBac, dateNaissance, classe)

Afficher la note de bac moyenne de chaque classe, et trier le résultat par ordre décroissant de la note

10/

Exemple :

Soit la table :

Eleves (Id , Nom, Prenom, Tel, NoteBac, dateNaissance, classe)

Afficher la note de bac moyenne de chaque classe, et trier le résultat par ordre décroissant de la note

SELECT classe, AVG (NoteBac) AS moyenne FROM classe Eleves GROUP BY classe ORDER BY moyenne DESC ;

12/

Exemple : Articles (idArticle, nom, prix)

Afficher les noms des 3 plus chers articles

SELECT nom FROM Articles ORDER BY prix DESC LIMIT 3 ;

13/

Une requête imbriquée est une sous requête exécutée à l’intérieur d’une autre requête SQL.

Elle remplace souvent une constante au sein d’une clause WHERE ou HAVING.

15/

Syntaxe SQL :

DELETE FROM ... WHERE [expression] opérateur ( SELECT... FROM... ) ;

16/

Syntaxe SQL :

INSERT INTO nomTable(colonne1,... .., colonneN) SELECT... FROM... WHERE... ;