1. 이름에 el이 들어가는 동물 찾기 - LIKE
https://school.programmers.co.kr/learn/courses/30/lessons/59047
정답 코드
SELECT ANIMAL_ID, NAME
FROM animal_ins
WHERE name LIKE '%el%' AND animal_type = 'Dog'
ORDER BY name
Like 설명
💡
SELECT 컬럼이름1, 컬럼이름2
FROM 테이블 이름
WHERE 컬럼이름 LIKE 패턴 ;
a% | ‘a’로 시작 |
%a | ‘a’로 끝남 |
%To | ‘To’가 포함됨 |
_t% | 두번째 글자가 ‘t’임 |
a_%_% | ‘a’로 시작하고 글자수가 3개 이상 |
T%a | ‘T’로 시작하고 ‘a’로 끝남 |
✅LIKE 예제
# '%A%' 가장 많이 쓰임
SELECT *
FROM STOCK_INFO
WHERE NAME LIKE '%SOFTBANK%' ; -- NAME컬럼에 SOFTBANK가 들어있는 데이터 가져와
# '%A'
SELECT *
FROM STOCK_INFO
WHERE NAME LIKE '%A' ; -- A로 끝나는 데이터 가져와
SELECT *
FROM STOCK_INFO
WHERE NAME LIKE '_M%' ; -- 두번째 글짜가 M인 데이터 가져와
SELECT *
FROM STOCK_INFO
WHERE NAME LIKE 'A_%_%' ; -- A로 시작하면서 글자가 3개 이상인 데이터
SELECT *
FROM STOCK_INFO
WHERE NAME LIKE 'T%A' ; -- T로 시작하고 A로 끝나는 데이터
2. 중복제거하기 - DISTINCT
https://school.programmers.co.kr/learn/courses/30/lessons/59408
SELECT COUNT(DISTINCT name) count
FROM animal_ins
WHERE name IS NOT NULL
3. NULL 처리하기 - IFNULL
SELECT animal_type, IFNULL(name,'No name'), sex_upon_intake
FROM animal_ins
4. DATETIME에서 DATE로 형 변환 - DATE_FORMAT
SELECT animal_id, name, DATE_FORMAT(datetime, '%Y-%m-%d') '날짜'
FROM animal_ins
ORDER BY animal_id
5. 중성화 여부 파악하기 - CASE WHEN / IF
https://school.programmers.co.kr/learn/courses/30/lessons/59409
# [1]
SELECT ANIMAL_ID, NAME,
CASE WHEN SEX_UPON_INTAKE LIKE '%Neutered%' THEN 'O'
WHEN SEX_UPON_INTAKE LIKE '%Spayed%' THEN 'O'
ELSE 'X' END AS '중성화'
FROM ANIMAL_INS
ORDER BY ANIMAL_ID
# [2]
SELECT ANIMAL_ID, NAME,
IF(SEX_UPON_INTAKE LIKE '%NEUTERED%'
OR SEX_UPON_INTAKE LIKE '%SPAYED%','O','X') AS '중성화'
FROM ANIMAL_INS
ORDER BY ANIMAL_ID ASC
댓글