prgms. SELECT

Polynomeer·2020년 4월 26일
0

programmers

목록 보기
1/1
post-thumbnail

programmers. SELECT

1. 모든 레코드 조회하기

문제 설명

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다.

NAMETYPENULLABLE
ANIMAL_IDVARCHAR(N)FALSE
ANIMAL_TYPEVARCHAR(N)FALSE
DATETIMEDATETIMEFALSE
INTAKE_CONDITIONVARCHAR(N)FALSE
NAMEVARCHAR(N)TRUE
SEX_UPON_INTAKEVARCHAR(N)FALSE

동물 보호소에 들어온 모든 동물의 정보를 ANIMAL_ID순으로 조회하는 SQL문을 작성해주세요. SQL을 실행하면 다음과 같이 출력되어야 합니다.

출력

ANIMAL_IDANIMAL_TYPE DATETIMEINTAKE_CONDITIONNAMESEX_UPON_INTAKE
A349996Cat2018-01-22 14:32:00NormalSugar
A350276Cat2017-08-13 13:50:00NormalJewel
A350375Cat2017-03-06 15:01:00NormalMeo
A352555Dog2014-08-08 04:20:00NormalHarley

..이하 생략

문제 풀이

SELECT * FROM ANIMAL_INS ORDER BY ANIMAL_ID;

풀이 결과

2. 역순 정렬하기

문제 설명

... 문제1과 스키마 동일 ...

동물 보호소에 들어온 모든 동물의 이름과 보호 시작일을 조회하는 SQL문을 작성해주세요. 이때 결과는 ANIMAL_ID 역순으로 보여주세요. SQL을 실행하면 다음과 같이 출력되어야 합니다.

NAMEDATETIME
Rocky2016-06-07 09:17:00
Shelly2015-01-29 15:01:00
Benji2016-04-19 13:28:00
Jackie2016-01-03 16:25:00
*Sam2016-03-13 11:17:00

..이하 생략

문제 풀이

SELECT NAME, DATETIME FROM ANIMAL_INS ORDER BY ANIMAL_ID DESC;

풀이 결과

3. 아픈 동물 찾기

문제 설명

... 문제1과 스키마 동일 ...

동물 보호소에 들어온 동물 중 아픈 동물1의 아이디와 이름을 조회하는 SQL 문을 작성해주세요. 이때 결과는 아이디 순으로 조회해주세요.

예시

예를 들어 ANIMAL_INS 테이블이 다음과 같다면

ANIMAL_IDANIMAL_TYPEDATETIMEINTAKE_CONDITIONNAME
A365172Dog2014-08-26 12:53:00NormalDiablo
A367012Dog2015-09-16 09:06:00SickMiller
A365302Dog2017-01-08 16:34:00AgedMinnie
A381217Dog2017-07-08 09:41:00SickCherokee

이 중 아픈 동물은 Miller와 Cherokee입니다. 따라서 SQL문을 실행하면 다음과 같이 나와야 합니다.

ANIMAL_IDNAME
A367012Miller
A381217Cherokee

문제 풀이

SELECT ANIMAL_ID, NAME FROM ANIMAL_INS
WHERE INTAKE_CONDITION="SICK"
ORDER BY ANIMAL_ID;

풀이 결과

ANIMAL_IDNAME
A362707Girly Girl
A367012Miller
A381217Cherokee
A387965Dakota
A388360Spider
A410330Chewy

4. 어린 동물 찾기

문제 설명

... 문제1과 스키마 동일 ...

동물 보호소에 들어온 동물 중 젊은 동물1의 아이디와 이름을 조회하는 SQL 문을 작성해주세요. 이때 결과는 아이디 순으로 조회해주세요.

예시

예를 들어 ANIMAL_INS 테이블이 다음과 같다면

ANIMAL_IDANIMAL_TYPEDATETIMEINTAKE_CONDITIONNAMESEX_UPON_INTAKE
A365172Dog2014-08-26 12:53:00NormalDiabloNeutered Male
A367012Dog2015-09-16 09:06:00SickMillerNeutered Male
A365302Dog2017-01-08 16:34:00AgedMinnieSpayed Female
A381217Dog2017-07-08 09:41:00SickCherokeeNeutered Male

