Transmita sua intenção

Aplicando SQL a Problemas do Mundo Real

Dmitriy (Dima) Gorenshteyn

Lead Data Scientist, Memorial Sloan Kettering Cancer Center

Por que isso é importante?

carinha "quem liga"

"...se meu código faz o que eu quis, quem liga para como ele foi escrito..."

Aplicando SQL a Problemas do Mundo Real

...daqui a seis meses

pessoa frustrada

Aplicando SQL a Problemas do Mundo Real

Sempre use AS

Original

SELECT title film_title
FROM film;

Melhorado

SELECT title AS film_title
FROM film;
Aplicando SQL a Problemas do Mundo Real

Que tipo de JOIN?

Original

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

Melhorado

SELECT category, length
FROM film AS f
INNER JOIN category AS c
ON f.film_id = c.film_id;
Aplicando SQL a Problemas do Mundo Real

Bom uso de aliases

Original

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

Melhorado

SELECT category, length
FROM film AS f
INNER JOIN category AS c
ON f.film_id = c.film_id;
Aplicando SQL a Problemas do Mundo Real

Bom uso de aliases

Original

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

Melhorado

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;
Aplicando SQL a Problemas do Mundo Real

Use comentários

/* Use a tabela do sistema, information_schema.columns, para 
gerar uma lista de colunas separadas por vírgula para cada tabela */
SELECT table_name, STRING_AGG(column_name, ', ') AS columns
FROM information_schema.columns
-- Todos os nossos dados estão no schema public.
WHERE table_schema = 'public'
GROUP BY table_name;
/* Comentário de várias linhas */
-- Comentário de uma linha
Aplicando SQL a Problemas do Mundo Real

Qual era sua intenção?

Aplicando SQL a Problemas do Mundo Real

Preparing Video For Download...