SQL
1. Création de tables
Syntaxe :
sql
Copy
CREATE TABLE nom_table ( colonne1 type_donnees contrainte, colonne2 type_donnees contrainte,
Exemple :
sql
Copy
CREATE TABLE Eleve ( matricule VARCHAR(10) PRIMARY KEY, nom VARCHAR(50), prenom VARCHAR(50),
2. Insertion de données
Syntaxe :
sql
Copy
INSERT INTO nom_table (colonne1, colonne2, ...)VALUES (valeur1, valeur2, ...);
Exemple :
sql
Copy
INSERT INTO Eleve (matricule, nom, prenom, nomwillaya)VALUES ('m1', 'Toto', 'Titi', 'Gorgol');
3. Mise à jour de données
Syntaxe :
sql
Copy
UPDATE nom_tableSET colonne1 = valeur1, colonne2 = valeur2, ...WHERE condition;
Exemple :
sql
Copy
UPDATE EleveSET nomwillaya = 'Brakna'WHERE matricule = 'm1';
4. Suppression de données
Syntaxe :
sql
Copy
DELETE FROM nom_tableWHERE condition;
Exemple :
sql
Copy
DELETE FROM EleveWHERE matricule = 'm1';
5. Sélection de données
Syntaxe de base :
sql
Copy
SELECT colonne1, colonne2, ...FROM nom_tableWHERE condition;
Exemple :
sql
Copy
SELECT nom, prenomFROM EleveWHERE nomwillaya = 'Gorgol';
6. Fonctions d'agrégation
COUNT : Compter le nombre de lignes
sql
Copy
SELECT COUNT(*)FROM Eleve;
SUM : Calculer la somme d'une colonne
sql
Copy
SELECT SUM(note)FROM Notes;
AVG : Calculer la moyenne d'une colonne
sql
Copy
SELECT AVG(note)FROM Notes;
MAX : Trouver la valeur maximale d'une colonne
sql
Copy
SELECT MAX(note)FROM Notes;
MIN : Trouver la valeur minimale d'une colonne
sql
Copy
SELECT MIN(note)FROM Notes;
7. Regroupement de données (GROUP BY)
Syntaxe :
sql
Copy
SELECT colonne1, fonction_agregation(colonne2)FROM nom_tableGROUP BY colonne1;
Exemple :
sql
Copy
SELECT nomwillaya, COUNT(*) AS nombre_elevesFROM EleveGROUP BY nomwillaya;
8. Filtrage des groupes (HAVING)
Syntaxe :
sql
Copy
SELECT colonne1, fonction_agregation(colonne2)FROM nom_tableGROUP BY colonne1HAVING condition;
Exemple :
sql
Copy
SELECT nomwillaya, AVG(note) AS moyenne_willayaFROM Eleve eJOIN Notes n ON e.matricule = n.matriculeGRO
9. Jointures (JOIN)
Jointure interne (INNER JOIN) :
sql
Copy
SELECT e.nom, e.prenom, n.noteFROM Eleve eINNER JOIN Notes n ON e.matricule = n.matricule;
Jointure gauche (LEFT JOIN) :
sql
Copy
SELECT e.nom, e.prenom, n.noteFROM Eleve eLEFT JOIN Notes n ON e.matricule = n.matricule;
Jointure droite (RIGHT JOIN) :
sql
Copy
SELECT e.nom, e.prenom, n.noteFROM Eleve eRIGHT JOIN Notes n ON e.matricule = n.matricule;
10. Sous-requêtes
Sous-requête dans WHERE :
sql
Copy
SELECT nom, prenomFROM EleveWHERE matricule IN ( SELECT matricule FROM Notes WHERE note > 10)
Sous-requête dans FROM :
sql
Copy
SELECT e.nom, e.prenom, moy.moyenneFROM Eleve eJOIN ( SELECT matricule, AVG(note) AS moyenne FROM
Sous-requête dans SELECT :
sql
Copy
SELECT e.nom, e.prenom, (SELECT COUNT(*) FROM Notes n WHERE n.matricule = e.matricule) AS nb_exam
11. Tri des résultats (ORDER BY)
Syntaxe :
sql
Copy
SELECT colonne1, colonne2, ...FROM nom_tableORDER BY colonne1 ASC|DESC;
Exemple :
sql
Copy
SELECT nom, prenomFROM EleveORDER BY nom ASC;
12. Limitation des résultats (LIMIT)
Syntaxe :
sql
Copy
SELECT colonne1, colonne2, ...FROM nom_tableLIMIT nombre;
Exemple :
sql
Copy
SELECT nom, prenomFROM EleveLIMIT 5;
13. Suppression d'une table
Syntaxe :
sql
Copy
DROP TABLE nom_table;
Exemple :
sql
Copy
DROP TABLE Eleve;
14. Modification d'une table (ALTER TABLE)
Ajouter une colonne :
sql
Copy
ALTER TABLE nom_tableADD colonne_nouvelle type_donnees;
Supprimer une colonne :
sql
Copy
ALTER TABLE nom_tableDROP COLUMN colonne;
Exemple :
sql
Copy
ALTER TABLE EleveADD date_naissance DATE;
15. Requêtes complexes avec sous-requêtes et jointures
Exemple : Trouver les élèves qui ont une note supérieure à la moyenne de leur willaya
sql
Copy
SELECT e.nom, e.prenom, n.noteFROM Eleve eJOIN Notes n ON e.matricule = n.matriculeWHERE n.note > (