inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

데이터 분석 SQL Fundamentals

Where절 서브 쿼리의 이해 - 02

서브쿼리: 고객이 가장 최근에 주문한 주문 정보 추출 관련

420

최윤정

작성한 질문수 11

0

안녕하세요, 선생님.

하루에 한번은 질문을 드리는거 같은데 자세하게 답변주셔서 항상 감사드립니다.

 

-- 고객이 가장 최근에 주문한 주문 정보 추출

를 아래와 같이 풀어도 결과값은 같더라구요.

select * from nw.orders a 
where order_date in (select max(b.order_date) from nw.orders b where b.customer_id =a.customer_id );

(아래는 예제 코드)

select * from nw.orders
where (customer_id, order_date) in (select customer_id, max(order_date) from nw.orders group by customer_id);

where...in 은 비상관쿼리의 다중행,
where existx (...)은 상관쿼리의 다중행
반환에 사용된다는 것을 배웠기 때문에 저렇게 하면 안되는 거 같은데 왜 안될까 궁금합니다.

 

 

sql postgresql dbms/rdbms

답변 1

1

권 철민

안녕하십니까,

질문은 얼마든지 괜찮습니다. 부담 가지지 마십시요 ^^

질문을 제대로 이해했는지 모르겠습니다.

in 연산자는 상관 서브 쿼리, 비상관 서브 쿼리에 다 사용 가능합니다. 뿐만 아니라, 단일행, 다중행 반환 모두 가능합니다. 다만 가능하다면 의미상의 명확화를 위해서 단일행의 경우 = 을 사용해 주면 좋습니다.

원하시는 답변이 아니면 다시 글 부탁드립니다.

 

'레벨 유지'의 의미에 대한 질문

0

53

2

date_part

0

56

2

lag/lead offset 관련 질문

0

56

2

join 관련 질문 (inner join, left join)

1

101

2

배치에서 full outer join을 쓴다고 하셨는데 예시를 알 수 있을까요?

0

90

2

Madrid에 살고 있는 고객이 주문한 주문 정보를 구할것. 실습 질문드립니다

0

54

2

rollup시 null값 매출 라벨링

0

55

2

10. 조인 실습 - 02 관련 질문

0

60

1

조인실습03 - join의 pk-fk join

0

109

2

조인실습03 - join의 pk-fk join

0

69

2

(공유)맥, 스키마 import

0

81

2

sql 입문자인데, 이 강의와 sql 코딩테스트와 연관이 있을까요?

0

138

2

1인지 M인지는 결국엔 테이블을 직접 확인을 해야 하는걸까요?

0

132

2

안녕하세요. 튜닝핵심가이드강의 관련해서 여쭤보고 싶어서 남깁니다.

0

91

1

섹션5 Group by 실습-01 강의 예제 질문

0

119

2

섹션2 조인 기반 메커니즘에서 조인 실습 - 04 강의 예제 질문

0

125

2

섹션2 조인 실습 01 강의 질문

0

134

2

lead lag 이해 강의에서 윈도우 절은 사용되지 않습니다.

0

128

1

Dbeaver오류

0

631

2

직원 별 가장 높은 매출

0

119

1

강의순서대로 실습코드순알려주세요.

0

134

1

m:n inner join일 경우 cross조인과 동일하게 동작되는건가요?

0

131

1

rollup

0

91

2

Dbeaver에 접속해도 postgressql이 네비게이터에 안보입니다.

0

355

2