[SGBD_SQL]
[2019-2020]
[Circuits à diodes] Page 1
Lesson 1: SELECT *
family_members
id
name
gender
species
num_books_read
1 Dave male human 200
2 Mary female human 180
3 Pickles
male dog 0
SELECT * FROM family_members;
Result:
Lesson 2: SELECT specific columns
SELECT name, num_books_read FROM family_members;
Result:
name num_books_read
Dave 200
Mary 180
Pickles
0
Lesson 3: WHERE ... =, <, <=….AND, OR …
SELECT * FROM family_members WHERE species = 'human';
Result:
id
name
gender
species
num_books_read
1 Dave male human 200
2 Mary female human 180
Current tables:
family_members
id
name
gender
species
num_books_read
1 Dave male human 200
2 Mary female human 180
3 Pickles
male dog 0
SELECT * FROM family_members WHERE num_books_read > 0
Result:
id
name
gender
species
num_books_read
1 Dave male human 200
2 Mary female human 180
SELECT*FROM family_members WHERE num_books_read >=180;
Result:
id
name
gender
species
num_books_read
1 Dave male human 200
2 Mary female human 180
Current tables:
friends_of_pickles
id
name gender
species
height_cm
1 Dave male human 180
2 Mary female human 160
3 Fry male cat 30
4 Leela female cat 25
5 Odie male dog 40
6 Jumpy male dog 35
7 Sneakers
male dog 55
id
name
gender
species
num_books_read
1 Dave male human 200
2 Mary female human 180
3 Pickles
male dog 0
[SGBD_SQL]
[2019-2020]
[Circuits à diodes] Page 2
SELECT * FROM friends_of_pickles WHERE height_cm > 25 AND species = 'cat';
Result:
id
name
gender
species
height_cm
3 Fry male cat 30
SELECT * FROM friends_of_pickles WHERE height_cm > 25 OR species = 'cat';
Result:
id
name gender
species
height_cm
1 Dave male human 180
2 Mary female human 160
3 Fry male cat 30
4 Leela female cat 25
5 Odie male dog 40
6 Jumpy male dog 35
7 Sneakers
male dog 55
Lesson 4: IN
SELECT * FROM friends_of_pickles WHERE species IN ('cat', 'human');
Result:
id name gender species height_cm
1 Dave male human 180
2 Mary female human 160
3 Fry male cat 30
4 Leela female cat 25
SELECT * FROM friends_of_pickles WHERE species NOT IN ('cat', 'dog');
Result:
id
name
gender
species
height_cm
1 Dave male human 180
2 Mary female human 160
Lesson 9: DISTINCT
SELECT DISTINCT gender, species FROM friends_of_pickles WHERE height_cm <
100;
Result:
gender
species
male cat
female cat
male dog
Lesson 10: ORDER BY
SELECT * FROM friends_of_pickles ORDER BY name;
Result:
id
name gender
species
height_cm
1 Dave male human 180
3 Fry male cat 30
6 Jumpy male dog 35
4 Leela female cat 25
2 Mary female human 160
5 Odie male dog 40
7 Sneakers
male dog 55
SELECT * FROM friends_of_pickles ORDER BY height_cm;
Result:
id
name gender
species
height_cm
4 Leela female cat 25
3 Fry male cat 30
6 Jumpy male dog 35
5 Odie male dog 40
7 Sneakers
male dog 55
2 Mary female human 160
1 Dave male human 180
[SGBD_SQL]
[2019-2020]
[Circuits à diodes] Page 3
SELECT * FROM friends_of_pickles ORDER BY height_cm DESC;
Result:
id
name gender
species
height_cm
1 Dave male human 180
2 Mary female human 160
7 Sneakers
male dog 55
5 Odie male dog 40
6 Jumpy male dog 35
3 Fry male cat 30
4 Leela female cat 25
Lesson 11: LIMIT # of returned rows
SELECT * FROM friends_of_pickles ORDER BY height_cm LIMIT 2;
Result:
id
name
gender
species
height_cm
4 Leela female cat 25
3 Fry male cat 30
SELECT * FROM friends_of_pickles ORDER BY height_cm DESC LIMIT 3;
Result:
id
name gender
species
height_cm
1 Dave male human 180
2 Mary female human 160
7 Sneakers
male dog 55
Lesson 12: COUNT(*)
SELECT COUNT(*) FROM friends_of_pickles;
Result:
COUNT(*)
7
Lesson 13: COUNT(*) ... WHERE
SELECT COUNT(*) FROM friends_of_pickles WHERE species = 'human';
Result:
COUNT(*)
2
Lesson 14: SUM: somme
SELECT SUM(num_legs) FROM family_members;
Result:
SUM(num_legs)
8
Lesson 15: AVG : moyenne
SELECT AVG(num_legs) FROM family_members;
Result:
AVG(num_legs)
2.6666666666666665
Lesson 16: MAX and MIN
SELECT MIN(num_legs) FROM family_members;
Result:
MIN(num_legs)
2
Lesson 17: GROUP BY
SELECT COUNT(*), species FROM friends_of_pickles GROUP BY
species;
Result:
COUNT(*)
species
2 cat
3 dog
2 human
[Circuits à diodes] Page 4
EXERCICE 1 : Les requêtes SELECT - Base de données ETUDIANT
Objectif: Écrire des requêtes SELECT comportant la projection, le filtrage et le regroupement des données.
Soit le schéma relationnel suivant:
Travail à faire:
Écrire les requêtes suivantes en SQL :
1. Afficher la liste des étudiants triés par ordre croissant de date de naissance.
2. Afficher tous les étudiants inscrits à M1 et tous les étudiants inscrits à M2.
3. Afficher les matricules des étudiants qui ont passé l'examen du cours 002.
4. Afficher les matricules de tous les étudiants qui ont passé l'examen du cours 001 et de tous les étudiants qui ont
passé l'examen du cours 002.
5. Afficher le matricule, code, note /20 et note /40 de tous les examens classés par ordre croissant de matricule et
de code.
6. Trouver la moyenne de notes de cours 002.
7. Compter les examens passés par un étudiant (exemple avec matricule 'e1')
8. Compter le nombre d'étudiants qui ont passé l'examen du cours 002.
9. Calculer la moyenne des notes d'un étudiant (exemple avec matricule 'e1').
10. Compter les examens passés par chaque étudiant.
11. Calculer la moyenne des notes pour chaque étudiant.
12. La même au dessus, mais afficher seulement les étudiants (et leurs moyennes) dont la moyenne est >= 15.
13. Trouver la moyenne de notes de chaque cours.
Correction :
/Auteur: CHAOULID
//Copyright: Exelib.net
use ETUDIANTS
go
[Circuits à diodes] Page 5
--Q1 select *from Etudiant order by DateNaissance
--Q2 select * from Etudiant where Niveau='M1' or Niveau='M2'
--Q3 select Matricule from Examen where Code='002'
--Q4 select Matricule from Examen where Code='001' or Code='002'
--Q5 select Matricule,Code,Note as "Note sur 20",Note*2 as "Note sur 40" from Examen order by
Matricule,Code
--Q6 select AVG(Note) as "Moyenne de notes" from Examen where Code='002'
--Q7 select COUNT(Code) as "Nombre d'examens" from Examen where Matricule='e1'
--Q8 select COUNT(Matricule) as "Nombre d'étudiants" from Examen where Code='002'
--Q9 select AVG(Note) as "Moyenne de notes" from Examen where Matricule='e1'
--Q10 select Matricule,COUNT(Code) as "Nombre d'examens" from Examen group by Matricule
--Q11 select Matricule,AVG(Note) as "Moyenne de notes" from Examen group by Matricule
--Q12 select Matricule,AVG(Note) as "Moyenne de notes" from Examen group by Matricule
having AVG(Note)>=15
--Q13 select Code,AVG(Note) as "Moyenne de notes" from Examen group by Code
EXERCICE 2 : STAGIAIRE
L’objectif de cet exercice est d’interroger une base de données de gestion des notes en utilisant des
requêtes SELECT Mono-Table. Les éléments à traiter sont :
les sélections,
les projections,
le tri,
les groupements,
les fonctions d’agrégats et les opérateurs.
Avant de commencer
Pour cet exercice, utilisez la base de données gestion-notes-stagiaires dont le schéma relationnel est le
suivant :
1 / 12 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !