Chinook — Consultes avançades
Veure com a PDFLa botiga de música Chinook vol informes que amb SQL bàsic costarien molt d'escriure. Practiques agregats condicionals amb FILTER, DISTINCT ON per quedar-te amb una fila de cada grup, generate_series per omplir els dies sense dades, funcions de finestra amb acumulats, ROLLUP per als subtotals, LATERAL per als "top N de cada grup" i un WITH RECURSIVE per recórrer l'organigrama. Les files es comparen sense tenir en compte l'ordre, però sí el nombre i l'ordre de les columnes.
Aquest problema fa servir la base de dades Chinook (botiga de música: artistes, àlbums, pistes, playlists, clients i factures), amb les taules següents: album, artist, customer, employee, genre, invoice, invoice_line, media_type, playlist, playlist_track, track. Pots consultar l'esquema complet amb el botó "View the database schema" d'aquesta mateixa pàgina.
Les consultes s'executen sobre PostgreSQL 17: fes servir la sintaxi de PostgreSQL (i PL/pgSQL per a funcions, procediments i triggers).
Cada pregunta es contesta amb una consulta SELECT independent, en el seu propi quadre de text. Es comparen el nombre de columnes i les files del resultat; els noms de les columnes i l'ordre de les files no es tenen en compte.
Comentaris