JaeniWorld
[SQL] 프로그래머스 7daySQL챌린지 day1~day4 본문
Day1 - 1
동물 보호소에 들어온 모든 동물의 정보를 ANIMAL_ID순으로 조회하는 SQL문을 작성해주세요. SQL을 실행하면 다음과 같이 출력되어야 합니다.
SELECT *
from ANIMAL_INS
ORDER BY ANIMAL_ID;
원 레코드들이 ANIMAL_ID 순으로 정렬된지 확인이 되지 않아서 ORDER BY절을 활용하여 한번 더 정렬
Day1 - 2
동물 보호소에 들어온 모든 동물의 이름과 보호 시작일을 조회하는 SQL문을 작성해주세요. 이때 결과는 ANIMAL_ID 역순으로 보여주세요. SQL을 실행하면 다음과 같이 출력되어야 합니다.
SELECT NAME, DATETIME
FROM ANIMAL_INS
ORDER BY ANIMAL_ID DESC;
DAY2 - 1
동물 보호소에 들어온 동물 중 아픈 동물의 아이디와 이름을 조회하는 SQL 문을 작성해주세요. 이때 결과는 아이디 순으로 조회해주세요.
SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
WHERE UPPER(INTAKE_CONDITION) = 'SICK';
DAY2- 2
동물 보호소에 들어온 동물 중 젊은 동물1의 아이디와 이름을 조회하는 SQL 문을 작성해주세요. 이때 결과는 아이디 순으로 조회해주세요.
SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
WHERE INTAKE_CONDITION NOT IN ('Aged')
ORDER BY ANIMAL_ID;
DAY3 - 1
동물 보호소에 가장 먼저 들어온 동물은 언제 들어왔는지 조회하는 SQL 문을 작성해주세요.
select datetime as 시간
from animal_ins
order by datetime LIMIT 1
학원 다니면서 배운 건 Oracle이라서 from절에서 정렬하고 rownum으로 하려고 했는데 이거는 Mysql이여서 LIMIT 함수를 사용하였다.
LIMIT 함수
-결과 행을 제한하기 위한 함수로써 Mysql에서 사용됨
-oracle의 rownum, sql-server의 top함수와 비슷
- where이나 order by절에서 사용하며 숫자만큼의 행을 검색함
DAY3 - 2
동물 보호소에 들어온 동물 중, 이름이 없는 채로 들어온 동물의 ID를 조회하는 SQL 문을 작성해주세요. 단, ID는 오름차순 정렬되어야 합니다.
SELECT ANIMAL_ID
from animal_ins
where name is NULL -- or name like "*%"
order by ANIMAL_ID
DAY4 - 1
동물 보호소에 들어온 동물 중 고양이와 개가 각각 몇 마리인지 조회하는 SQL문을 작성해주세요. 이때 고양이가 개보다 먼저 조회해주세요.
SELECT ANIMAL_TYPE, COUNT(ANIMAL_TYPE)
FROM ANIMAL_INS
GROUP BY ANIMAL_TYPE
ORDER BY ANIMAL_TYPE
DAY4 - 2
동물 보호소에 들어온 동물 이름 중 두 번 이상 쓰인 이름과 해당 이름이 쓰인 횟수를 조회하는 SQL문을 작성해주세요. 이때 결과는 이름이 없는 동물은 집계에서 제외하며, 결과는 이름 순으로 조회해주세요.
SELECT NAME, COUNT(NAME)
FROM ANIMAL_INS
GROUP BY NAME HAVING COUNT(NAME)>1
'코테준비 > 문제풀이' 카테고리의 다른 글
[Python] Boj 백준 10989 수 정렬하기 3 (0) | 2022.06.08 |
---|---|
[Python] Boj 백준 2751 수 정렬하기 2 (0) | 2022.05.13 |
[Python] 프로그래머스 구명보트 (0) | 2020.07.12 |
[Python] 프로그래머스 쇠막대기 (0) | 2020.07.12 |
[Python3] 프로그래머스 크레인 인형뽑기 게임 (0) | 2020.07.11 |