0% ont trouvé ce document utile (0 vote)
4 vues4 pages

Cours SQL Semain

Ce document présente des exemples de requêtes SQL accompagnées de leur notation en algèbre relationnelle. Chaque exemple illustre une fonctionnalité SQL spécifique, comme la sélection, la projection, les jointures, les agrégations et les opérations sur les ensembles. Les requêtes SQL correspondantes sont fournies pour chaque cas, facilitant ainsi la compréhension des concepts abordés.

Transféré par

med.out77
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)
4 vues4 pages

Cours SQL Semain

Ce document présente des exemples de requêtes SQL accompagnées de leur notation en algèbre relationnelle. Chaque exemple illustre une fonctionnalité SQL spécifique, comme la sélection, la projection, les jointures, les agrégations et les opérations sur les ensembles. Les requêtes SQL correspondantes sont fournies pour chaque cas, facilitant ainsi la compréhension des concepts abordés.

Transféré par

med.out77
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

cours SQL (Semaine 5), en incluant systématiquement la notation en algèbre

relationnelle suivie du code SQL correspondant, comme pour les exemples


suivants :

📝 Exemple 1 : SELECT * (Tout Sélectionner) Question : Afficher toutes les


informations de tous les livres. Réponse : R 1=L I V R E S

SELECT * FROM LIVRES;

📝 Exemple 2 : Projection de Colonnes Question : Afficher uniquement les titres


et les auteurs des livres. Réponse : R 2=π t it r e ,a u t e u r (L I V R E S)

SELECT titre, auteur FROM LIVRES;

📝 Exemple 3 : SELECT DISTINCT (Éliminer Doublons) Question : Afficher tous les


départements différents des étudiants. Réponse : R 3=π d e p a r t e m en t (E T U D I A N T S)

SELECT DISTINCT departement FROM ETUDIANTS;

📝 Exemple 4 : Condition Simple (Sélection) Question : Afficher les livres publiés


après 2019. Réponse : R 4=σ a n n ee> 2019 (L I V R E S)

SELECT * FROM LIVRES WHERE annee > 2019;

📝 Exemple 5 : Condition avec Égalité Question : Afficher les livres de la


catégorie INFO. Réponse : R 5=σ c o d e a t ¿ I N F O (L I V R E S)
c
′ ′

SELECT * FROM LIVRES WHERE code_cat = 'INFO';

📝 Exemple 6 : Conditions Multiples (AND) Question : Afficher les étudiants de


M2 du département INFO. Réponse : R 6=σ n i v e a u ¿ M 2 ∧ d e p a r t e m en t ¿ I N F O ( ET U D I A N T S)
′ ′ ′ ′

SELECT * FROM ETUDIANTS WHERE niveau = 'M2' AND departement = 'INFO';

📝 Exemple 7 : Conditions Multiples (OR) Question : Afficher les étudiants qui


sont soit en M2, soit du département INFO. Réponse :
R 7=σ n i v e a u ¿ M 2 ∨d e p a r t e m en t ¿ I N F O (E T U D I A N T S)
′ ′ ′ ′

SELECT * FROM ETUDIANTS WHERE niveau = 'M2' OR departement = 'INFO';

📝 Exemple 8 : Opérateurs de Comparaison Question : Afficher les emprunts


d'une durée supérieure ou égale à 14 jours. Réponse : R 8=σ d u r ee ≥14 (E M P R U N T S)

SELECT * FROM EMPRUNTS WHERE duree >= 14;


📝 Exemple 9 : Opérateur IN Question : Afficher les livres de catégorie INFO ou
MATH. Réponse : R 9=σ c o d e a t ∈¿ I N F O , M A T H }(L I V R E S)¿
c
′ ′ ′ ′

SELECT * FROM LIVRES WHERE code_cat IN ('INFO', 'MATH');

📝 Exemple 10 : Opérateur BETWEEN Question : Afficher les livres publiés entre


2018 et 2020 (inclus). Réponse : R 10=σ 2018≤ a n n ee ≤2020 ( L I V R E S )

SELECT * FROM LIVRES WHERE annee BETWEEN 2018 AND 2020;

📝 Exemple 11 : Opérateur LIKE (Recherche de motif) Question : Afficher les


livres dont le titre contient "Algèbre". Réponse : R 11=σ t i t r e LIKE % A l g è b r e % ( L I V R E S)
′ ′

SELECT * FROM LIVRES WHERE titre LIKE '%Algèbre%';

📝 Exemple 12 : Composition Projection + Sélection Question : Afficher les titres


des livres de catégorie INFO. Réponse : R 12=π t i t r e (σ c o d e a t ¿ I N F O (L I V R E S ))
c
′ ′

SELECT titre FROM LIVRES WHERE code_cat = 'INFO';

📝 Exemple 13 : Tri Croissant (ORDER BY ASC) Question : Afficher tous les livres
triés par année de publication (ordre croissant). Réponse : R 13=τ a n n e e↑ (L I V R E S)

SELECT * FROM LIVRES ORDER BY annee ASC;

📝 Exemple 14 : Tri Décroissant (ORDER BY DESC) Question : Afficher les


étudiants triés par nom en ordre alphabétique inverse. Réponse :
R 14=τ n o m ↓ (π n o m , p r e n o m ,n i v e a u (E T U D I A N T S ))

SELECT nom, prenom, niveau FROM ETUDIANTS ORDER BY nom DESC;

