https://school.programmers.co.kr/learn/courses/30/lessons/59410
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
ANIMAL_INS 테이블
NAME | TYPE | NULLABLE | INFO |
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 | VARHCAR(N) | FALSE | 성별 및 중성화 여부 |
[문제] 입양 게시판에 동물 정보를 게시하려 합니다. 동물의 생물 종, 이름, 성별 및 중성화 여부를 아이디 순으로 조회하는 SQL문을 작성해주세요. 이때 프로그래밍을 모르는 사람들은 NULL이라는 기호를 모르기 때문에, 이름이 없는 동물의 이름은 'No name'으로 표시해 주세요.
▼ 해석 및 풀이
MySQL
/*
[테이블] : ANIMAL_INS
[컬럼명] : ANIMAL_TYPE, NAME, SEX_UPON_INTAKE
[조건] : ANIMAL_ID 기준 ASC 정렬. 단, NAME이 NULL인 데이터는 'No name'으로 나타냄.
IFNULL(A, B) : A(컬럼명)가 NULL이면 B(값)를 반환, NULL이 아니라면 A를 반환
*/
SELECT ANIMAL_TYPE, IFNULL(NAME, 'No name') AS NAME, SEX_UPON_INTAKE FROM ANIMAL_INS;
Oracle
/*
NVL(컬럼명, NULL일 때 값)
NVL2(컬럼명, NULL이 아닐 때 값, NULL일 때 값)
*/
SELECT ANIMAL_TYPE, NVL(NAME, 'No name'), SEX_UPON_INTAKE FROM ANIMAL_INS ORDER BY ANIMAL_ID ASC;
'갭알 ☠️ > SQL' 카테고리의 다른 글
[프로그래머스/SQL] 있었는데요 없었습니다 (MySQL, Oracle) (0) | 2022.08.11 |
---|---|
[프로그래머스/SQL] 없어진 기록 찾기 (MySQL, Oracle) (0) | 2022.08.10 |
[프로그래머스/SQL] 이름이 있는 동물의 아이디 (MySQL, Oracle) (0) | 2022.08.08 |
[프로그래머스/SQL] 이름이 없는 동물의 아이디 (MySQL, Oracle) (0) | 2022.08.08 |
[프로그래머스/SQL] 입양 시각 구하기(2) (MySQL, Oracle) (0) | 2022.08.08 |
댓글