본문 바로가기
개발일지/SQL

SQL 기본 26 셀프 조인(self join)

by 다니엘의 개발 이야기 2022. 8. 31.
320x100

# self join (셀프 조인)

 

# 기본

 

SELECT tableA.col, tableB.col

FROM table AS tableA

JOIN table AS tableB ON

tableA.some_col = tableB.other_col


# 기본에 대한 해석코드

 

#1

SELECT emp.col, report.col

FROM employees AS emp

JOIN employees AS report ON

emp.emp_id = report.report_id

 

#2

SELECT emp.name, report.name AS rep

FROM employees AS emp

JOIN employees AS report ON

emp.emp_id = report.report_id

 

=================

 

문제1

 

제목의 길이가 같은 영화를 출력하세요.

 

#1

SELECT title, length FROM film

WHERE length = 117

 

#2

SELECT f1.title, f2.title, f1.length

FROM film AS f1

INNER JOIN film AS f2 ON

f1.film_id != f2.film_id

AND f1.length = f2.length

 

결과적으로 특정 영화들의 상영시간은 같지만 다른 제목의 영화와 짝지어서 출력된다.

300x250