개발블로그

[SQL] SQL 표현식 본문

STUDY/SQL

[SQL] SQL 표현식

devmel 2026. 7. 30. 12:07
Contents 접기
 

개념

 

계산하거나 평가한 결과로 하나의 값을 반환

ex) 컬럼명, 숫자_컬럼 * 수량_컬럼, 함수명(컬럼명), CASE ... END, COALESCE(컬럼명,기본값) 

 


 

종류

종류 기본형태 반환값
기본값을 나타내는 표현식

리터럴 표현식 직접 작성한 값
컬럼 표현식 컬럼명 현재 행의 컬럼값
연산자로 구성한 표현식


산술 표현식 표현식 산술연산자 표현식 계산된 숫자값
비교 표현식 표현식 비교연산자 표현식 조건 평가 결과
논리 표현식 조건 논리연산자 조건 여러 조건의 평가 결과
함수·특수 문법으로 구성한 표현식




함수 호출 함수명(표현식) 함수가 처리한 값
CASE 표현식 CASE
    WHEN 조건1 THEN 결과값1
    WHEN 조건2 THEN 결과값2
    ...
    ELSE 기본_결과값
END

-- 하나의 기준값을 비교
CASE 기준값
    WHEN 비교값1 THEN 결과값1
    WHEN 비교값2 THEN 결과값2
    ...
    [ ELSE 기본_결과값 ]
END
조건에 따라 선택된 값
COALESCE 표현식 COALESCE(
    표현식1,
    표현식2,
    ...,
    기본값
)
처음 만나는 NULL이 아닌 값
NULLIF 표현식 NULLIF(표현식1, 표현식2) 두 값이 같다 => NULL
다름 => 첫 번재 값
CAST 표현식 CAST (표현식 AS 자료형) 지정한 자료형으로 변환한 값
조회 결과를 값으로 사용하는 표현식 스칼로 서브쿼리 (SELECT ...) 서브쿼리가 조회한 하나의 값

 


 

 

표현식이 사용되는 위치

 

위치 표현식의 역할
SELECT 조회 결과로 반환할 값 계산
WHERE 행을 선택할 조건 평가
JOIN ON 연결할 행의 조건 평가
HAVING 그룹을 선택할 조건 평가
ORDER BY 정렬에 사용할 값 계산
UPDATE SET 컬럼에 저장할 새로운 값 계산
함수 내부 함수에 전달할 값 계산

 

 

 


 

주의할 점

종류 설명 해결
NULL이 포함된 연산 일반적으로 산술 연산에 NULL이 포함되면 결과도 NULL이 됨

ex) 숫자_컬럼 + NULL => NULL
필요하면 COALESCE로 기본값을 지정
=> COALESCE(숫자_컬럼, 0) + 계산값
반환값의 자료형 서로 다른 자료형을 섞으면 DBMS가 자동 변환하거나 오류가 발생할 수 있음 CASE, COALESCE처럼 여러 후보 중 하나를 반환하는 표현식은 각 결과값의 자료형을 가능한 한 호환되게 작성
조건순서   범위가 겹친다면 더 구체적이거나 큰 범위의 조건부터 작성해야 함

'STUDY > SQL' 카테고리의 다른 글

[SQL] 윈도우 함수  (0) 2026.08.01
[SQL] CTE (Common Table Expression)  (0) 2026.07.31
[SQL] 집합연산  (0) 2026.07.30
[SQL] 테이블 생성과 변경  (0) 2026.07.30
[SQL] 데이터 추가·수정·삭제  (1) 2026.07.29