SQL 첫걸음(ch11. 결과 행 제한하기 - LIMIT ~ ch12. 수치 연산)

김도형·2022년 10월 3일
0

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 첫걸음 아사이 아츠시 지음 [한빛미디어]

profile
3년간 웹/앱, 자동제어 QA 🔜 개발자로 전향하여 현재 교육 회사에서 백엔드 개발자로 근무 중입니다.(LinkedIn : https://www.linkedin.com/in/dohyoung-kim-5ab09214b)

0개의 댓글