Ce qu'il faut retenir pour les examens en Bases de Données (SQL)
1. Commandes SQL de base
SELECT : Interroger des données
SELECT colonne1, colonne2 FROM table WHERE condition;
INSERT : Ajouter des données
INSERT INTO table (colonne1, colonne2) VALUES (valeur1, valeur2);
UPDATE : Modifier des données
UPDATE table SET colonne = nouvelle_valeur WHERE condition;
DELETE : Supprimer des données
DELETE FROM table WHERE condition;
TRUNCATE : Vider une table (supprime toutes les lignes)
TRUNCATE TABLE table;
2. Fonctions SQL essentielles
Fonctions de groupe :
o COUNT(), SUM(), AVG(), MIN(), MAX()
SELECT AVG(salaire) FROM employe;
Fonctions de texte :
o UPPER(), LOWER(), CONCAT(), SUBSTR(), LENGTH()
SELECT UPPER(nom) FROM employe;
Fonctions de date :
o SYSDATE, TO_CHAR(), MONTHS_BETWEEN(), ADD_MONTHS()
SELECT TO_CHAR(date_embauche, 'DD/MM/YYYY') FROM employe;
Gestion des NULL :
o NVL() (remplace NULL par une valeur)
SELECT NVL(commission, 0) FROM employe;
3. Jointures (JOIN)
Jointure interne (INNER JOIN) :
SELECT [Link], d.nom_dept
FROM employe e
INNER JOIN departement d ON [Link] = [Link];
Jointure externe (LEFT/RIGHT JOIN) :
SELECT [Link], d.nom_dept
FROM employe e
LEFT JOIN departement d ON [Link] = [Link];
Autojointure (SELF JOIN) :
SELECT [Link], [Link] AS manager
FROM employe e1, employe e2
WHERE e1.manager_id = [Link];
4. Contraintes de table
Clé primaire (PRIMARY KEY) :
CREATE TABLE employe (id NUMBER PRIMARY KEY, nom VARCHAR2(30));
Clé étrangère (FOREIGN KEY) :
CREATE TABLE employe (
id NUMBER,
deptno NUMBER,
FOREIGN KEY (deptno) REFERENCES departement(deptno)
);
NOT NULL :
CREATE TABLE employe (nom VARCHAR2(30) NOT NULL);
CHECK :
CREATE TABLE employe (salaire NUMBER CHECK (salaire > 1000));
5. GROUP BY et HAVING
GROUP BY : Regrouper des données
SELECT deptno, AVG(salaire)
FROM employe
GROUP BY deptno;
HAVING : Filtrer des groupes
SELECT deptno, AVG(salaire)
FROM employe
GROUP BY deptno
HAVING AVG(salaire) > 2000;
6. Commandes DDL (Data Definition Language)
Création de table :
CREATE TABLE employe (id NUMBER, nom VARCHAR2(30));
Modification de table :
ALTER TABLE employe ADD (prenom VARCHAR2(30));
Suppression de table :
DROP TABLE employe;
Renommage :
RENAME ancien_nom TO nouveau_nom;
7. Astuces pour l'examen
✅ Vérifiez les contraintes avant de créer/modifier une table.
✅ Utilisez DESCRIBE table pour voir la structure d'une table.
✅ Testez vos requêtes avant de les écrire définitivement.
✅ Pensez aux jointures quand une question demande des données de plusieurs tables.
✅ DISTINCT élimine les doublons dans les résultats.
Résumé final
INSERT, UPDATE, DELETE pour manipuler les données.
SELECT avec JOIN, WHERE, GROUP BY pour interroger.
Fonctions (COUNT, AVG, NVL, TO_CHAR, etc.) pour calculer et formater.
Contraintes (PK, FK, NOT NULL) pour l’intégrité des données.
ALTER, DROP, RENAME pour modifier la structure.