📝 Exemple 15 : Tri Multiple Question : Afficher les étudiants triés par niveau
(croissant), puis par nom (croissant). Réponse : R 15=τ n i v ea u ↑ , n o m ↑(E T U D I A N T S)

SELECT nom, prenom, niveau, departement FROM ETUDIANTS ORDER BY niveau


ASC, nom ASC;

📝 Exemple 16 : Limitation de Résultats (LIMIT) Question : Afficher les 3 livres


les plus récents. Réponse : R 16= λ3 (τ a n n ee ↓ (π t i t r e, a u t eu r ,a n n e e (L I V R E S )))

SELECT titre, auteur, annee FROM LIVRES ORDER BY annee DESC LIMIT 3;

Voici la suite des exemples extraits du cours SQL (Semaine 5), présentés selon le
format demandé avec la notation de l'algèbre relationnelle et le code SQL
correspondant :
📝 Exemple 17 : Jointure Interne (INNER JOIN) Question : Afficher le nom des
étudiants et le titre des livres qu'ils ont empruntés. Réponse :
R 17=π n o m ,t i t r e (E T U D I A N T S ⋈ nu m t u d i a n t=n u m t u d i a n t E M P R U N T S ⋈i s b n=i s b n L I V R E S )
e e

SELECT [Link], [Link]


FROM ETUDIANTS
JOIN EMPRUNTS ON ETUDIANTS.num_etudiant = EMPRUNTS.num_etudiant
JOIN LIVRES ON [Link] = [Link];

📝 Exemple 18 : Jointure avec Alias Question : Simplifier l'écriture de la requête


précédente en utilisant des alias pour les tables. Réponse :

SELECT [Link], [Link]


FROM ETUDIANTS e
JOIN EMPRUNTS m ON e.num_etudiant = m.num_etudiant
JOIN LIVRES l ON [Link] = [Link];

📝 Exemple 19 : Fonctions d'Agrégation (COUNT) Question : Compter le nombre


total d'étudiants inscrits. Réponse :
R 19= A G R E G A T (E T U D I A N T S ,C OU N T (¿))

SELECT COUNT(*) FROM ETUDIANTS;

📝 Exemple 20 : Agrégation avec Filtre Question : Compter le nombre de livres


publiés après 2018. Réponse : R 20= A G R E G A T (σ a n n ee>2018 (L I V R E S),C OU N T (¿))

SELECT COUNT(*) FROM LIVRES WHERE annee > 2018;

📝 Exemple 21 : Fonctions Numériques (AVG, SUM, MAX, MIN) Question :


Afficher la durée moyenne, totale, maximale et minimale des emprunts. Réponse :
R 21= A G R E G A T (E M P R U N T S , A V G(d u r e e), S U M (d u r e e), M A X (d u r e e ), M I N (d u r e e))

SELECT AVG(duree), SUM(duree), MAX(duree), MIN(duree) FROM EMPRUNTS;

📝 Exemple 22 : Groupement (GROUP BY) Question : Afficher le nombre


d'étudiants par département. Réponse :
R 22= A G R E G A T (E T U D I A N T S , d e p a r t e m e n t , C O U N T (¿))

SELECT departement, COUNT(*)


FROM ETUDIANTS
GROUP BY departement;

📝 Exemple 23 : Groupement Multiple Question : Afficher le nombre d'étudiants


par département et par niveau. Réponse :
R 23= A G R E G A T (E T U D I A N T S , d e p a r t e m e n t , ni v e au , C O U N T (¿))
SELECT departement, niveau, COUNT(*)
FROM ETUDIANTS
GROUP BY departement, niveau;

📝 Exemple 24 : Filtrage de Groupes (HAVING) Question : Afficher les


départements qui comptent plus de 2 étudiants. Réponse :

SELECT departement, COUNT(*)


FROM ETUDIANTS
GROUP BY departement
HAVING COUNT(*) > 2;

📝 Exemple 25 : Sous-requête (IN) Question : Afficher les noms des étudiants qui
ont effectué au moins un emprunt. Réponse :
R 25=π n o m (σ n u m t u d i a nt ∈π
e nu me t ud i an t ( E M P R U N T S) ( E T U D I A N T S))

SELECT nom FROM ETUDIANTS


WHERE num_etudiant IN (SELECT num_etudiant FROM EMPRUNTS);

📝 Exemple 26 : Opération UNION Question : Combiner la liste des auteurs de


livres et des noms d'étudiants (sans doublons). Réponse :
R 26=π a u t eu r (L I V R E S)∪ π n o m (E T U D I A N T S)

SELECT auteur FROM LIVRES


UNION
SELECT nom FROM ETUDIANTS;

📝 Exemple 27 : Opération INTERSECT Question : Trouver les ISBN des livres qui
sont à la fois dans la table LIVRES et dans la table EMPRUNTS. Réponse :
R 27=π i s b n (L I V R E S)∩ π i s b n (E M P RU N T S)

SELECT isbn FROM LIVRES


INTERSECT
SELECT isbn FROM EMPRUNTS;

📝 Exemple 28 : Opération EXCEPT (Différence) Question : Trouver les ISBN des


livres qui n'ont jamais été empruntés. Réponse :
R 28=π i s b n (L I V R E S )− π i s b n (E M P R U N T S)

SELECT isbn FROM LIVRES


EXCEPT
SELECT isbn FROM EMPRUNTS;

Vous aimerez peut-être aussi