สื่อสารเจตนาของโค้ด

การประยุกต์ใช้ 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 กับปัญหาในโลกจริง

การใช้ alias ที่ดี

ต้นฉบับ

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 กับปัญหาในโลกจริง

การใช้ alias ที่ดี

ต้นฉบับ

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 กับปัญหาในโลกจริง

ใช้คอมเมนต์

/* 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
การประยุกต์ใช้ SQL กับปัญหาในโลกจริง

เจตนาของโค้ดคืออะไร?

การประยุกต์ใช้ SQL กับปัญหาในโลกจริง

Preparing Video For Download...