Truyền đạt ý định của bạn

Ứng dụng SQL vào các bài toán thực tế

Dmitriy (Dima) Gorenshteyn

Lead Data Scientist, Memorial Sloan Kettering Cancer Center

Vì sao quan trọng?

ai quan tâm mặt cười

"...nếu mã làm đúng như tôi thiết kế, ai quan tâm nó được viết thế nào..."

Ứng dụng SQL vào các bài toán thực tế

...sáu tháng sau

người thất vọng

Ứng dụng SQL vào các bài toán thực tế

Luôn dùng AS

Bản gốc

SELECT title film_title
FROM film;

Cải thiện

SELECT title AS film_title
FROM film;
Ứng dụng SQL vào các bài toán thực tế

Loại JOIN nào?

Bản gốc

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

Cải thiện

SELECT category, length
FROM film AS f
INNER JOIN category AS c
ON f.film_id = c.film_id;
Ứng dụng SQL vào các bài toán thực tế

Dùng bí danh hợp lý

Bản gốc

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

Cải thiện

SELECT category, length
FROM film AS f
INNER JOIN category AS c
ON f.film_id = c.film_id;
Ứng dụng SQL vào các bài toán thực tế

Dùng bí danh hợp lý

Bản gốc

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

Cải thiện

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;
Ứng dụng SQL vào các bài toán thực tế

Dùng chú thích

/* Dùng bảng hệ thống information_schema.columns để
tạo danh sách cột phân tách bằng dấu phẩy cho mỗi bảng */
SELECT table_name, STRING_AGG(column_name, ', ') AS columns
FROM information_schema.columns
-- Toàn bộ dữ liệu nằm trong schema public.
WHERE table_schema = 'public'
GROUP BY table_name;
/* Comment nhiều dòng */
-- Comment một dòng
Ứng dụng SQL vào các bài toán thực tế

Ý định của bạn là gì?

Ứng dụng SQL vào các bài toán thực tế

Preparing Video For Download...