메뉴 건너뛰기

2017.11.16 20:03

서브쿼리

조회 수 3444 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

서브쿼리

서브쿼리를 사용하면 질의를 실행해서 추출한 데이터를 이용해서 다시 질의를 실행하는 2단계의 처리를 할 수 있다.


ex) select * from tb where max(sales);

 

위 쿼리를 사용하면 에러가 납니다. 이유는 쿼리문에서 준 조거 max(sales) 조건의 값을 아직 알지 못하기 때문입니다.


따라서 다음과 같은 조건을 만족시키기 위해서는 아래 서브쿼리를 사용 쿼리문을 사용해야합니다.

ex) select * from tb where sales in (select max(sales) from tb);

 

in(?)에서 ?부분이 1단계 쿼리부분입니다. 즉 1단계 쿼리문의 결과에 대한 2단계 값을 추출하는 과정입니다.


ex) select * from tb1 where age >= (select avg(age) from tb1);

 


첫번째 쿼리문과 이번 쿼리문의 차이는 in의 유무입니다.

잘 비고해서 생각해 보기 바랍니다.


다음과 같이 두테이블에 서브쿼리를 적용한 예입니다.

ex) select * from tb1 where number in (select number from tb where sales>=200);

 



만약 in 대신 등호를 사용한다면?

 

다음과 같은 에러가나는데 이유는 number = '하위쿼리 결과값' 인데 이때 하위쿼리의 결과값이 하나가 아니기 때문이다.

에러구문이 설명해 주고 있는 내용이다.


따라서 다음과 같은 구문으로 에러는 피할 수 있지만, 올바른 방법은 아니다.

 


  1. No Image 24Jul
    by
    2018/07/24 Views 4367 

    MySQL Table 복구 - Got error 127 from storage engine

  2. No Image 28Dec
    by
    2017/12/28 Views 4262 

    데이터베이스 파티셔닝이란

  3. MySQL 파티션 개요

  4. mysql(exists, not exists)

  5. No Image 22Dec
    by
    2017/12/22 Views 3976 

    날짜 관련 함수 모음.

  6. 전체 텍스트 검색과 파티션

  7. No Image 21Nov
    by
    2017/11/21 Views 3920 

    Union 사용법. 여러 테이블의 같은 값을 한번 쿼리로 추출하기

  8. No Image 28Dec
    by
    2017/12/28 Views 3917 

    MySQL 연결 속도

  9. 전체 텍스트 검색과 파티션

  10. 일반적인 오류를 해결하는 유용한 정보들

  11. No Image 24Jul
    by
    2018/07/24 Views 3864 

    MySQL〃오라클의 nextval을 MySQL에서 사용하기

  12. mysql(union,join)

  13. 서브쿼리

  14. No Image 11Jan
    by
    2019/01/11 Views 3163 

    중복데이터 하나만 빼고 삭제

  15. No Image 18Jul
    by
    2018/07/18 Views 2824 

    특정 테이블만 replication 하거나 제외하는 방법

  16. No Image 18Jul
    by
    2018/07/18 Views 2750 

    MySQL 클라이언트/서버 프로토콜

  17. No Image 19Feb
    by
    2019/02/19 Views 2424 

    한글정렬 order by

  18. No Image 05Mar
    by
    2019/03/05 Views 2097 

    [MySQL] 세로열을 가로열로 출력하기

  19. MySQL DB 에 한글 utf8 문자열 INSERT 오류 해결 방법

  20. No Image 11Jan
    by
    2019/01/11 Views 1949 

    MySQL 중복 데이터 찾아서 삭제하기

Board Pagination Prev 1 2 3 4 5 6 7 Next
/ 7

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved