FETCH
- 행의 수 제한, 정렬 후 상위 n개의 행 추출 용도로 사용 가능
- OREDER BY 뒤에 나열
OFFSET start {ROW|ROWS}오전 10:32 2023-05-10
FETCH {FIRST|NEXT} {갯수} {ROW|ROW}ONLY
-
ex) ....FETCH NEXT 5 ROW ONLY;
-
FIRST는 앞에서부터 몇 개의 행인지를, NEXT는 OFFSET에서 제외한 행을 의미한다.
-
OFFSET m FETCH n: 상위 m개 제외 후 n개 행 추출
- ex) ... OFFSET 1 ROW FETCH NEXT 5 ROW ONLY;
SELECT order_id, order_date, customer_id, total_amount
FROM orders
ORDER BY order_date DESC
OFFSET 0 ROWS
FETCH FIRST 10 ROWS ONLY;
- offset 구문은 시작할 행의 위치를 지정하는데 사용
- fetch 구문은 추출할 행 수를 지정하는 데 사용
FETCH FIRST 10 ROWS ONLY
=> 첫 번째 10개의 행을 추출
JOIN
- JOIN 연산의 목적
- 서로 다른 두 테이블의 데이터 결합, 다른 테이블의 데이터 참조
- CROSS JOIN, INNER JOIN(EQUI JOIN< NON EQUI JOIN), OUTER JOIN, NATURAL JOIN이 있다.
- CROSS JOIN
- 발생 가능한 모든 조건, 총 N*M개의 행 리턴
- JOIN 조건을 생략하거나 부적합할 경우 출력되는 형태
- ex)
select ... from 테이블명 cross join 테이블명;
- INNER JOIN
- 조건에 만족하는 행만 출력, OUTER JOIN의 반대
- EQUI JOIN
- ex)
select 테이블1.컬럼, 테이블2,컬럼 ... from 테이블1 join 테이블2 on(테이블1.컬럼 = 테이블2.컬럼);
- NON EQUI JOIN은 '='이 아닌 다른 비교 연산자를 사용할 경우
- OUTER JOIN
- 조건에 만족되지 않는 행도 출력, INNER JOIN의 반대
- NATURAL JOIN
ORDER BY
- order by 절을 사용할 때 컬럼 명이 아니라 선택된 컬럼의 순서로도 정렬할 수 있다.
null은 =
연산자를 사용하지 않는다.
출처: https://velog.io/@bacccine/PostgreSQL-1115%EA%B0%95%EA%B9%8C%EC%A7%80%EC%9D%98-%EB%82%B4%EC%9A%A9-%EC%A0%95%EB%A6%AC