일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 코딩테스트
- OrderBy
- 프림
- Baekjoon
- 누적합
- MST
- 피로그래밍
- Pirogramming
- SQL
- JOIN
- 다익스트라
- 크루스칼
- union find
- 배포
- 구현
- BFS
- 알고리즘
- 프로그래머스
- 자바
- django
- AWS
- Database
- 그래프 탐색
- EC2
- GROUPBY
- SQL코딩테스트
- 백준
- 최단경로
- db
- Java
Archives
- Today
- Total
NullNull
프로그래머스 SQL NULL 처리하기 본문
Data 구조
ANIMAL_INS : 동물 보호소에 들어온 동물의 정보를 담은 테이블
NAME | TYPE | NULLABLE |
ANIMAL_ID | VARCHAR(N) | FALSE |
ANIMAL_TYPE | VARCHAR(N) | FALSE |
DATETIME | DATETIME | FALSE |
INTAKE_CONDITION | VARCHAR(N) | FALSE |
NAME | VARCHAR(N) | TRUE |
SEX_UPON_INTAKE | VARCHAR(N) | FALSE |
문제
입양 게시판에 동물 정보를 게시하려 합니다. 동물의 생물 종, 이름, 성별 및 중성화 여부를 아이디 순으로 조회하는 SQL문을 작성해주세요. 이때 프로그래밍을 모르는 사람들은 NULL이라는 기호를 모르기 때문에, 이름이 어벗는 동물의 이름은 "No name"으로 표시해 주세요.
예시
Input:
ANIMAL_ID | ANIMAL_TYPE | DATETIME | INTAKE_CONDITION | NAME | SEX_UPON_INTAKE |
A350276 | Cat | 2017-08-13 13:50:00 | Normal | Jewel | Spayed Female |
A350375 | Cat | 2017-03-06 15:01:00 | Normal | Meo | Neutered Male |
A368930 | Dog | 2014-06-08 13:20:00 | Normal | NULL | Spayed Female |
Output:
ANIMAL_TYPE | NAME | SEX_UPON_INTAKE |
Cat | Jewel | Spayed Female |
Cat | Meo | Neutered Male |
Dog | No name | Spayed Female |
정답:
COALESCE 를 사용하는 문제였습니다. COALESCE는 첫 번째로 전달되는 값이 NULL이 아니면 그 값을 그대로 출력하고, NULL이라면 두번째로 전달된 인자 값을 출력합니다.
따라서 NAME이 NULL인 경우에 No name을 출력하게 됩니다.
SELECT ANIMAL_TYPE, COALESCE(NAME, 'No name'), SEX_UPON_INTAKE FROM ANIMAL_INS
'SQL' 카테고리의 다른 글
프로그래머스 SQL 없어진 기록 찾기 (0) | 2022.03.01 |
---|---|
MySQL DB JOIN 정리 (0) | 2022.03.01 |
프로그래머스 SQL 이름이 있는 동물의 아이디 (0) | 2022.02.28 |
프로그래머스 SQL 이름이 없는 동물의 아이디 (0) | 2022.02.28 |
프로그래머스 SQL 입양시각 구하기(2) (0) | 2022.02.28 |
Comments