Aller au contenu

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;

Lister les vues du schéma#

SELECT name, sql FROM sqlite_master WHERE type = 'view';