반응형
[문제]
- 문제명 : 이름이 없는 동물의 아이디
- 난이도 : LEVEL 1
- 링크 : https://programmers.co.kr/learn/courses/30/lessons/59039
[풀이]
NAME이 NULL인 항을 뽑아내기 위해선 IS NULL을 이용한다. 만약 NULL이 아닌 항만 뽑아내고 싶다면 IS NOT NULL 키워드를 이용할 수 있다.
ANIMAL_ID 기준으로 오름차순 정렬되어야 하기 때문에 ORDER BY를 사용한다.
SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME is null ORDER BY ANIMAL_ID
[문제]
- 문제명 : 최댓값 구하기
- 난이도 : LEVEL 1
- 링크 : https://programmers.co.kr/learn/courses/30/lessons/59415
[풀이]
날짜를 표현하는 DATETIME 타입은 관계 연산자를 사용하여 비교할 수 있다. 즉, 대소 비교가 가능하므로 최대 최소또한 MAX, MIN 함수로 구할 수 있다.
열 이름을 '시간'으로 바꾸고 싶다면 AS를 사용한다.
SELECT MAX(DATETIME) AS '시간' FROM ANIMAL_INS
[문제]
- 문제명 : 역순 정렬하기
- 난이도 : LEVEL 1
- 링크 : https://programmers.co.kr/learn/courses/30/lessons/59035
[풀이]
역순으로 정렬하기 위해선 ORDER BY ~~~ DESC 명령어를 사용하면 된다.
SELECT NAME, DATETIME FROM ANIMAL_INS ORDER BY ANIMAL_ID DESC
[문제]
- 문제명 : 이름이 있는 동물의 아이디
- 난이도 : LEVEL 1
- 링크 : https://programmers.co.kr/learn/courses/30/lessons/59407
[풀이]
SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME is not null ORDER BY ANIMAL_ID
[문제]
- 문제명 : 아픈 동물 찾기
- 난이도 : LEVEL 1
- 링크 : https://programmers.co.kr/learn/courses/30/lessons/59036
[풀이]
아픈 동물은 INTAKE_CONTITION열의 값이 Sick인 동물이다. 따라서 WHERE절을 이용하여 아픈 동물의 이름과 아이디를 조회한다.
SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE INTAKE_CONDITION = 'Sick' ORDER BY ANIMAL_ID
[문제]
- 문제명 : 동물의 아이디와 이름
- 난이도 : LEVEL 1
- 링크 : https://programmers.co.kr/learn/courses/30/lessons/59403
[풀이]
SELECT ANIMAL_ID, NAME FROM ANIMAL_INS ORDER BY ANIMAL_ID
[문제]
- 문제명 : 상위 n개 레코드
- 난이도 : LEVEL 1
- 링크 : https://programmers.co.kr/learn/courses/30/lessons/59405
[풀이]
LIMIT을 이용하면 위에서부터 n개만 출력해줄 수 있다.
따라서 보호소에 들어온 순서대로 정렬을 한 뒤, LIMIT 1로 1개만 출력하게 되면 가장 먼저 들어온 동물을 조회하게 된다.
SELECT NAME FROM ANIMAL_INS ORDER BY DATETIME LIMIT 1
[문제]
- 문제명 : 여러 기준으로 정렬하기
- 난이도 : LEVEL 1
- 링크 : https://programmers.co.kr/learn/courses/30/lessons/59404
[풀이]
여러 기준으로 정렬하기 위해서는 ORDER BY 뒤에 콤마(,)로 기준들을 나열한다. 앞에서부터 차례대로 정렬이 수행된다.
SELECT ANIMAL_ID, NAME, DATETIME FROM ANIMAL_INS ORDER BY NAME, DATETIME DESC
반응형
'Computer Science > 데이터베이스(DB)' 카테고리의 다른 글
[DB] 7. 정규화 & 함수 종속성 & 이상현상 (0) | 2021.07.29 |
---|---|
[DB/SQL] 프로그래머스 MySQL 문제 (LEVEL 2) 풀이 (1) (0) | 2021.07.09 |
[DB/SQL] 6. 집계 함수(Aggregate Function), GROUP BY, HAVING (0) | 2021.07.06 |
[DB/SQL] 5. DML(Data Manipulation Language) - UPDATE, DELETE (0) | 2021.06.16 |
[DB/SQL] 4. DML(Data Manipulate Language) - INSERT, SELECT (1) | 2021.06.11 |