
[Série SQL #1] Comprendre SQL
Premiers pas avec SELECT
Apprenez à interroger vos données comme un pro, en partant de zéro.
Introduction courte : Pourquoi c’est utile ?
Que vous manipuliez des fichiers Excel, construisiez des dashboards BI ou exploriez des bases clients, savoir interroger une base de données avec SELECT est indispensable.
Voici le premier pas vers la maîtrise du langage SQL, un outil incontournable pour tout analyste, développeur ou curieux de données.
Syntaxe générale de SELECT
SELECT colonne1, colonne2, ...
FROM nom_table;SQLDécomposition rapide :
- SELECT → Ce que vous voulez voir
- FROM → Où chercher (le nom de la table)
Important : les mots-clés SQL ne sont pas sensibles à la casse, mais on les écrit souvent en majuscules par convention.
Exemples concrets à partir d’une table employees
Utilisation d’une table fictive nommée employees, inspirée du jeu de données Pagila/Sakila :
| employee_id | first_name | last_name | department | salary |
|---|---|---|---|---|
| 1 | Alice | Dubois | HR | 3200 |
| 2 | Karim | Nguyen | IT | 4100 |
| 3 | Fatou | Mendes | Sales | 3900 |
Exemple 1 : Sélectionner toutes les colonnes
SELECT *
FROM employees;SQL⁉️ Le * signifie « tout sélectionner ». C’est pratique pour tester, mais à éviter en production pour des raisons de lisibilité et de performance.
Exemple 2 : Sélectionner des colonnes spécifiques
SELECT
first_name
,department
FROM employees;SQLExemple 3 : Ajouter un alias
SELECT
first_name AS prénom
,department AS service
FROM employees;SQL⁉️ L’alias (AS) permet de renommer une colonne pour l’affichage – très utile dans un rapport ou un dashboard.
Exemple 4 : Ajouter un commentaire
/*
Créer le 07/06/1992
Par Violleta T.
*/
-- Cette requête affiche tous les salariés
SELECT *
FROM employees;SQL⁉️ Il existe 2 façons d’ajouter des commentaires SQL :
- double tiret — : permet de faire un commentaire jusqu’à la fin de la ligne.
- multi-ligne /* et */ : permet d’indiquer où commence et où se termine le commentaire
Utiles pour tester ou documenter votre code SQL !
Astuces et pièges classiques
Même si SELECT semble simple au premier abord, plusieurs subtilités peuvent vite piéger un débutant.
Voici les 5 pièges les plus courants, avec des explications et des solutions.
1. Alias non pris en compte dans certaines clauses
SELECT
salary AS salaire
FROM employees
ORDER BY salaire; -- erreur possibleSQLDans certains SGBD, les alias définis dans SELECT ne sont pas reconnus dans les clauses comme ORDER BY ou GROUP BY.
💡Préfère la colonne d’origine ou sa position :
ORDER BY salary
-- ou
ORDER BY 1SQL2. Nom de colonne ambiguë dans les jointures
SELECT
id
FROM employees, departments;SQLSQL ne sait pas quelle colonne id afficher si elle existe dans plusieurs tables.
Ce problème est fréquent dans les jointures, que nous verrons plus tard.
💡En attendant, précise toujours le nom de la table (ou un alias clair).
SELECT
employees.id
FROM employees;SQL3. Noms de colonnes réservés ou à espaces
SELECT
order
FROM sales;SQLOrder est un mot réservé (comme select, table, group, etc.).
Cela peut provoquer une erreur ou un comportement imprévisible.
💡Utilise des guillemets ou crochets, ou renomme la colonne si possible :
SELECT
"order"
FROM sales;SQL4. Les doublons inattendus
SELECT
department
FROM employees;SQLTu t’attendais à voir une liste unique des départements… mais tu as 200 lignes “Sales” ?
C’est normal : SELECT n’élimine pas les doublons par défaut.
💡On verra la solution : DISTINCT, dans l’article 3 pour gérer ça efficacement.
5. Commentaires -- qui cassent la requête dans certains outils
SELECT
-- colonnes affichées
first_name,
salary
FROM employees;SQLCertains outils (ex. : notebooks, éditeurs no-code, scripts) lisent seulement la première ligne d’une requête ou interprètent mal les –.
Résultat : la requête est tronquée ou retourne une erreur.💡Préfère les commentaires sur leur propre ligne, ou utilise des commentaires multi-lignes si supportés :
/* afficher le prénom et le salaire */
SELECT
first_name,
salary
FROM employees;SQLMini-challenge interactif
Essayez cette requête dans votre environnement :
Afficher uniquement le prénom et le salaire de tous les employés du département Sales, en renommant les colonnes.
💡Solution
SELECT
"first_name" AS prénom,
"salary" AS salaire
FROM employees
WHERE department = 'Sales';SQLEt vous, combien d’employés avez-vous trouvé ?
Partagez vos résultats ou vos questions en commentaire ! 😉
Résumé visuel final
En résumé : voici les fondations d’une requête SQL bien construite.
Un petit pense-bête visuel pour ne plus se mélanger entre SELECT, alias, commentaires et autres subtilités du quotidien 👇
| Élément | Utilité | Exemple |
|---|---|---|
| SELECT * | Toutes les colonnes | SELECT * |
| FROM tab | Tables ciblées | SELECT * FROM employees; |
| SELECT col | Colonnes ciblées | SELECT first_name |
| AS | Alias pour lisibilité | SELECT first_name AS prénom |
| — | Commentaire | — Ceci est un commentaire |
Maintenant que vous savez lire dans une table, il est temps de passer à l’étape suivante :
filtrer les données pour ne garder que celles qui comptent.
À lire ensuite → Article 2 : Filtrer avec WHERE & opérateurs logiques (Lien à venir)