728x90
728x90
- 쿼리 조건문을 사용하면 동적 쿼리를 생성할 수 있음
# ifnull(컬럼명a, b)
- 컬럼명 a가 null이면 b를 반환하고, 컬럼명 a가 null이 아니라면 a를 반환함
# nullif(컬럼명a, 컬럼명b)
- 컬럼명 a의 값과 컬럼명 b의 값이 동일하면 null을 리턴함
- 컬럼명 a의 값과 컬럼명 b의 값이 다르면 컬럼명 a의 값을 리턴함
# CASE WHEN THEN END
1 2 3 4 5 6 7 | -- 조건a를 만족하면 값a를 출력하고, 조건b플 만족하면 값b를 출력하라. -- 그리고 해당 속성을 '별칭'이라고 표시하라. CASE WHEN 조건a THEN 값a WHEN 조건b THEN 값b END AS 별칭 | cs |
▶ 예시
더보기
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | SELECT h.id, h.amount, CASE WHEN h.w_account_id = 1 THEN (h.w_balance) WHEN h.d_account_id = 1 THEN (h.d_balance) END AS balance, ifnull(wa.number, 'ATM') AS 'sender', ifnull(da.number, 'ATM') AS 'receiver', h.created_at FROM history_tb AS h LEFT JOIN account_tb AS da ON h.d_account_id = da.id LEFT JOIN account_tb AS wa ON h.w_account_id = wa.id WHERE h.d_account_id = 1 OR h.w_account_id = 1; | cs |
320x100
반응형
'SQL' 카테고리의 다른 글
[SQL] 커넥션 풀 (Connection Pool) ★ (0) | 2023.05.10 |
---|---|
[SQL] COMMENT (0) | 2023.04.21 |
[SQL] 트랜잭션 (Transaction) (0) | 2023.04.19 |
[SQL] 서브 쿼리 (0) | 2023.04.09 |
[SQL] DCL - 사용자 생성과 권한 설정 (GRANT) (0) | 2023.03.14 |