하파와 데이터

다시 연습하는 SQL-3(JOIN) 본문

Development/SQL

다시 연습하는 SQL-3(JOIN)

hhpp 2025. 2. 10. 23:49

면접 종료 후, 

여행과 게으름으로 멈추었던 SQL을 다시 시작해본다. 

 

3주차 강의의 내용은 JOIN 과 

JOIN된 파일을 활용한 결과치를 추출하는 내용이다. 

 

 

1. LEFT, RIGHT, INNER, OUTER JOIN 

조인은 두개의 테이블을 합쳐주는 역할을 수행한다.

예를들어 USERS 테이블과 ORDERS 테이블을 합친다고 가정을 하면, 

 

우선 두개의 테이블을 SELECT 문으로 확인한 뒤, 

공동된 컬럼을 찾는다. 그 후 JOIN 문을 활용하여 공통된 컬럼으로 연결을 한다. 

 

연결 한 뒤에는 하나의 테이블인 것처럼, 테이블을 활용하면 된다. 

 

예를들어 아래와 같이 courses 테이블과 enrolleds 테이블이 있다고 해보자.

 

 

우선 SELECT * FROM 테이블명으로 두 테이블을 확인 한 뒤, 공통된 컬럼인 course_id가 있음을 확인할 수 있다. 

 

여기에 만일 우리가 ' 과목별로 시작하지 않은 유저들을 세어보기' 라는 결과를 원한다면 아래와 같은 sql을 작성할 수 있다. 

 

SELECT c.course_id 
	 ,c.title
	 , count(*) as cnt
FROM courses c 
inner join enrolleds e on c.course_id  = e.course_id 
where e.is_registered = 0 
group by c.course_id 
order by cnt desc

 

 

그러면, 위와같이 반별 시작하지 않은 유저의 수를 확인해볼 수 있다. 

반응형