살아가는 이유_EU
내가 살아가는 이유, 삶
살아가는 이유_EU
전체 방문자
오늘
어제
  • 삶 (159)
    • 이유's EATERY (16)
      • 맛집 (10)
      • 까페 (4)
      • 맛있는 Recipe (1)
    • 이유's LIFE (16)
      • 국내여행 (5)
      • 해외여행 (2)
      • 운동 (1)
      • 취업정보 (0)
      • 끄적끄적 (5)
      • 일기쟝 (3)
      • 세상 이야기 (0)
      • 결혼 준비 (0)
    • 이유's Programming (43)
      • JavaScript (6)
      • Java (7)
      • C++ (0)
      • DBMS (24)
      • Spring (3)
      • til (1)
      • HTTP (2)
    • 이유's REVIEW (13)
      • BOOK (6)
      • PROGRAM or MOVIE (5)
      • PRODUCT 제품리뷰 (2)
    • 이유's STUDY (31)
      • 수업 관련 (2)
      • IT 시사 (2)
      • IT NEWS (2)
      • IVIEW (0)
      • IOS 앱 만들기 (0)
      • 알고리즘 문제풀이 (23)
      • PM data literacy (2)
    • 이유's ENGLISH (13)
      • Writing about something! (12)
      • Feedback (1)
      • TIL (0)
    • 이유's DB 공부 (1)
      • MySQL DB (0)
      • Postgre (1)
    • Computer 공부 (17)
      • Backend question (10)
      • Clean architecture (2)
      • Operating system (2)
      • Network (3)
      • 항해 (0)

블로그 메뉴

  • 홈
  • EATERY's 맛집
  • CAFE 까페
  • Recipe 레시피
  • IT 공부
  • 방명록
  • 태그

공지사항

인기 글

태그

  • 맛집
  • 용인추천
  • 용인까페
  • memoziation
  • 영어공부
  • 렌더링 수 줄이기
  • have something to do with
  • go hand in hand
  • 삼돈식탁
  • key 로 접근
  • 용인맛집
  • 흑임자 크림
  • 아메리카토노
  • Array로 접근
  • map 하는 법
  • 스쿤브레드
  • 송계옥
  • have something to do with뜻
  • 스테이크
  • 파스타맛집
  • 자세요정
  • 묵리
  • 고메동 카페
  • 자바스크립트
  • 현명하게 리액트
  • 인절미 티라미수
  • React.memo
  • 피지오필로소피
  • 어게인마이라이프
  • 고메커피

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
살아가는 이유_EU

내가 살아가는 이유, 삶

이유's Programming/DBMS

다중 행 서브 쿼리

2021. 4. 19. 10:54
728x90
반응형

서브 쿼리의 결과가 2건 이상 반환 될 수 있다면, 반드시 다중 행 비교 연산자 ( IN, ALL, ANY, SOME) 와 함께 사용해야 한다. 

 

지금 부터 살펴볼 것은 다중 행 서브 쿼리이다. 즉 서브쿼리 안에 ( select * from ) 을 해서 나온 결과값들이 이제 하나의 값이 아니라 2개 이상일 때 쓰이는 것이다. 

 

- Any 조건 

* 서브 쿼리 결과에 존재하는 값에 어느 하나의 값이라도 만족하면 이가 쓰임. 

* return 값 : boolean true 인지 false 인지 

 

SELECT ProductName
FROM Products
WHERE ProductID = ANY
  (SELECT ProductID
  FROM OrderDetails
  WHERE Quantity = 10);

 

 

- ALL 조건 

* 모든 sub query 의 value 가 모두 만족하면 all 조건이 쓰임. 

* return 값 : boolean true 인지 false 인지 

SELECT ProductName
FROM Products
WHERE ProductID = ALL
  (SELECT ProductID
  FROM OrderDetails
  WHERE Quantity = 10);

이렇게 되면 모든 서브쿼리에 있는 값들이 만족해야 ALL 에 대한 RETURN 값이 true 인지 혹은 false 인지 나올 수 있겠죠.. 

 

 

아래는 이제 query 를 마음껏 연습해볼 수 있는 정말 유용한 사이트 w3 스쿨입니다. 

www.w3schools.com/sql/trysql.asp?filename=trysql_select_all2&ss=-1

 

SQL Tryit Editor v1.6

WebSQL stores a Database locally, on the user's computer. Each user gets their own Database object. WebSQL is supported in Chrome, Safari, Opera, and Edge(79). If you use another browser you will still be able to use our Try SQL Editor, but a different ver

www.w3schools.com

 

 

 

- 다중 칼럼 서브 쿼리 

* 다중 칼럼 서브 쿼리는 서브 쿼리의 결과로 여러 개의 칼럼이 반환되 메인 쿼리의 조건과 동시에 비교되는 것을 의미 

 

TEAM_ID 와 PLAYER_NAME 에 대한 컬럼이 2개 이상으로 서브쿼리의 반환값이 되었다. 

아래 쿼리는 : 팀 에서 가장 작은 선수들을 뽑아온값이 서브 쿼리가 되고 그 이후가 이제 그걸 기준으로 ORDER_BY 를 통해 정렬 

SELECT TEAM_ID AS 팀코드, PLAYER_NAME AS 선수명, POSITION AS 포지션, BACK_NO AS 백넘버, 
HEIGHT_AS 키
FROM PLAYER
WHERE (TEAM_ID, HEIGHT) IN (SELECT TEAM_ID, MIN(HEIGHT) FROM PLAYER GROUP BY TEAM_ID)
ORDER BY TEAM_ID, PLAYER_NAME 
728x90
반응형
저작자표시 비영리 변경금지 (새창열림)

'이유's Programming > DBMS' 카테고리의 다른 글

[ 3 -5 ] 계층형 질의  (0) 2021.04.27
[ 3- 4] 그룹 소계함수 - 보고서 작성을 훨씬 쉽고 매끄럽게! group by 와 order by 사용 / rollup 과 order by 함수  (0) 2021.04.22
SQL 쿼리 - group by / having  (0) 2021.04.06
[ 4 - 3] 인덱스 종류  (0) 2021.03.31
[ 4 -2 ] 인덱스 스캔 방식 -  (0) 2021.03.25
    '이유's Programming/DBMS' 카테고리의 다른 글
    • [ 3 -5 ] 계층형 질의
    • [ 3- 4] 그룹 소계함수 - 보고서 작성을 훨씬 쉽고 매끄럽게! group by 와 order by 사용 / rollup 과 order by 함수
    • SQL 쿼리 - group by / having
    • [ 4 - 3] 인덱스 종류
    살아가는 이유_EU
    살아가는 이유_EU
    안녕하세요. 초보개발자의 일상을 담은 블로그입니다.

    티스토리툴바