11장 결과 행 제한하기 - LIMIT
LIMIT 구
- LIMIT 구는 표준 SQL문이 아니고 MySQL, PostgreSQL에서만 사용 가능
- Oracle 에서는 ROWNUM 사용 ex : ROWNUM <= 3
- LIMIT 구는 행수 제한
OFFSET 구
- OFFSET [시작할 행 - 1]
- LIMIT 구 뒤에 기술한다.
- OFFSET 0 일 경우 생략 가능
12장 수치 연산
SELECT 구로 연산하기
SELECT *, price * quantity FROM sample34;
테이블에는 컬럼명 price * quantity 으로 보여짐
열의 별명
SELECT *, price * quantity AS amount FROM sample34;
- 테이블에는 컬럼명 price * quantity 대신 amount 으로 보여짐
- 별명을 중복해서 사용해도 되지만 기본적으로 중복되지 않도록 지정
- 키워드 AS 생략 가능
- 이름에 ASCII 문자 이외의 것을 포함할 경우 더블쿼트("")로 둘러싸서 지정한다.
- 더블쿼트를 사용하면 데이터베이스 객체의 이름으로 간주
- 싱글쿼트를 사용하면 문자열 상수로 간주
- 데이터 베이스 객체명은 '숫자로 싲가해서는 안된다' 제약 있음.
WHERE 구와 SELECT 구의 내부처리 순서
- 처리 순서 : WHERE -> SELECT(별명 지정)
그래서 SELET 구에서 지정한 별명은 WHERE 구 안에서 사용할 수 없음.
아래 쿼리문은 에러가 발생함.
SELECT *, price * quantity AS amount FROM sample34 WHERE amount >= 2000;
NULL 값의 연산
SQL에서는 NULL에 대한 연산은 무조건 NULL로 처리됨.
- NULL + 1 = NULL
- 1 + NULL = NULL
- 1 + 2 * NULL = NULL
ORDER BY 구에서 연산하기
- 처리 순서 : WHERE -> SELECT(별명 지정) -> ORDER BY
함수
- MOD(인자1, 인자2) -> 나누기
- ROUND(변경할 인자, 반올림할 소수점 자리 인자) -> 변경할 인자에서 소수점 자리 인자에서 반올림함.
- TRUNCATE(변경할 인자, 버릴 소수점 자리 인자) -> 변경할 인자에서 소수점 자리 인자에서 버림.
출처 : SQL 첫걸음 아사이 아츠시 지음 [한빛미디어]