Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 |
Tags
- 인덱스
- 객체지향
- dhgrp
- linux 권한
- SQL문법
- 데이터베이스
- Laravel
- 디자인패턴
- Tool Calling
- ai 에이전트
- MCP
- 데코레이터패턴
- OOP
- LLM
- SQL
- mcp client
- 객체복제
- docker
- docker network
- 라라벨
- 매직메서드
- PHP객체지향
- 소프트웨어설계
- mcp server
- 어댑터패턴
- PHP
- ai agent
- SQL기초
- MySQL
- Agent Loop
Archives
- Today
- Total
개발블로그
[SQL] SQL 표현식 본문
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 |