이 중 젊은 동물은 Diablo, Miller, Cherokee입니다. 따라서 SQL문을 실행하면 다음과 같이 나와야 합니다.

ANIMAL_IDNAME
A365172Diablo
A367012Miller
A381217Cherokee

문제 풀이

SELECT ANIMAL_ID, NAME FROM ANIMAL_INS
WHERE INTAKE_CONDITION!="AGED"
ORDER BY ANIMAL_ID;

풀이 결과

(생략)

5. 동물의 아이디와 이름

문제 설명

... 문제1과 스키마 동일 ...

동물 보호소에 들어온 모든 동물의 아이디와 이름을 ANIMAL_ID순으로 조회하는 SQL문을 작성해주세요. SQL을 실행하면 다음과 같이 출력되어야 합니다.

ANIMAL_IDNAME
A349996Sugar
A350276Jewel
A350375Meo
A352555Harley
A352713Gia
A352872Peanutbutter
A353259Bj

((이하 생략))

문제 풀이

SELECT ANIMAL_ID, NAME FROM ANIMAL_INS
ORDER BY ANIMAL_ID;

풀이 결과

(생략)

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

문제 설명

... 문제1과 스키마 동일 ...

동물 보호소에 들어온 모든 동물의 아이디와 이름, 보호 시작일을 이름 순으로 조회하는 SQL문을 작성해주세요. 단, 이름이 같은 동물 중에서는 보호를 나중에 시작한 동물을 먼저 보여줘야 합니다.

예시

예를 들어, ANIMAL_INS 테이블이 다음과 같다면

ANIMAL_IDANIMAL_TYPEDATETIMEINTAKE_CONDITIONNAMESEX_UPON_INTAKE
A349996Cat2018-01-22 14:32:00NormalSugarNeutered Male
A350276Cat2017-08-13 13:50:00NormalJewelSpayed Female
A396810Dog2016-08-22 16:13:00InjuredRavenSpayed Female
A410668Cat2015-11-19 13:41:00NormalRavenSpayed Female

이름을 사전 순으로 정렬하면 다음과 같으며, 'Jewel', 'Raven', 'Sugar'
'Raven'이라는 이름을 가진 개와 고양이가 있으므로, 이 중에서는 보호를 나중에 시작한 고양이를 먼저 조회합니다.
따라서 SQL문을 실행하면 다음과 같이 나와야 합니다.

ANIMAL_IDNAMEDATETIME
A350276Jewel2017-08-13 13:50:00
A396810Raven2016-08-22 16:13:00
A410668Raven2015-11-19 13:41:00
A349996Sugar2018-01-22 14:32:00

문제 풀이

SELECT ANIMAL_ID, NAME, DATETIME
FROM ANIMAL_INS
ORDER BY NAME, DATETIME DESC;

풀이 결과

(생략)

7. 상위 n개 레코드

문제 설명

... 문제1과 스키마 동일 ...

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

예시

예를 들어 ANIMAL_INS 테이블이 다음과 같다면

ANIMAL_IDANIMAL_TYPEDATETIMEINTAKE_CONDITIONNAMESEX_UPON_INTAKE
A399552Dog2013-10-14 15:38:00NormalJackNeutered Male
A379998Dog2013-10-23 11:42:00NormalDiscipleIntact Male
A370852Dog2013-11-03 15:04:00NormalKatieSpayed Female
A403564Dog2013-11-18 17:03:00NormalAnnaSpayed Female

이 중 가장 보호소에 먼저 들어온 동물은 Jack입니다. 따라서 SQL문을 실행하면 다음과 같이 나와야 합니다.

NAME
Jack

※ 보호소에 가장 먼저 들어온 동물은 한 마리인 경우만 테스트 케이스로 주어집니다.

문제 풀이

SELECT NAME FROM ANIMAL_INS ORDER BY DATETIME LIMIT 1;

풀이 결과

NAME
Jack
profile
어려운 문제를 어렵지 않게.

0개의 댓글