
✅ UNNEST
SELECT
UNNEST(string_to_array(genres, ','))
FROM
movies
GROUP BY
genres;

,로 구분되어 여러 장르들이 한 string으로 이어져 있던 genres column을 string_to_array(genres, ',') 함수를 사용하여
,를 기준으로 구별한다음 array로 만들었다. 그리고 그 array를 UNNEST()를 이용하여 array를 풀어서 모든 genre 값들이 한 row에 하나의 genre만 가지도록 바꿨다.
✅ DISTINCT
SELECT DISTINCT
UNNEST(string_to_array(genres, ','))
FROM
movies
GROUP BY
genres;
그 후 DISTINCT 키워드를 추가해 중복되는 값들을 전부 지운다.

✅ FULL OUTER JOIN
JOIN하는 두 테이블의 모든 데이터를 가져온다.(합집합)
(MySQL과 SQLite에는 없는 기능)
SELECT
movies.title,
directors."name"
FROM
movies
FULL OUTER JOIN directors USING (director_id);
만약 합집합에서 교집합을 뺀 값을 가져오고 싶다면
SELECT
movies.title,
directors."name"
FROM
movies
FULL OUTER JOIN directors USING (director_id)
WHERE
movies.title IS NULL
OR directors."name" IS NULL;
'🧩 SQL' 카테고리의 다른 글
| SQL - PostgreSQL, Extension(plpython3) (0) | 2026.04.02 |
|---|---|
| SQL - PostgreSQL, Function, Procedure (0) | 2026.04.01 |
| SQL - PostgreSQL, Data Types (0) | 2026.04.01 |
| SQL - PostgreSQL, pgAdmin (0) | 2026.04.01 |
| SQL - PostgreSQL 설치(공식 사이트, Homebrew) (0) | 2026.04.01 |