커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
subquery 중 where - in과 join 문법의 차이가 궁금합니다.
[왕초보] 엑셀보다 쉬운, SQL
4주차
북마크
송*찬
댓글
14
추천
0
조회수
30
조회수
30
답변 완료

4주차 강의 중, where - in 설명부분에서 2가지 질문이 있습니다.


강사님은

select u.user_id, u.name from users u

where u.user_id in (select o.user_id from orders o 

where o.payment_method = 'kakaopay')

를 설명하셨는데,


join 쿼리에서는 항상 각 테이블간에 매칭시킬 컬럼?을 지정해주는데 (on u.user_id = o.user_id... 처럼)


where u.user_id in (select o.user_id from orders o 

where o.payment_method = 'kakaopay')

에서는 join - on처럼 따로 지정해주지 않아도

Q1. oders 테이블의 user_id와 users 테이블의 user_id가 어떻게 알아서 매칭이 되는걸까요??


그래서 같은 결과값이 나오는 아래 코드를 짜봤습니다.


SELECT DISTINCT(u.user_id), u.name, o.payment_method from users u 

inner join orders o on u.user_id = o.user_id 

where o.payment_method = 'kakaopay'


값도, 카운팅도 같던데...

업무상, 또는 프로젝트 흐름상 동일한 결과를 얻으려고 할때,


Q2. where - in 구문과, inner join 구문중 어떤 상황에서 구분하여 쓰게 되나요?

취소
 공유
취소
댓글 0
댓글 알림
나의얼굴