프로그래머스 >> IS NULL >> NULL 처리하기
프로그래머스 » IS NULL » NULL 처리하기(MySQL)
문제
ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다.
| NAME | TYPE | NULLABLE |
|---|---|---|
| ANIMAL_ID | VARCHAR(N) | FALSE |
| ANIMAL_TYPE | VARCHAR(N) | FALSE |
| DATETIME | DATETIME | FALSE |
| INTAKE_CONDITION | VARCHAR(N) | FALSE |
| NAME | VARCHAR(N) | FALSE |
| SEX_UPON_INTAKE | VARCHAR(N) | FALSE |
입양 게시판에 동물 정보를 게시하려 합니다. 동물의 생물 종, 이름, 성별 및 중성화 여부를 아이디 순으로 조회하는 SQL문을 작성해주세요. 이때 프로그래밍을 모르는 사람들은 NULL이라는 기호를 모르기 때문에, 이름이 없는 동물의 이름은 “No name”으로 표시해 주세요.
코드
-- NULL 처리하기
SELECT ANIMAL_TYPE, CASE WHEN NAME IS NULL THEN 'No name'
ELSE NAME
END AS NAME, SEX_UPON_INTAKE
FROM ANIMAL_INS;
학습
CASE WHEN 조건 THEN 할당 ELSE 칼럼 END AS 칼럼이름
DELETE FROM 테이블명 WHERE 조건
DROP TABLE 테이블명
TRUNCATE TABLE 테이블명 -> 테이블의 모든 로우를 제거, drop과 차이점 : drop은 테이블의 존재 자체가 없어짐
truncate와 delete는 행 일부 또는 전체 데이터를 지우고, truncate는 행 전체 데이터 뿐만 아니라 행이 저장되어있던 공간과 인덱스도 삭제
