Breaking

vendredi 13 février 2026

COURS COMPLET SQL : STRUCTURÉ ET AVEC RÉSULTATS




Cours SQL complet · QCM 40 questions

📘 Cours SQL complet • A à Z + 40 QCM

🗂️ 1. Base de données d’exemple

CREATE TABLE client ( id_client INTEGER PRIMARY KEY, nom TEXT NOT NULL, ville TEXT ); CREATE TABLE commande ( id_commande INTEGER PRIMARY KEY, id_client INTEGER, montant REAL, statut TEXT, FOREIGN KEY (id_client) REFERENCES client(id_client) ); INSERT INTO client VALUES (1, 'Ali', 'Casablanca'), (2, 'Sara', 'Rabat'), (3, 'Youssef', 'Tanger'); INSERT INTO commande VALUES (101, 1, 200, 'payée'), (102, 1, 150, 'en attente'), (103, 2, 300, 'payée');
Table client
id_clientnomville
1AliCasablanca
2SaraRabat
3YoussefTanger
Table commande
id_commandeid_clientmontantstatut
1011200payée
1021150en attente
1032300payée

🔍 2. SELECT & WHERE

SELECT * FROM commande WHERE statut = 'payée';
id_commandeid_clientmontantstatut
1011200payée
1032300payée

🔗 3. JOIN

INNER JOIN

SELECT c.nom, cmd.montant FROM client c INNER JOIN commande cmd ON c.id_client = cmd.id_client;
nommontant
Ali200
Ali150
Sara300
👉 Youssef n’apparaît pas (pas de commande).

LEFT JOIN

SELECT c.nom, cmd.montant FROM client c LEFT JOIN commande cmd ON c.id_client = cmd.id_client;
nommontant
Ali200
Ali150
Sara300
YoussefNULL
👉 Tous les clients apparaissent.

📊 4. GROUP BY

SELECT id_client, SUM(montant) AS total FROM commande GROUP BY id_client;
id_clienttotal
1350
2300

⚖️ 5. HAVING

SELECT id_client, SUM(montant) AS total FROM commande GROUP BY id_client HAVING total > 300;
id_clienttotal
1350

📈 6. ORDER BY & LIMIT

SELECT * FROM commande ORDER BY montant DESC LIMIT 2;
id_commandeid_clientmontantstatut
1032300payée
1011200payée

👁️ 7. VIEW

CREATE VIEW vue_total_client AS SELECT c.nom, SUM(cmd.montant) AS total FROM client c JOIN commande cmd ON c.id_client = cmd.id_client GROUP BY c.id_client;
SELECT * FROM vue_total_client;
nomtotal
Ali350
Sara300

🔄 8. TRANSACTIONS

BEGIN TRANSACTION; UPDATE commande SET statut = 'annulée' WHERE id_commande = 101; COMMIT; -- ou ROLLBACK en cas d'erreur
🔒 Tout redevient initial après ROLLBACK.

⚙️ 9. ORDRE RÉEL D’EXÉCUTION SQL

FROM → JOIN → WHERE → GROUP BY → HAVING → SELECT → ORDER BY → LIMIT

📌 10. CONCLUSION

ConceptRôle
SELECTLire
WHEREFiltrer
JOINRelier tables
GROUP BYRegrouper
HAVINGFiltrer groupes
VIEWTable virtuelle
TRANSACTIONSécurité
LIMITRestreindre résultats

🧪 Testez vos connaissances – 40 QCM SQL

Chargement...

40 questions basées sur le cours ci‑dessus

SQL interactif – Toutes les réponses sont dans le cours

Aucun commentaire:

Enregistrer un commentaire