반응형

 

 

데이터베이스 공부 겸 MySQL 쿼리문 공부겸 시작해본 SQL 고득점 키트

Level1은 간단하게 작성할 수 있어서 풀어본 문제들을 한꺼번에 올려본다

 

※공부용으로 정리하였으니 오타나 잘못된 사항이 있다면 알려주세요

 

 

1. 모든 레코드 조회하기 - 59034번

 

 

SELECT * from ANIMAL_INS
ORDER BY ANIMAL_ID;

 

모든 필드를 조회하여 SELECT * from 테이블 명을 사용하였고

ANIMAL_ID를 기준으로 조회되어야 하므로 ORDER BY ANIMAL_ID를 사용해주었다

(ORDER BY는 일반적으로 내림차순 조회이다)

 

 

 

2. 역순 정렬하기 - 59035번

 

SELECT NAME, datetime from ANIMAL_INS
order by ANIMAL_ID desc;

 

동물의 이름과 보호 시작을일 조회하므로

NAME 컬럼과 DATETIME 컬럼을 SELECT 해준다

역순으로 정렬은 ORDER BY를 사용하되, 뒤에 desc를 덧붙여준다

 

*영어 단어 ascend descend에서 유래되었다

 

 

3. 아픈 동물 찾기 - 59036번

 

SELECT ANIMAL_ID, NAME from ANIMAL_INS
WHERE INTAKE_CONDITION="Sick" order by ANIMAL_ID

테이블에서 해당하는 조건에 맞는 동물을 찾고, 아이디 순서대로 조회해야 하므로

WHERE절과 ORDER BY를 사용하였다

 

INTAKE_CONDITION 컬럼의 값이 Normal, Sick, Aged가 있는데

아픈 동물은 INTAKE_CONDITION 컬럼의 값이 Sick 이어야 하고,

 

결과를 동물 아이디ANIMAL_ID 순서대로 조회해야하므로

ORDER BY ANIMAL_ID를 사용하였다

 

 

4. 어린 동물 찾기 - 59037번

 

 

SELECT ANIMAL_ID, NAME from ANIMAL_INS
where not INTAKE_CONDITION = "Aged" order by ANIMAL_ID

위와 마찬가지로 어린 동물을 찾아야 하므로 WHERE 조건절을 사용하되, not을 덧붙여서

INTAKE_CONDITION 값이 Aged인 동물을 걸러내준다

 

마찬가지로 아이디 순으로 조회하므로 ORDER BY를 사용해준다

 

 

5. 동물의 아이디와 이름 - 59403번

 

 

SELECT ANIMAL_ID,NAME from ANIMAL_INS
order by ANIMAL_ID

위의 내용들과 겹쳐서 생략

 

 

6. 여러 기준으로 정렬하기 - 59404번

 

 

SELECT ANIMAL_ID, NAME, DATETIME FROM ANIMAL_INS
ORDER BY NAME, DATETIME desc

동물의 이름을 사전순으로 조회하되, 보호 시기가 늦은 동물부터 조회해야하므로

조회하는 조건을 이름에서 보호날짜인 DATETIME을 추가 입력해준다

 

이름은 사전순이므로 order by 디폴트값을 사용하고,

오름차순이어야 하는 datetime은 desc을 덧붙여준다

 

 

7. 상위 n개 레코드 - 59405번

 

 

 

SELECT NAME from ANIMAL_INS
order by DATETIME limit 1

 

출력 데이터의 개수 제한이 필요하므로 limit를 사용한다

가장 먼저 들어온 동물이 필요하므로

조회한 다음, 하나만 출력해야해서 limit 뒤의 제한 숫자는 1로 입력한다

 

 

 

 

 

 

참고 : 

https://programmers.co.kr/learn/courses/30/parts/17042

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

반응형

+ Recent posts