Types de requêtes

Présentation des principaux types de requêtes SQL

Requête simple

Structure générale des requêtes simples de sélection :

SELECT
FROM ...
[WHERE ...]
[ORDER BY ...]
[LIMIT ...];

Explications :

  • SELECT : liste des colonnes de la table dont on souhaite récupérer les valeurs
  • FROM : liste des tables sur lesquelles la requête doit opérer
  • WHERE : expression contenant les conditions que doivent remplir les enregistrements que l’on cherche
  • LIMIT : nombre maximum d’enregistrements à récupérer

Exemple d’une requête sur une table unique : Sélection dans le COG de l’INSEE des communes du département des Ardennes dont le libellé contient « Saint » :

SELECT com, reg, dep, libelle
FROM limites_admin.cog_communes
WHERE com LIKE '08%'
  AND typecom = 'COM'
  AND libelle LIKE '%Saint%';

Jointure

Structure générale des requêtes de jointure :

SELECT ...
FROM table1, table2
WHERE table1.colonne1 = table2.colonne2;

ou

SELECT ...
FROM table1
<TYPE DE JOINTURE> table2
ON table1.colonne1 = table2.colonne2;

Exemple : sélection dans le COG de l’INSEE des communes du département des Ardennes dont le libellé contient « Saint » et ajout d’une colonne reprenant le code INSEE de l’EPCI de la commune :

SELECT cog.*, adm_express.siren_epci
    FROM limites_admin.cog_communes AS cog, 
       limites_admin.admin_express_communes AS adm_express
    WHERE com LIKE '08%'
    AND typecom = 'COM'
    AND libelle LIKE '%Saint%'
    AND cog.com = adm_express.insee_com;

Agrégation

Structure générale des requêtes d’agrégation :

SELECT ...
FROM ...
[WHERE ...]
GROUP BY
[HAVING ...]

Exemple : dénombrement des communes du COG de l’INSEE par département et tri par valeur décroissante de ce dénombrement :

SELECT cog.dep, COUNT(*) AS denombrement
  FROM limites_admin.cog_communes AS cog
  WHERE cog.typecom = 'COM'
  GROUP BY cog.dep
  ORDER BY denombrement DESC;