티스토리 뷰
MySQL Level 1 문제풀이를 해보려고 한다.
포스팅 남길것도 없이 쉽게 끝났지만, 남겨두면 언제가 유익한 정보가 되길 바라면서...
기본적으로 SQL Level 1의 문제들은 SELECT 문을 잘 활용할수 있는가를 물어보는 수준이다.
모든 문제에 사용되는 DB테이블은 하나이고 스키마는 다음과 같다. 문제풀이 순서는 내맘대로이다.
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 |
[동물 보호소에 들어온 동물]
1. 모든 레코드 조회하기
: 동물 보호소에 들어온 모든 동물의 정모를 ANIMAl_ID 순으로 조회하는 SQL을 작성하세요.
SELECT * FROM ANIMAL_INS ORDER BY ANIMAL_ID
2. 이름이 없는 동물의 아이디
:동물 보호소에 들어온 동물 중, 이름이 없는 채로 들어온 동물의 ID를 조회하는 SQL 문을 작성해주세요. 단, ID는 오름차순 정렬되어야 합니다.
SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NULL ORDER BY ANIMAL_ID;
3. 이름이 있는 동물의 아이디
:동물 보호소에 들어온 동물 중, 이름이 있는 동물의 ID를 조회하는 SQL 문을 작성해주세요. 단, ID는 오름차순 정렬되어야 합니다.
SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NOT NULL ORDER BY ANIMAL_ID
4. 어린 동물 찾기
:동물 보호소에 들어온 동물 중 젊은 동물의 아이디와 이름을 조회하는 SQL 문을 작성해주세요. 이때 결과는 아이디 순으로 조회해주세요.
SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE INTAKE_CONDITION != 'Aged' ORDER BY ANIMAL_ID
5. 여러 기준으로 정렬하기
:동물 보호소에 들어온 모든 동물의 아이디와 이름, 보호 시작일을 이름 순으로 조회하는 SQL문을 작성해주세요. 단, 이름이 같은 동물 중에서는 보호를 나중에 시작한 동물을 먼저 보여줘야 합니다.
SELECT ANIMAL_ID, NAME, DATETIME FROM ANIMAL_INS ORDER BY NAME ASC, DATETIME DESC
6. 최댓값 구하기
:가장 최근에 들어온 동물은 언제 들어왔는지 조회하는 SQL 문을 작성해주세요.
SELECT DATETIME FROM ANIMAL_INS ORDER BY DATETIME DESC LIMIT 1
or
SELECT MAX(DATETIME) FROM ANIMAL_INS
7. 역순 정렬하기
:동물 보호소에 들어온 모든 동물의 이름과 보호 시작일을 조회하는 SQL문을 작성해주세요. 이때 결과는 ANIMAL_ID 역순으로 보여주세요.
SELECT NAME, DATETIME FROM ANIMAL_INS ORDER BY ANIMAL_ID DESC
8. 아픈 동물 찾기
:동물 보호소에 들어온 동물 중 아픈 동물의 아이디와 이름을 조회하는 SQL 문을 작성해주세요. 이때 결과는 아이디 순으로 조회해주세요.
SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE INTAKE_CONDITION = 'Sick' ORDER BY ANIMAL_ID
9. 동물의 아이디와 이름
:동물 보호소에 들어온 모든 동물의 아이디와 이름을 ANIMAL_ID순으로 조회하는 SQL문을 작성해주세요.
SELECT ANIMAL_ID, NAME FROM ANIMAL_INS ORDER BY ANIMAL_ID
10. 상위 N개 레코드
:동물 보호소에 가장 먼저 들어온 동물의 이름을 조회하는 SQL 문을 작성해주세요.
SELECT NAME FROM ANIMAL_INS ORDER BY DATETIME LIMIT 1
'Computer Engineering > Common' 카테고리의 다른 글
[Git] 비어있지 않은 로컬 저장소로 Clone하기 (0) | 2022.06.08 |
---|---|
[programmers] MySQL - Level 2 문제풀이 (1/2) (0) | 2022.04.27 |
Visual Studio Shortcut (0) | 2022.03.28 |
정규 표현식(Regex) (0) | 2021.09.28 |
프레임워크(Framework) (0) | 2021.09.25 |