Comunica le tue intenzioni

Applicare SQL a problemi reali

Dmitriy (Dima) Gorenshteyn

Lead Data Scientist, Memorial Sloan Kettering Cancer Center

Perché è importante?

faccina chi se ne importa

"...se il mio codice fa ciò per cui l'ho progettato, a chi importa come è scritto..."

Applicare SQL a problemi reali

...tra sei mesi

persona frustrata

Applicare SQL a problemi reali

Usa sempre AS

Originale

SELECT title film_title
FROM film;

Migliorato

SELECT title AS film_title
FROM film;
Applicare SQL a problemi reali

Che tipo di JOIN?

Originale

SELECT category, length
FROM film AS f
JOIN category AS c
ON f.film_id = c.film_id;

Migliorato

SELECT category, length
FROM film AS f
INNER JOIN category AS c
ON f.film_id = c.film_id;
Applicare SQL a problemi reali

Buon uso degli alias

Originale

SELECT category, length
FROM film AS x1
INNER JOIN category AS x2
ON x1.film_id = x2.film_id;

Migliorato

SELECT category, length
FROM film AS f
INNER JOIN category AS c
ON f.film_id = c.film_id;
Applicare SQL a problemi reali

Buon uso degli alias

Originale

SELECT category, length
FROM film AS x1
INNER JOIN category AS x2
ON x1.film_id = x2.film_id;

Migliorato

SELECT category, length
FROM film AS f
INNER JOIN category AS c
ON f.film_id = c.film_id;
SELECT category, length
FROM film AS fil
INNER JOIN category AS cat
ON fil.film_id = cat.film_id;
Applicare SQL a problemi reali

Usa i commenti

/* Usa la tabella di sistema information_schema.columns per 
generare un elenco di colonne separato da virgole per ogni tabella */
SELECT table_name, STRING_AGG(column_name, ', ') AS columns
FROM information_schema.columns
-- Tutti i nostri dati sono nello schema public.
WHERE table_schema = 'public'
GROUP BY table_name;
/* Commento su più righe */
-- Commento su singola riga
Applicare SQL a problemi reali

Qual era la tua intenzione?

Applicare SQL a problemi reali

Preparing Video For Download...