본문 바로가기
SQL

SQL-문제 풀기 ISNULL

by woody-j 2024. 1. 12.

1) 이름이 없는 동물의 아이디

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

 

이름이 없는 채 : WHERE NAME IS NULL

SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NULL ORDER BY ANIMAL_ID

2) 이름이 있는 동물의 아이디

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

 

이름이 있는 : WHERE NAME IS NOT NULL

SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NOT NULL ORDER BY ANIMAL_ID

3) NULL 처리하기

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

이름이 없는 : IFNULL(컬럼,'대체 값') , 컬럼이 null이면

No name으로 표시 : IFNULL(컬럼,'No name') , 대체 값에 "No name" 기입

SELECT ANIMAL_TYPE,IFNULL(NAME,'No name') AS NAME,SEX_UPON_INTAKE  FROM ANIMAL_INS

4) 나이 정보가 없는 회원 수 구하기

USER_INFO 테이블에서 나이 정보가 없는 회원이 몇 명인지 출력하는 SQL문을 작성해주세요. 이때 컬럼명은 USERS로 지정해주세요.

(1) count 이용

나이 정보가 없는 회원이 몇 명인지 출력:
- COUNT(*)

- WHERE AGE IS NULL

 

컬럼명은 USERS로 지정 : AS USERS

SELECT COUNT(*) AS USERS FROM USER_INFO WHERE AGE IS NULL

 

(2) sum 이용

조건을 충족하는 참 곧 1을, 충족하지 못하면 거짓 0 값이 반환

AGE IS NULL이라는 조건을 충족하는 경우에만 1로 변환돼 값이 합산

SELECT SUM(AGE IS NULL) AS USERS FROM USER_INFO

 

5) 경기도에 위치한 식품창고 목록 출력하기

 

FOOD_WAREHOUSE 테이블에서 경기도에 위치한 창고의 ID, 이름, 주소, 냉동시설 여부를 조회하는 SQL문을 작성해주세요. 이때 냉동시설 여부가 NULL인 경우, 'N'으로 출력시켜 주시고 결과는 창고 ID를 기준으로 오름차순 정렬해주세요.

 

경기도 : WHERE WAREHOUSE_NAME LIKE '%경기%'

냉동시설 여부가 NULL인 경우,'N'으로 출력 : IFNULL(FREEZER_YN,'N') AS FREEZER_YN

SELECT WAREHOUSE_ID, WAREHOUSE_NAME, ADDRESS, IFNULL(FREEZER_YN,'N') AS FREEZER_YN
FROM FOOD_WAREHOUSE  WHERE WAREHOUSE_NAME LIKE '%경기%' ORDER BY WAREHOUSE_ID

 

'SQL' 카테고리의 다른 글

SQL- 문제 풀어보기 SELECT02  (1) 2024.01.14
SQL- 연결연산자와, 논리연산, BETWEEN, IN, LIKE  (1) 2024.01.13
SQL- 문제 풀어보기 SELECT01  (1) 2024.01.12
SQL- AS와 산술연산  (0) 2024.01.12
SQL 구조  (1) 2024.01.09