[MySQL] 프로그래머스 IS NULL

nayoon·2021년 8월 4일
0

📙 SELECT 문제 공통 지문

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다.

📌 이름이 없는 동물의 아이디
📌 이름이 있는 동물의 아이디

검색

⭐ NULL을 이용한 검색, IS NULL

특정 속성의 값이 널 값인지를 비교하는 키워드

특정 속성의 값이 널 값이 아닌지를 비교한다면 IS NOT NULL 키워드를 사용한다.

📙 NULL을 이용한 검색 문제

📝 이름이 없는 동물의 아이디

동물 보호소에 들어온 동물 중, 이름이 없는 채로 들어온 동물의 ID를 조회하는 SQL 문을 작성해주세요. 단, ID는 오름차순 정렬되어야 합니다.

📝 이름이 있는 동물의 아이디

동물 보호소에 들어온 동물 중, 이름이 있는 동물의 ID를 조회하는 SQL 문을 작성해주세요. 단, ID는 오름차순 정렬되어야 합니다.

⭐ 흐름제어를 이용한 검색

데이터의 순차적인 흐름을 제어할 때 사용하기 위한 MySQL 함수, CASE, IF, IFNULL, NULLIF

🔥 CASE

value 값을 비교해서 result를 반환하는 방식, condition(조건식)을 통해서 result를 반환하는 방식

ELSE 구문은 없을 수 있다. 이런 경우 WHEN에서의 조건이 모두 부합하지 않는다면 NULL을 반환한다.

🔥 IF

조건식인 EXPR1이 TRUE일 경우 EXPR2, FALSE일 경우 EXPR3를 리턴한다.

🔥 IFNULL

EXPR1이 NULL일 경우 EXPR2, NULL이 아닐 경우 EXPR1

🔥 NULLIF

EXPR1과 EXPR2가 같을 경우 NULL, 아닐 경우 EXPR1


📙 흐름제어를 이용한 검색 문제

📝 NULL 처리하기

입양 게시판에 동물 정보를 게시하려 합니다. 동물의 생물 종, 이름, 성별 및 중성화 여부를 아이디 순으로 조회하는 SQL문을 작성해주세요. 이때 프로그래밍을 모르는 사람들은 NULL이라는 기호를 모르기 때문에, 이름이 없는 동물의 이름은 "No name"으로 표시해 주세요.

✍ CASE로 처리하기

✍ IF로 처리하기

✍ IFNULL로 처리하기

profile
뚜벅뚜벅 열심히 공부하는 개발자

0개의 댓글