sungyup's.

PostgreSQL / SQL Basics / 1.10 Utility Operators

1.10Utility Operators

GREATEST, LEAST와 CASE의 사용법

값들 중에서 최대 또는 최소를 고르거나, 조건에 따라 값을 다르게 표시할 수 있는 SQL 함수들이 있다.

GREATEST() - 가장 큰 값

sql
SELECT GREATEST(20, 10, 30);
  • 예를 들어, $30과 (무게 * $2) 중 더 비싼 값을 구해서 운송비를 구한다거나 할 때 쓸 수 있다.
sql
SELECT name, weight, GREATEST(30, 2 * weight) FROM products;

LEAST() - 가장 작은 값

sql
SELECT LEAST(1, 20, 50, 100);
  • 예를 들어, 할인 가격을 가격의 50% 또는 400달러 중 더 적은 금액으로 설정할 때.
sql
SELECT name, price, LEAST(price * 0.5, 400) FROM products;

CASE - 조건에 따라 결과 다르게 분류하기

sql
SELECT name, price, CASE WHEN price > 600 THEN 'high' WHEN price > 300 THEN 'medium' ELSE 'cheap' END FROM products;
  • 순서대로 조건을 검사하고, 처음으로 만족한 조건의 결과값을 출력한다.
  • ELSE는 아무 조건도 만족하지 않을때 출력값이다.