Sql

[Sql]#5 Join

쁘띠뀨띠 2023. 12. 20. 20:54

join : 하나의 필드 기준(공통된 정보 key값)을 선택해 테이블을 합쳐서 한번에 볼 수 있다.

left join : 왼쪽 테이블 기준으로 붙인다. A테이블에 B를 붙임..없으면 null

inner join : 교집합

 

예) users테이블과 point_users테이블을 user_id필드 기준으로 합쳐보자.

select * from users u

left join point_users pu

on u.user_id = pu.user_id

*on key = key : key값 기준으로 결합


배웠던 문법을 join과 함께 사용해보자

 

예) orders테이블에 users테이블 연결해서 네이버 이메일을 사용하는 유저 중, 성씨별 주문건수를 세어보자

 
 

select u.name, count(*) as cnt from orders o

inner join users u

on o.user_id = u.user_id

where u.email like '%@naver.com'

group by u.name

1. orders와 users를 user_id 기준으로 join한다.

2. where ~ like 로 naver.com을 사용하는 유저만 가져온다.

3. 가져온 데이터를 name별로 묶는다.

4. 보여줄 필드를 select하고 count를 이용해 name별로 묶여있는 데이터의 수를 센다.

결과)