SELECT
#SELECT
Projection de colonnes, alias, filtres, tri et pagination.
sqlsql
1select id, name from users where id >= 1 order by id desc limit 5;
Colonnes calculées et alias:
sqlsql
1select id, upper(name) as NAME_UPPER from users;
#Playground
#Exercice : Sous-requêtes dans SELECT
Créez une requête qui affiche pour chaque utilisateur son nom et le nombre total de commandes qu'il a passées, en utilisant une sous-requête dans la clause SELECT.
#Instructions
- Supposez que vous avez deux tables :
users(id, name)
orders(id, user_id, amount)
- Utilisez une sous-requête dans la clause SELECT pour compter le nombre de commandes pour chaque utilisateur.
- La sous-requête doit compter les commandes de l'utilisateur courant dans la boucle principale.
#Exemple de requête
sqlsql
1-- Création des tables de démonstration2create table users(id int, name text);3create table orders(id int, user_id int, amount real);4 5-- Insertion de données6insert into users values (1, 'Alice'), (2, 'Bob'), (3, 'Charlie');7insert into orders values (1, 1, 100.0), (2, 1, 50.0), (3, 2, 200.0);8 9-- Requête avec sous-requête dans SELECT10select 11 name,12 (select count(*) from orders where user_id = users.id) as order_count13from users;
#À retenir
SELECT en bref
- Ordre logique: FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY → LIMIT.
- Utiliser des alias explicites pour la lisibilité.
#Quiz
Que renvoie SELECT COUNT(name) FROM users WHERE id > 0 ?