Wyrażaj intencje

Stosowanie SQL w praktyce

Dmitriy (Dima) Gorenshteyn

Lead Data Scientist, Memorial Sloan Kettering Cancer Center

Dlaczego to ważne?

uśmiechnięta buźka wyrażająca obojętność

"...jeśli mój kod robi to, co zaprojektowałem, kogo obchodzi, jak jest napisany..."

Stosowanie SQL w praktyce

...za sześć miesięcy

sfrustrowana osoba

Stosowanie SQL w praktyce

Zawsze używaj AS

Oryginał

SELECT title film_title
FROM film;

Ulepszona wersja

SELECT title AS film_title
FROM film;
Stosowanie SQL w praktyce

Jaki typ JOIN?

Oryginał

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

Ulepszona wersja

SELECT category, length
FROM film AS f
INNER JOIN category AS c
ON f.film_id = c.film_id;
Stosowanie SQL w praktyce

Dobre użycie aliasów

Oryginał

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

Ulepszona wersja

SELECT category, length
FROM film AS f
INNER JOIN category AS c
ON f.film_id = c.film_id;
Stosowanie SQL w praktyce

Dobre użycie aliasów

Oryginał

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

Ulepszona wersja

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;
Stosowanie SQL w praktyce

Używaj komentarzy

/* Use the system table, information_schema.columns to 
generate a comma-separated list of columns for each table */
SELECT table_name, STRING_AGG(column_name, ', ') AS columns
FROM information_schema.columns
-- All our data is stored in the public schema.
WHERE table_schema = 'public'
GROUP BY table_name;
/* Multi-line comment */
-- Single-line comment
Stosowanie SQL w praktyce

Jaka była Twoja intencja?

Stosowanie SQL w praktyce

Preparing Video For Download...