devforin
걸어서 개발속으로
devforin
전체 방문자
오늘
어제
  • in world's
    • 끄적임
    • Oracle SQL
    • Python
    • Java
    • Algorithm
    • dev-tools tip
    • 기술면접정리

블로그 메뉴

  • 홈
  • 태그
  • 방명록

인기 글

태그

  • java
  • 개발공부
  • SQL문법
  • 공부
  • Oracle
  • for문
  • python
  • DATABASE
  • 반복문
  • 알고리즘
  • 개발
  • While문
  • sql
  • 소수판별
  • 취준생
  • if문
  • 오라클
  • DB
  • 개발자
  • 백엔드

최근 글

티스토리

hELLO · Designed By 정상우.
devforin

걸어서 개발속으로

Oracle SQL #7 Subquery (단일행, 다중행)
Oracle SQL

Oracle SQL #7 Subquery (단일행, 다중행)

2022. 3. 20. 01:16

* Subquery
- select 구문 내부에 select 구문이 존재
   단일행 서브쿼리 : 서브쿼리의 결과가 1개인 겨우.
        사용가능 연산자 : =, >, <, ...
   다중행 서브쿼리 : 서브쿼리의 결과가 여러개인 경우.
        사용가능 연산자 : in 
- emp 테이블에서 'SCOOT' 사원의 급여보다 급여가 많은 사람의 이름과 급여 출력하기

select sal from emp where ename = 'SCOTT';

select ename,sal from emp where sal > 3000;

 

 

- 

select ename, sal from emp where sal > (select sal from emp where ename = 'SCOTT');

 

 

ex) 이름, 학년, 학과번호를 조회하는데 홍길동과 같은 학년의 정보를 조회하기.

select name, grade, deptno1 from student where grade = (select grade from student where name ='홍길동');

 

 

 

- 홍길동,김진욱 학생과 같은 학년의 이름, 학년, 학과번호 출력
- 컬럼이 하나면 = 를 사용하면 되지만 조건이 여러개면 in을 써야한다. - 다중행

select name, grade, deptno1 from student 
where grade in (select grade from student where name in ('홍길동','김진욱'));

ex)  emp2 테이블에서 전체 직원 중 과장 직급의 최소 연봉보다 높은 사람의 이름, 직급, 연봉 출력

-- 1. 과장 직급의 최소 연봉자
select min(pay) from emp2 where position = '과장';
-- 2. 최소연봉자보다 연봉이 높응ㄴ 사람의 이름, 직급, 연봉출력
select name, position,pay from emp2 where pay > 49000000;

-- 1+2 

select name, position, pay from emp2 where pay > (select min(pay) from emp2 where position = '과장');

저작자표시 비영리 동일조건 (새창열림)

'Oracle SQL' 카테고리의 다른 글

Oracle SQL #8 DML, DDL, TCL  (0) 2022.03.20
Oracle SQL #6 Join  (4) 2022.03.20
Oracle SQL #5 그룹함수(group by), sum, avg, max, min, having  (0) 2022.03.19
Oracle SQL #4 문자 관련 함수,수 관련 함수, 날짜함수, 형변환 함수, 기타 함수  (0) 2022.03.19
Oracle SQL #3 Order by, union, Union all  (0) 2022.03.19
    devforin
    devforin
    개발, 공부, 일상 기록을 위한 스케치북

    티스토리툴바