질문&답변
클라우드/리눅스에 관한 질문과 답변을 주고 받는 곳입니다.
리눅스 분류

mysql 질문요. 하위 쿼리에 관해서..

작성자 정보

  • 깅이이ㅣ 작성
  • 작성일

컨텐츠 정보

본문

하위 커리에 관해서 질문드릴게요.
이해가 안가내요

select cust_id
from orders
where order_num in (select order_num
                            from orderitemms
                            where prod_id='kim');

이건데요 이게 이해가 안가내요.
테이블이 orders 과 orderitemms 이거인데 두개의 테이블을 한곳에 합친다는건가요?..


관련자료

댓글 7

SFWM님의 댓글

  • SFWM
  • 작성일
orders 테이블에서 cust_id 를 출력하는데 조건은 order_num 이 orderitemms 테이블에서 prod_id 가 kim 인 order_num 이어야 한다는 겁니다.

깅이이ㅣ님의 댓글

  • 깅이이ㅣ
  • 작성일
위에 orders 이란 테이블과 괄호부분에 orderitemms란 테이블 둘다를 출력하는거맞죠?.
출력결과를 봐도 잘 이해가 안되는데..
위에처럼 저렇게 하는거랑

select cust_id
from order
where order_num='kim';
이거랑 출력결과가 똑같은데 왜 위에처럼 두개의 테이블을 사용하죠??..
도무지 이해가 안가는데...설명좀해주세요.

깅이이ㅣ님의 댓글

  • 깅이이ㅣ
  • 작성일
네이트온 아이디 있으시면 좀 알려주세요..
실시간으로 물어보게요.^^:

SFWM님의 댓글

  • SFWM
  • 작성일
출력결과는 orders의 cust_id 만 보이실 겁니다. 괄호 안의 select 문은 하나의 조건이 되는거구요.
현재 테이블 구성이 어떻게 되어 있는지 모르겠지만
order 테이블에 cust_id, order_num 필드가 있고 orderitemms 테이블에 order_num, prod_id 필드가 있을 때 위 예문처럼 하시면 됩니다만 order 테이블에 있는 order_num 필드와 prod_id 필드가 같다면 그냥 예시처럼 이렇게 하면 된다고 적어놓은게 아닐까 하네요.

깅이이ㅣ님의 댓글

  • 깅이이ㅣ
  • 작성일
님말씀처럼 이제 이해는가는데요.
출력되는 결과가 어떤게 출력되야 정상이죠??..
orderitemms의 테이블에서 prod_id가 'kim'인것중에 oder_num을 출력하고,
oder_num테이블과 oder테이블중 공통인것이 출력되나요??..
출력결과를 이해할수 없내요.
이해갈것 같기도하면서....햇갈리내요.

SFWM님의 댓글

  • SFWM
  • 작성일
┌───────────┐ ┌───────────┐
│              order            │ │          orderitemms      │
├─────┬─────┤ ├─────┬─────┤
│  cust_id  │ order_num  │ │ order_num │    prod_id  │
├─────┬─────┤ ├─────┬─────┤
│      1      │    123      │ │      123    │      kim      │
├─────┬─────┤ ├─────┬─────┤
│      2      │    456      │ │      456    │      lee      │
├─────┬─────┤ ├─────┬─────┤
│      3      │    789      │ │      789    │      park    │
└───────────┘ └───────────┘
이런 형식의 테이블 들이라면 결과값은

┌─────┐
│  cust_id    │
├─────┤
│      1      │
└─────┘
이렇게 출력되겠죠? 이해되시나요?

깅이이ㅣ님의 댓글

  • 깅이이ㅣ
  • 작성일
아 완전 이해 잘됩니다.
아..근대 저도 맨 처음에 저렇게 생각했거든요?..
근대 결과가 제가 했을땐 이상하게 출력이 되가지구요.
아무튼 완전 이해됐습니다.
감사합니다.
근대 매번 답변주시고 정말감사합니다.
이거 답변해주시는분이세요?

공지사항


뉴스광장


  • 현재 회원수 :  60,138 명
  • 현재 강좌수 :  36,196 개
  • 현재 접속자 :  427 명