<SQL> Inner Join / Left Join

허정숙·2023년 1월 5일
0

테이블 연결 Join

엑셀의 vlookup과 동일하게테이블을 연결하기

Inner Join

2개 테이블의 교집합부분 중 원하는 데이터 가져오기

사례 주문정보에 유저 정보를 연결해 네이버 메일을 사용하는 유저 중 성씨별 주문건수를 세기

쿼리문 select u.name, count(u.name) as count_name from orders o / ininer join users u / on o.user_id = u.user_id / where u.email like '%naver.com' / group by u.name

쿼리문 실행순서 from - join - where - group - select

Left Join

기준이 되는 테이블의 오른편으로 테이블을 붙여 두개의 테이블에서 원하는 데이터 가져오기

사례 7월10일 ~ 7월19일에 가입한 고객 중, 포인트를 가진 고객의 숫자, 그리고 전체숫자, 그리고 비율보기

힌트 1) count는 NULL을 세지 않는다 2)Alias별칭을 잘 붙인다 3) 비율은 소수둘째자리 반올림

쿼리문 select count(point_user_id) as pnt_user_cnt / count() as tot_user_cnt / round(count(point_user_id)/count(),2) as ratio / from users u / left join point_user pu on u.user_id = pu.user_id / where u.created_at between '2020-07-10' and '2020-07-20'

profile
새해 새로운 도전 코딩

0개의 댓글