이 영역을 누르면 첫 페이지로 이동
자바 쉽게하기 블로그의 첫 페이지로 이동

자바 쉽게하기

페이지 맨 위로 올라가기

자바 쉽게하기

Oracle Database - 2) 다중행 서브쿼리

  • 2022.07.28 23:21
  • DB-디비는 즐겁다
728x90
728x90
SMALL

https://kwanghyung.tistory.com/entry/Oracle-Database-1-SUBQUERY

 

Oracle Database - 1) SUBQUERY

https://kwanghyung.tistory.com/entry/Oracle-Database-2JOIN Oracle Database - 2)JOIN https://kwanghyung.tistory.com/entry/Oracle-Database-1JOIN Oracle Database - 1)JOIN https://kwanghyung.tistory.com..

kwanghyung.tistory.com

1.다중행 서브쿼리 

서브쿼리의 조회 결과값이 여러 행일 경우 

1) IN (100,200,300) 서브쿼리 : 여러개의 결과값중에서 하나라도 일치하는것이 있다면 

그 반대 값으로 NOT IN 은 없다면 입니다 .

2-1) > ANY (100,200,300) 서브쿼리 : 여러개의 결과 값중에서 하나라도 클 경우를 말합니다. 

2-2) < ANY (100,200,300) 서브쿼리 : 여러개의 결과값중에서 하나라도 작을 경우를 말합니다. 

3-1) > ALL : 여러개의 결과값의 모든 값보다 클 경우를 말합니다. 

3-2) < ALL : 여러개의 결과값의 모든 값보다 작을 경우를 말합니다. 

연습문제1) 각 부서 별 최고 급여를 받는 사원의 이름, 직급코드, 급여 조회

SELECT EMP_NAME,JOB_CODE, SALARY
FROM EMPLOYEE
WHERE SALARY IN (SELECT MAX(SALARY)
                 FROM EMPLOYEE
                 GROUP BY DEPT_CODE);

연습문제2) 아이유 또는 박은빈 사원과 같은 직급인 사원들을 조회하시오 (사원명, 직급코드, 부서코드, 급여)

SELECT EMP_NAME,JOB_CODE,DEPT_CODE,SALARY
FROM EMPLOYEE
WHERE JOB_CODE IN (SELECT JOB_CODE
                    FROM EMPLOYEE
                    WHERE EMP_NAME IN ('아이유','박은빈'));

 2.(단일행) 다중열 서브쿼리
    서브쿼리 조회 결과가 값은 한 행이지만, 나열된 컬럼의 개수가 여러개일 경우를 말합니다.

연습문제3) 우영우 사원과 같은 부서코드, 같은 직급코드에 해당하는 사원들 조회(사원명, 부서코드, 직급코드, 입사일)

SELECT EMP_NAME,DEPT_CODE,JOB_CODE,HIRE_DATE
FROM EMPLOYEE
WHERE (DEPT_CODE,JOB_CODE) = (SELECT DEPT_CODE,JOB_CODE
                                FROM EMPLOYEE
                                WHERE EMP_NAME='우영우';

3.다중행 다중열 서브쿼리
    
    서브쿼리 조회 결과가 여러행 여러 컬럼일 경우

연습문제1) 각 직급별 최소 급여를 받는 사원들 조회(사번,이름,직급코드,급여)

SELECT EMP_ID,EMP_NAME,JOB_CODE,SALARY
FROM EMPLOYEE
WHERE (JOB_CODE,SALARY) IN (SELECT JOB_CODE, MIN(SALARY)
                            FROM EMPLOYEE
                            GROUP BY JOB_CODE);

4.인라인뷰(INLINE VIEW)
        FROM절에 서브쿼리를 제시하는것을 말합니다.

연습문제1) 보너스 포함 연봉이 3000만원 이상인 사원들의 사번,이름,보너스 포함 연봉,부서코드를 조회(인라인뷰 사용)

SELECT EMP_NAME
FROM (
            SELECT EMP_ID,EMP_NAME,((SALARY+(SALARY*NVL(BONUS,0)))*12) 연봉,DEPT_CODE
            FROM EMPLOYEE
            WHERE ((SALARY +(SALARY*NVL(BONUS,0)))*12) >=30000000
            )                                        -- 보너스포함 연봉이 3000만원 이상인 사원들의 이름
WHERE DEPT_CODE IS NOT NULL;

 

 

 

728x90
300x250
LIST

'DB-디비는 즐겁다' 카테고리의 다른 글

DDL (DATA DEFINITION LANGUAGE) : 데이터 정의 언어  (0) 2022.08.12
Oracle Database - 3)다중열 서브쿼리  (1) 2022.08.11
Oracle Database - 1) SUBQUERY  (0) 2022.06.30
Oracle Database - 2)JOIN  (0) 2022.06.29
Oracle Database - 1)JOIN  (0) 2022.06.27

댓글

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • DDL (DATA DEFINITION LANGUAGE) : 데이터 정의 언어

    DDL (DATA DEFINITION LANGUAGE) : 데이터 정의 언어

    2022.08.12
  • Oracle Database - 3)다중열 서브쿼리

    Oracle Database - 3)다중열 서브쿼리

    2022.08.11
  • Oracle Database - 1) SUBQUERY

    Oracle Database - 1) SUBQUERY

    2022.06.30
  • Oracle Database - 2)JOIN

    Oracle Database - 2)JOIN

    2022.06.29
다른 글 더 둘러보기

정보

자바 쉽게하기 블로그의 첫 페이지로 이동

자바 쉽게하기

  • 자바 쉽게하기의 첫 페이지로 이동
250x250
300x250

검색

메뉴

  • 홈
  • 태그
  • 방명록

카테고리

  • 분류 전체보기 (71)
    • 자바-자린이의 도전기 (46)
    • DB-디비는 즐겁다 (23)
    • 클라우드,네트워크 (0)
    • 정보처리기사 문제풀이 (0)
    • JDBC MVC pattern (1)

최근 글

인기 글

댓글

공지사항

아카이브

태그

  • 추상클래스
  • 배열복사
  • 향상된 for문
  • 객체
  • array
  • for문 예제
  • 배열
  • 생성자부

나의 외부 링크

정보

광형의 자바 쉽게하기

자바 쉽게하기

광형

블로그 구독하기

  • 구독하기
  • RSS 피드

방문자

  • 전체 방문자
  • 오늘
  • 어제

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기
Powered by Tistory / Kakao. © 광형. Designed by Fraccino.

티스토리툴바