27 juin 2024
đ Cheatsheet SQL
đ Table des MatiĂšres
đ Introduction
SQL (Structured Query Language) est le langage standard pour gĂ©rer et manipuler des bases de donnĂ©es relationnelles. Cette cheatsheet couvre les commandes essentielles pour lâinteraction avec les bases de donnĂ©es SQL.
đ Commandes de Base
Commande | Description |
SELECT | Récupérer des données |
FROM | Spécifier la table |
WHERE | Filtrer les résultats |
ORDER BY | Trier les résultats |
LIMIT | Limiter le nombre de résultats |
Exemple
SELECT nom, age
FROM employes
WHERE age > 30
ORDER BY age DESC
LIMIT 10;
Clauses de filtrage
Commande | Description |
WHERE | Filtrer les lignes selon une condition |
AND | Combiner plusieurs conditions |
OR | Choisir parmi plusieurs conditions |
NOT | Nier une condition |
IN | Correspondance dans une liste |
BETWEEN | Plage de valeurs |
LIKE | Correspondance de motif |
IS NULL | VĂ©rifier si une valeur est nulle |
SELECT nom, salaire
FROM employes
WHERE salaire BETWEEN 40000 AND 60000
AND nom LIKE 'J%';
Jointures
Type de Jointure | Description |
INNER JOIN | Renvoie les lignes ayant des correspondances |
LEFT JOIN | Renvoie toutes les lignes de la table de gauche et les correspondances de la table de droite |
RIGHT JOIN | Renvoie toutes les lignes de la table de droite et les correspondances de la table de gauche |
FULL JOIN | Renvoie toutes les lignes quand il y a une correspondance dans lâune ou lâautre des tables |
SELECT e.nom, d.nom_departement
FROM employes e
INNER JOIN departements d ON e.departement_id = d.id;
Groupement et agrégation
Commande | Description |
GROUP BY | Grouper les lignes qui ont des valeurs identiques |
HAVING | Filtrer les groupes |
COUNT | Compter le nombre de lignes |
SUM | Calculer la somme |
AVG | Calculer la moyenne |
MIN | Trouver la valeur minimale |
MAX | Trouver la valeur maximale |
SELECT departement_id, AVG(salaire) AS salaire_moyen
FROM employes
GROUP BY departement_id
HAVING AVG(salaire) > 50000;
Sous-requĂȘtes
Type | Description |
Sous-requĂȘte dans SELECT | Utiliser une requĂȘte dans une autre |
Sous-requĂȘte dans FROM | Utiliser une requĂȘte comme une table |
Sous-requĂȘte dans WHERE | Utiliser une requĂȘte pour filtrer |
SELECT nom, salaire
FROM employes
WHERE salaire > (SELECT AVG(salaire) FROM employes);
Manipulation des données
Commande | Description |
INSERT INTO | Insérer des nouvelles lignes |
UPDATE | Modifier les lignes existantes |
DELETE FROM | Supprimer des lignes |
INSERT INTO employes (nom, salaire, departement_id)
VALUES ('Marie Dupont', 60000, 2);
UPDATE employes
SET salaire = salaire * 1.1
WHERE departement_id = 3;
DELETE FROM employes
WHERE salaire < 30000;
Gestion des tables
Commande | Description |
CREATE TABLE | Créer une nouvelle table |
ALTER TABLE | Modifier une table existante |
DROP TABLE | Supprimer une table |
CREATE INDEX | Créer un index |
DROP INDEX | Supprimer un index |
CREATE TABLE departements (
id INT PRIMARY KEY,
nom_departement VARCHAR(100)
);
ALTER TABLE employes
ADD COLUMN adresse VARCHAR(255);
DROP TABLE anciennes_donnees;
Fonctions
Fonction | Description |
NOW() | Obtenir la date et lâheure actuelles |
COALESCE | Retourner la premiĂšre valeur non NULL |
IFNULL | Retourner une valeur de remplacement si NULL |
LENGTH | Longueur dâune chaĂźne |
SUBSTRING | Extraire une sous-chaĂźne |
ROUND | Arrondir un nombre |
SELECT nom, ROUND(salaire, 2) AS salaire_arrondi
FROM employes
WHERE COALESCE(adresse, 'Adresse non fournie') = 'Adresse non fournie';