메뉴 건너뛰기

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 28Jul
    by
    2020/07/28 Views 144 

    엑셀로 되어있는 부분 db로 import하는 방법

  2. No Image 12Apr
    by
    2017/04/12 Views 7316 

    실수로 삭제한 mysql DB 복구방법

  3. No Image 23Dec
    by
    2016/12/23 Views 5668 

    숫자형 데이터 타입

  4. 세자리 마다 콤마 찍기

  5. 서브쿼리

  6. 서로 다른 결과를 한줄로 합쳐서 보여줘야 할 때(GROUP_CONCAT)

  7. No Image 12Apr
    by
    2017/04/12 Views 5071 

    백업시 캐릭터셋(charset) 지정하기

  8. No Image 23Dec
    by
    2016/12/23 Views 5646 

    문자형 데이터

  9. No Image 21Nov
    by
    2017/11/21 Views 5387 

    두 테이블을 비교하여 한쪽테이블에는 있지만 다른 테이블에는 없는 값을 뽑아내보자!

  10. No Image 10Jan
    by
    2023/01/10 Views 115 

    데이터베이스별 / 테이블별 용량 확인 하기

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

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

  12. No Image 23Dec
    by
    2016/12/23 Views 5534 

    데이타베이스 또는 테이블 정보

  13. No Image 23Dec
    by
    2016/12/23 Views 5635 

    덤프할때 한글깨짐 해결

  14. No Image 19Dec
    by
    2015/12/19 Views 8360 

    다양한 단위의 시간차 구하기

  15. No Image 16Nov
    by
    2017/11/16 Views 5076 

    다른 테이블 데이터를 원하는 테이블에 업데이트 시키기

  16. No Image 26Mar
    by
    2021/03/26 Views 147 

    날짜형(DATETIME) 빼기

  17. No Image 23Dec
    by
    2016/12/23 Views 5996 

    날짜와 시간 데이터

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

    날짜 관련 함수 모음.

  19. No Image 30Aug
    by
    2016/08/30 Views 5812 

    각각의 게시판에서 제일 최근글하나씩을 모아 정렬

  20. No Image 05Mar
    by
    2019/03/05 Views 2096 

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

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

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved