SQL 여러가지

HU·2021년 12월 1일
0

COALESCE('a', 'b')

COALESCE('a', 'b', 'c')

  1. 해당 컬럼을 돌면서 값이 있으면('a')를 반환하고,
    null값일 경우는 뒷 인자('b')로 대체해서 가져온다.

  2. a, b 인자가 모두 null 일 경우 c로 대체한다.

ex 1)
SELECT
    COALECE(height, '####'),
    COALECE(weight, '---'),
    COALESCE(address, '@@@')
FROM test_table;


ex 2)
SELECT
    COALECE(height, weight * 2, '둘 다 없음'),
FROM test_table;

CONCAT

컬럼에 문자를 추가하거나 컬럼끼리 이어붙일 수 있다.

ex)
SELECT
    email,
    CONCAT ( height, 'cm', ', ', weight, 'kg' ) AS '키와 몸무게'
    weight / ((height/100) * (height/100)) AS BMI
FROM test.table;

두 번째로 가져올 height 컬럼에 'cm', ', ', weight, 'kg'라는 네 개의 문자 및 컬럼 값을 가져와서 하나의 컬럼으로 연결시켰다.


CASE WHEN THEN ELSE ( CASE 문 )

CASE : 조건문 시작
WHEN : 조건
THEN : 충족할 경우
ELSE : ~ 이외의 경우
END : CASE 마침

SELECT weight,
CASE 
    WHEN weight IS NULL THEN '널 값입니다.'
    ELSE '널 값이 아닙니다'
END AS 'case 자체를 다른 이름으로 변경'
FROM member
// WHERE weight IS NULL;

결과


SUBSTRING

자르기

SELECT DISTINCT(SUBSTRING('속성', 1, 2))
FROM table

중복된 값을 제거한 속성을 가져오되 첫 번째 인덱스부터 2번째 인덱스까지 잘라서 가져온다.


codeit

※ 문제가 될 경우 연락주시면 조치하도록 하겠습니다.

profile
지식 쌓기

0개의 댓글