SQL/Programmers

[SQL/Programmers] SELECT(MySQL)

아웃라이어_ 2020. 6. 5. 11:26

https://programmers.co.kr/learn/challenges?tab=sql_practice_kit

 

코딩테스트 연습

기초부터 차근차근, 직접 코드를 작성해 보세요.

programmers.co.kr

문제설명

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다.

ANIMAL_INS 테이블 구조는 다음과 같습니다.

 - ANIMAL_ID(VARCHAR(N), NOT NULL): 동물의 아이디

 - ANIMAL_TYPE(VARCHAR(N), NOT NULL): 생물 종

 - DATETIME(DATETIME, NOT NULL): 보호 시작일

 - INTAKE_CONDITION(VARCHAR(N), NOT NULL): 보호 시작 시 상태

 - NAME(VARCHAR(N)): 이름

 - SEX_UPON_INTAKE(VARCHAR(N), NOT NULL): 성별 및 중성화 여부

Q. 모든 레코드 조회하기

동물 보호소에 들어온 모든 동물의 정보를 ANIMAL_ID순으로 조회하는 SQL문을 작성해주세요.

SQL문을 실행하면 다음과 같이 출력되어야 합니다. 

 

 

A. SELECT문에 *를 전달하면 모든 변수를 출력한다. ORDER BY 절은 정렬기준 열 이름을 지정한다.

 

Q. 역순 정렬하기

동물 보호소에 들어온 모든 동물의 이름과 보호 시작일을 조회하는 SQL문을 작성해 주세요.

이때 결과는 ANIMAL_ID 역순으로 보여주세요.

SQL을 실행하면 다음과 같이 출력되어야 합니다.

 

A. ORDER BY 절에 DESC 옵션을 추가하면 내림차순으로 정렬한다.

 

 

Q. 아픈 동물 찾기

동물 보호소에 들어온 동물 중 아픈 동물(INTAKE_CONDITION이 Sick인 경우)의 아이디와 이름을 조회하는 SQL문을 작성해 주세요.

이때 결과는 아이디 순으로 조회해주세요.

 

A. 조건을 추가할 때는 WHERE 절을 사용합니다. 문자열은 작은 따옴표를 사용해 표현합니다.

 

Q. 어린 동물 찾기

동물 보호소에 들어온 동물 중 젊은 동물(INTAKE_CONDITION이 Aged가 아닌 경우를 뜻함)의 아이디와 이름을 조회하는 SQL문을 작성해주세요.

이때 결과는 아이디 순으로 조회해주세요.

 

A. 조건을 추가할 때는 WHERE 절을 사용합니다. 부정 연산자는 !=, <> 두 가지 입니다.

   문자열은 작은 따옴표를 사용해 표현합니다.

 

Q. 동물의 아이디와 이름

동물 보호소에 들어온 모든 아이디와 이름을 ANIMAL_ID순으로 조회하는 SQL문을 작성해 주세요.

SQL을 실행하면 다음과 같이 출력되어야 합니다. 

 

 

Q. 여러 기준으로 정렬하기

동물 보호소에 들어온 모든 동물의 아이디와 이름, 보호 시작일을 이름 순으로 조회하는 SQL문을 작성해주세요.

단, 이름이 같은 동물 중에서는 보호를 나중에 시작한 동물을 먼저 보여줘야 합니다.

 

A. 여러 변수를 기준으로 정렬하고 싶으면 ORDER BY 절에 쉼표로 구분하여 전달하면 됩니다.

 

Q. 동물 보호소에 가장 먼저 들어온 동물의 이름을 조회하는 SQL 문을 작성해주세요.

A. LIMIT 절을 이용하면 출력하는 레코드의 개수를 설정할 수 있습니다. 

 

'SQL > Programmers' 카테고리의 다른 글

[SQL/Programmers] String, Date(MySQL)  (0) 2020.06.05
[SQL/Programmers] JOIN(MySQL)  (0) 2020.06.05
[SQL/Programmers] IS NULL(MySQL)  (0) 2020.06.05
[SQL/Programmers] GROUP BY(MySQL)  (0) 2020.06.05
[SQL/Programmers] SUM, MAX, MIN(MySQL)  (0) 2020.06.05