Cours complet sur les requêtes SQL
1. Introduction au SQL
SQL (Structured Query Language) est un langage utilisé pour communiquer avec une base de données.
Il permet de créer, lire, modifier et supprimer des données dans une base.
Les bases de données relationnelles populaires incluent :
- MySQL
- PostgreSQL
- SQL Server
- Oracle
- SQLite
2. La requête SELECT (Lire des données)
La commande SELECT est la plus utilisée en SQL. Elle permet d'afficher les données d'une table.
Syntaxe :
SELECT colonne1, colonne2 FROM nom_table;
Exemple :
SELECT nom, prenom FROM clients;
Afficher toutes les colonnes :
SELECT * FROM clients;
3. Filtrer les résultats avec WHERE
La clause WHERE permet de filtrer les données.
Syntaxe :
SELECT * FROM clients WHERE age > 18;
Exemples :
SELECT * FROM clients WHERE ville = 'Paris';
SELECT * FROM produits WHERE prix <= 100;
Opérateurs utilisés :
= (égal)
!= (différent)
> (supérieur)
< (inférieur)
>= (supérieur ou égal)
<= (inférieur ou égal)
4. Trier les résultats avec ORDER BY
La clause ORDER BY permet de trier les résultats.
Syntaxe :
SELECT * FROM clients ORDER BY nom ASC;
ASC : ordre croissant
DESC : ordre décroissant
Exemple :
SELECT * FROM produits ORDER BY prix DESC;
5. Limiter les résultats avec LIMIT
LIMIT permet de limiter le nombre de résultats.
Syntaxe :
SELECT * FROM produits LIMIT 5;
Exemple :
Afficher les 10 premiers produits :
SELECT * FROM produits LIMIT 10;
6. Ajouter des données avec INSERT
INSERT permet d'ajouter des données dans une table.
Syntaxe :
INSERT INTO clients (nom, prenom, age)
VALUES ('Dupont', 'Jean', 25);
7. Modifier des données avec UPDATE
UPDATE permet de modifier des données existantes.
Syntaxe :
UPDATE clients
SET age = 30
WHERE nom = 'Dupont';
8. Supprimer des données avec DELETE
DELETE permet de supprimer des données.
Syntaxe :
DELETE FROM clients
WHERE nom = 'Dupont';
9. Les fonctions d'agrégation
Ces fonctions permettent de faire des calculs sur les données.
COUNT() : compter
SUM() : somme
AVG() : moyenne
MIN() : minimum
MAX() : maximum
Exemple :
SELECT COUNT(*) FROM clients;
SELECT AVG(prix) FROM produits;
10. GROUP BY (Regrouper les données)
GROUP BY permet de regrouper les résultats.
Exemple :
SELECT ville, COUNT(*)
FROM clients
GROUP BY ville;
11. Les jointures (JOIN)
Les jointures permettent de combiner plusieurs tables.
Types principaux :
INNER JOIN
LEFT JOIN
RIGHT JOIN
Exemple INNER JOIN :
SELECT [Link], [Link]
FROM clients
INNER JOIN commandes
ON [Link] = commandes.client_id;
12. Les sous-requêtes (Subqueries)
Une sous-requête est une requête à l'intérieur d'une autre.
Exemple :
SELECT nom
FROM clients
WHERE id IN (
SELECT client_id
FROM commandes
);
13. Les vues (VIEW)
Une vue est une table virtuelle basée sur une requête.
Syntaxe :
CREATE VIEW vue_clients AS
SELECT nom, prenom
FROM clients;
14. Les index
Les index permettent d'améliorer la vitesse des recherches.
Syntaxe :
CREATE INDEX idx_nom
ON clients(nom);
15. Bonnes pratiques SQL
- Toujours utiliser WHERE avec UPDATE et DELETE
- Nommer clairement les colonnes
- Éviter SELECT *
- Sauvegarder la base régulièrement
- Tester les requêtes avant exécution