의도를 분명히 하세요

실전 문제에 SQL 적용하기

Dmitriy (Dima) Gorenshteyn

Lead Data Scientist, Memorial Sloan Kettering Cancer Center

왜 중요할까요?

누가 신경 쓰나요 스마일 얼굴

"...내 코드가 의도대로만 동작한다면, 어떻게 썼는지는 누가 신경 쓰죠..."

실전 문제에 SQL 적용하기

...6개월 후에

좌절한 사람

실전 문제에 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...