Vues — Exemples#
courant
Vue simple#
CREATE VIEW etudiants_majeurs AS
SELECT * FROM etudiants WHERE age >= 18;
SELECT * FROM etudiants_majeurs ORDER BY nom;
Vue avec jointure et agrégat#
CREATE VIEW nb_etudiants_par_ville AS
SELECT v.nom AS ville, COUNT(e.id) AS nb
FROM villes v
LEFT JOIN etudiants e ON e.ville_id = v.id
GROUP BY v.nom;
Vue basée sur une CTE avancé#
CREATE VIEW top_villes AS
WITH compte AS (
SELECT ville_id, COUNT(*) AS nb FROM etudiants GROUP BY ville_id
)
SELECT v.nom, c.nb
FROM compte c JOIN villes v ON v.id = c.ville_id
ORDER BY c.nb DESC
LIMIT 5;