Передавайте свій намір

Застосування SQL до реальних завдань

Dmitriy (Dima) Gorenshteyn

Lead Data Scientist, Memorial Sloan Kettering Cancer Center

Чому це важливо?

кому яка різниця смайлик

"...якщо мій код робить те, що я задумав, кому яка різниця, як він написаний..."

Застосування SQL до реальних завдань

...через шість місяців

роздратована людина

Застосування SQL до реальних завдань

Завжди використовуйте AS

Оригінал

SELECT title film_title
FROM film;

Поліпшено

SELECT title AS film_title
FROM film;
Застосування SQL до реальних завдань

Який саме JOIN?

Оригінал

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

Поліпшено

SELECT category, length
FROM film AS f
INNER JOIN category AS c
ON f.film_id = c.film_id;
Застосування SQL до реальних завдань

Гарне використання псевдонімів

Оригінал

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

Поліпшено

SELECT category, length
FROM film AS f
INNER JOIN category AS c
ON f.film_id = c.film_id;
Застосування SQL до реальних завдань

Гарне використання псевдонімів

Оригінал

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

Поліпшено

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;
Застосування SQL до реальних завдань

Використовуйте коментарі

/* Використайте системну таблицю information_schema.columns,
щоб згенерувати список стовпців, розділений комами, для кожної таблиці */
SELECT table_name, STRING_AGG(column_name, ', ') AS columns
FROM information_schema.columns
-- Усі наші дані зберігаються в схемі public.
WHERE table_schema = 'public'
GROUP BY table_name;
/* Багаторядковий коментар */
-- Однорядковий коментар
Застосування SQL до реальних завдань

Який був ваш намір?

Застосування SQL до реальних завдань

Preparing Video For Download...