Skip to content
This repository was archived by the owner on Mar 3, 2024. It is now read-only.

SQL Cheat Sheet

A-Cndt edited this page Jan 8, 2024 · 2 revisions

Informations

Cette page répertorie toutes les commandes SQL vues en TD / TP à connaitre et à savoir utiliser. Des commandes supplémentaires sont également présentes pour votre culture personnelle.


Commandes / Mots clés

SELECT    -- Selectionner des données dans une base
FROM      -- Spécifie la table sur laquelle on effectue la requête 
WHERE     -- Filtre pour matcher une condition
AS        -- Alias (Renomme colonne ou table)
JOIN      -- Combine les lignes de 2 tables ou plus
AND       -- "ET" logique
OR        -- "OU" logique
LIMIT     -- Limite le nombre de lignes retournées par la requête
IN        -- Selectionne dans une plage de données fixée
CASE      -- Retourne une valeur avec une condition spécifique
IS (NOT) NULL   -- Comparaison avec NULL
LIKE      -- Recherche un pattern dans une colonne
COMMIT    -- Ecrit les transactions dans la base de données (Python)
ROLLBACK  -- Défait un bloc de transaction

ALTER TABLE   -- Ajoute / Supprime des colonnes d'une table
UPDATE        -- Mets à jour des données de la table
CREATE        -- Créer une table, une base de données, un index ou une vue
DELETE        -- Supprime des lignes d'une table
INSERT        -- Ajout des valeurs dans la table
DROP          -- Supprime une table, une base de données, un index ou une vue

GROUP BY      -- Regroupe les données par sets logiques
ORDER BY      -- Ordonne les résultats (par défaut ASC, ordre décroissants : DESC)
HAVING        -- Pareil que WHERE mais pour les GROUP
COUNT         -- Compte le nombre de colonnes
SUM           -- Somme de la colonne
AVG           -- Moyenne de la colonne
MIN           -- Minimum de la colonne
MAX           -- Maximum de la colonne

Langage de définition des données

CREATE

CREATE DATABASE MyDatabase ;  -- Crée un base de données vide

CREATE TABLE MyTable(
    ID INT,
    Name TEXT,
   
    PRIMARY KEY(ID)
    FOREIGN KEY(Name) REFERENCES anotherTable(another_primary_key)

ALTER

ALTER TABLE MyTable DROP COLUMN Col5;   -- Supprime une colonne

ALTER TABLE MyTable ADD COLUMN Col5;    -- Ajoute une colonne

DROP

DROP DATABASE MyDatabase ;
DROP TABLE MyTable ;

Langage de Manipulation des données

UPDATE

UPDATE MyTable
SET col1=56
WHERE col2 = "something"

INSERT

INSERT INTO MyTable(col1, col2) VALUES
("value1", "value2")

DELETE

DELETE FROM MyTable
WHERE col1 = "something"

SELECT

SELECT col1, col2 FROM MyTable

Jointures

INNER JOIN

image

La commande INNER JOIN (aussi appellée EQUIJOIN) retourne les enregistrements lorsqu'il y a au moins une des ligne dans chaque colonne qui correspond à la condition (ie. la donnée est présente dans les deux tables de la jointure)

SELECT * FROM MyTable INNER JOIN MyTable2 ON MyTable.id = MyTable2.id 

LEFT JOIN

image

La commande LEFT JOIN (aussi appellée LEFT OUTER JOIN) retourne les enregistrements de la table

SELECT * FROM MyTable INNER JOIN MyTable2 ON MyTable.id = MyTable2.id 

Exemples

Selectionner toutes les colonnes avec un filtre

SELECT * FROM MyTable WHERE Col > 5 ;  -- Selectionne les valeurs pour lesquelles la valeur de Col est supérieure à 5

Selectionner les 10 premières lignes des 2 colonnes

SELECT col1, col2 FROM MyTable
LIMIT 10

Selectionner des colonnes avec des filtres multiples

SELECT * FROM MyTable WHERE col1 > 5 OR col2 < 2

Selectionner les lignes de la colonne 1 et ordonner sur la colonne 1

SELECT col1 FROM MyTable
ORDER BY col1 ;

Compter le nombre de valeurs dans une table

SELECT COUNT(*) FROM MyTable

Trouver la somme des valeurs d'une colonne

SELECT SUM(col1) FROM MyTable

Trouver le maximum d'une colonne

SELECT MAX(col1) FROM MyTable

Afficher une valeur par "groupe"

SELECT AVG(col1) FROM MyTable GROUP BY col2

Jointure sur 2 tables

SELECT * FROM Table1 as t1
LEFT JOIN Table2 as t2 on t1.id = t2.id ;  -- id clé primaire de t1 et clé étrangère de t2

Aggregation et filtre

SELECT col1, COUNT(*) AS Total FROM MyTable
GROUP BY col1
HAVING COUNT(*) > 10

Rappel : Ordre d'exécution

  1. CREATE VIEW ... AS
  2. SELECT ...
  3. FROM ...
  4. ... JOIN ... ON ... = ...
  5. WHERE ...
  6. GROUP BY ...
  7. HAVING ...
  8. ORDER BY ... ASC / DESC
  9. LIMIT ...