1SQL
1SQL
2) Afficher la structure:
```sql
DESCRIBE Etudiant;
DESCRIBE Matiere;
DESCRIBE Sexe;
DESCRIBE Enseignant;
DESCRIBE Notes;
```
C) Requêtes simples:
1) Liste des étudiants:
```sql
SELECT Numetu, Nometu, Prenometu FROM Etudiant;
```
5) Ancienneté spécifique:
```sql
SELECT * FROM Enseignant WHERE Ancien > 3;
SELECT * FROM Enseignant WHERE Ancien BETWEEN 2 AND 4;
```
6) Ancienneté de SIMON:
```sql
SELECT Ancien FROM Enseignant WHERE Nomens = 'SIMON' AND Prenomens =
'Étienne';
```
8-10) Effectifs:
```sql
SELECT COUNT(*) FROM Etudiant;
SELECT COUNT(*) FROM Etudiant WHERE Cdsexe = 'M';
SELECT COUNT(*) FROM Etudiant WHERE Cdsexe = 'F';
```
D) Jointures:
1) Enseignants d'histoire:
```sql
SELECT e.Nomens, e.Grade FROM Enseignant e JOIN Matiere m ON e.Numens =
m.Numens WHERE m.Nomat = 'Histoire';
```
2) Matières MCF/ASS:
```sql
SELECT m.Nomat, m.Coeff FROM Matiere m JOIN Enseignant e ON m.Numens =
e.Numens WHERE e.Grade IN ('MCF', 'ASS');
```
SELECT e.Nometu FROM Etudiant e WHERE NOT EXISTS (SELECT * FROM Notes n
JOIN Matiere m ON n.Numat = m.Numat WHERE m.Nomat = 'Histoire' AND
n.Numetu = e.Numetu);
```
E) Regroupements:
1-4) Moyennes et statistiques:
```sql
SELECT m.Nomat, AVG(n.note) as moyenne FROM Notes n JOIN Matiere m ON
n.Numat = m.Numat GROUP BY m.Nomat;