본문 바로가기
DataBase/Oracle

DQL) select 구문 입력 순서, 실제 처리 순서

by 박채니 2022. 4. 12.

안녕하세요, 코린이의 코딩 학습기 채니 입니다.

 

개인 포스팅용으로 내용에 오류 및 잘못된 정보가 있을 수 있습니다.


DQL (Data Query Language)

- 테이블의 데이터를 검색(추출)하기 위해 사용하는 SQL

- DML의 하위 그룹으로 분류

- 데이터 조회 결과를 Result Set(결과집합)이라고 함

- 조회 시 0행 이상의 결과 집합을 리턴 받음

 

select 구문 (입력 순서)

select(필수)	- 조회할 컬럼
from(필수)	- 조회할 테이블
where		- 조건절 (true:결과집합 포함 / false:결과집합 제외)
group by	- 행을 특정 컬럼 기준으로 그룹핑
having		- 그룹핑된 결과에 대한 조건절
order by	- 행 간 정렬

 

☆ 실제 처리 순서 (굉장히 중요!!!)

① from (조회할 테이블)

② where (조건절)

③ group by (그룹핑)

④ having (그룹핑 결과에 대한 조건절)

⑤ select (조회할 컬럼)

⑥ order by (행 간 정렬)

 

select * from employee;

사원 정보를 담고 있는 employee 테이블 조회

employee 테이블에 대한 데이터를 조회한 결과이므로, 이것이 바로 '결과집합'입니다.

 

 

직급테이블에서 직급명만 조회

-- 직급테이블에서 직급명만 조회
select 
    job_name
from
    job;

 

사원테이블에서 이름, 이메일, 전화번호, 입사일을 출력

-- 사원테이블에서 이름, 이메일, 전화번호, 입사일을 출력
select 
    emp_name,
    email,
    phone,
    hire_date
from 
    employee;

 

사원테이블에서 급여가 250만원 이상인 사원의 이름과 급여를 조회

-- 사원테이블에서 급여가 250만원이상인 사원의 이름과 급여를 조회
select
    emp_name, salary
from 
    employee
where 
    salary >= 2500000;

 

사원테이블에서 직급코드가 J3인 사원 조회(사원명, 직급코드, 전화번호), 이름 오름차순

-- 사원테이블에서 직급코드가 J3인 사원 조회(사원명, 직급코드, 전화번호), 이름 오름차순
-- = (동등비교연산자)
-- 실제 데이터는 대소문자를 구분.
select
    emp_name, job_code, phone
from 
    employee
where
    job_code = 'J3'
order by
    emp_name asc;