파니동 2020. 3. 8. 10:27

정렬

select*
from sqlstudy.enc_emp
order by extract(year from hire_date), sal desc;

 

DATE형식의 입사일자의 년도를 오름차순 정렬, 월급을 내림차순 정렬

 

 

정렬에서의 NULL 값

데이터베이스마다 다르긴 하지만 postgresql에서는 NULL 값이 가장 크다.

 

select*
from sqlstudy.enc_emp
order by manager_emp_no desc
;

 

관리번호를 내림차순으로 정렬 시 NULL 값이 가장 상위에 있다.

 

 

LIMIT, OFFSET, FETCH

조회된 결과를 일부분문 출력할 수 있다.

 

LIMIT: 지정된 갯수만큼 자른다.

OFFSET : 지정된 갯수만큼 건너뛴다.

FETCH : LIMIT와 동일하다. (SQL 표준으로 밀고있지만 불편하다)

 

LIMIT 와 OFFSET을 이용한 조회

select*
from sqlstudy.ENC_emp
order by sal desc
limit 3 offset 3
;

 

OFFSET 와 FETCH를 이용한 조회

select*
from sqlstudy.ENC_emp
order by sal desc
offset 3
fetch first 3 rows only
;

 

조회결과는 같다. SQL표준은 아니더라도, LIMIT가 훨씬 편해보인다.

 

출처: PostgreSQl로 시작하는 SQL 코딩입문