postgresql - WHERE 절부터 LIMIT 까지

강신찬·2023년 5월 10일
0

WHERE 절

  • 문자열과 날짜 상수의 전달은 항상 홑따옴표를 사용해야 한다. 아님 에러 발생
  • 컬럼명, 테이블명, select, from, where 같은 문법엔 따옴표가 붙지 않음
  • 객체 이름이나 문법은 대소문자를 구분하지 않는다.
  • 조건절의 문자 상수는 대소를 구분
    • ex) 75true != 75TRUE

WHERE 연산자

  • 산술연산자(+, -, *, /)를 where 절에서 사용 가능

  • 산술연산자는 select 문에서도 사용 가능

  • BETWEEN a AND b 연산자를 사용할 땐 작은 값을 먼저, 큰 값을 나중에 배열 한다. 그렇지 않으면 아무것도 선택되지 않는다.

  • BETWEEN 연산자는 두 값을 모두 포함하는 연산 결과를 출력한다

  • IN('a','b','c')는 a or b or c 라는 의미 -> 포함 연산자

  • IN 연산자는 or의 축약형 연산자

  • WHERE 절에서만 사용 가능한 연산자

    • BETWEEN, IN
  • LIKE 연산자는 정확한 일치가 아닌 패턴에 만족하는 행을 찾을 때 사용

  • LIKE 연산자에서는 %는 글자수 제한 없는 "모든"의 의미, _는 한 글자

  • NULL을 포함한 산술 연산의 결과는 NULL

  • NULL을 포함한 데이터의 조건 IS NULL/ IS NOT NULL로 전달

ORDER BY 절

  • ORDER BY 첫 번째 정렬기준, 두 번째 정렬기준...
  • 첫 번째 정렬 기준을 기준으로 값이 같을 경우 두 번째 기준을 기준으로 추가 정렬
  • SELECT 절에서 정의했던 컬럼 alias를 유일하게 사용 가능하다.
SELECT name, salary
FROM employees
ORDER BY salary DESC, name ASC;
  • employees 테이블에서 salary(급여)가 높은 순서대로 정렬하고 급여가 같을 경우 name(이름)의 알파벳 순으로 정렬

LIMIT

  • DBMS 표준 문법이 아님
  • 정렬 후 상위 n개의 행 추출 용도로 사용 가능
  • ORDER BY 뒤에 작성
  • offset을 적용하여 n개의 행 생략 가능
    • ex) 1, 3, 5로 2씩 건너 뛰기
SELECT name, salary
FROM employees
ORDER BY salary DESC
LIMIT 5;
  • 급여가 높은 순서대로 상위 5개만 조회
SELECT first_name, last_name, salary
FROM employees
WHERE salary BETWEEN 50000 AND 70000
ORDER BY first_name ASC, last_name ASC
LIMIT 10;

출처: https://velog.io/@bacccine/PostgreSQL-610%EA%B0%95%EA%B9%8C%EC%A7%80%EC%9D%98-%EB%82%B4%EC%9A%A9-%EC%A0%95%EB%A6%AC

profile
꾸준히 공부하는 백엔드 개발자

0개의 댓글

관련 채용 정보