문제


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


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


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


ANIMAL_ID

NAME

A349996

Sugar 

A350276

Jewel

A350375

Meo

A352555

Harley


풀이


1
2
3
SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
ORDER BY ANIMAL_ID
cs

  • 모든 레코드 조회 시 ANIMAL_ID를 기준으로 정렬하기와 동일하지만 출력되는 컬럼명이 ANIMAL_ID와 NAME만 출력되어야 한다.
  • SELECT [원하는 컬럼명] FROM [테이블 명] ORDER BY [기준 컬럼]






출처 : https://programmers.co.kr/learn/courses/30/lessons/59403

'코딩테스트 연습 > SQL' 카테고리의 다른 글

[SELECT] 상위 n개 레코드  (0) 2020.03.21
[SELECT] 여러 기준으로 정렬하기  (0) 2020.03.21
[SELECT] 어린 동물 찾기  (0) 2020.03.21
[SELECT] 아픈 동물 찾기  (0) 2020.03.21
[SELECT] 역순 정렬하기  (0) 2020.03.21

문제


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


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의 아이디와 이름을 조회하는 SQL 문을 작성해주세요. 이때 결과는 아이디 순으로 조회해주세요.


예시

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


ANIMAL_ID

ANIMAL_TYPE 

DATETIME

INTAKE_CONDITION 

NAME

SEX_UPON_INTAKE 

A365172

Dog

2014-08-26 12:53:00

Normal 

Diablo

Neutered Male

A350276

Dog

2015-09-16 09:06:00

Sick

Miller

Neutered Male

A365302

Dog

2017-01-08 16:34:00

Aged

Minnie

Spayed Female 

A381217

Dog

2017-07-08 09:41:00

Sick 

Cherokee

Neutered Male 


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


ANIMAL_ID

NAME

A365172

Diablo 

A367012

Miller

A381217

Cherokee 


풀이



1
2
3
SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
WHERE NOT INTAKE_CONDITION="Aged"
cs

  • 보호 시작 시 상태가 Aged 인 것은 젊은 상태가 아니였다는 것을 의미한다.
  • Aged 가 아닌 상태에 해당하는 것을 제외하고 출력한다.
  • WHERE NOT 칼럼명="조건"






출처 : https://programmers.co.kr/learn/courses/30/lessons/59037

문제


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


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의 아이디와 이름을 조회하는 SQL 문을 작성해주세요. 이때 결과는 아이디 순으로 조회해주세요.


예시

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


ANIMAL_ID

ANIMAL_TYPE 

DATETIME

INTAKE_CONDITION 

NAME

SEX_UPON_INTAKE 

A365172

Dog

2014-08-26 12:53:00

Normal 

Diablo

Neutered Male

A350276

Dog

2015-09-16 09:06:00

Sick

Miller

Neutered Male

A365302

Dog

2017-01-08 16:34:00

Aged

Minnie

Spayed Female 

A381217

Dog

2017-07-08 09:41:00

Sick 

Cherokee

Neutered Male 


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


ANIMAL_ID

NAME

 A367012

Miller 

 A381217

Cherokee 


풀이


1
2
3
SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
WHERE INTAKE_CONDITION LIKE "Sick"
cs


  • SQL 패턴 매칭 LIKE 를 사용하여 해당하는 데이터가 있으면 출력한다.
  • WHERE [컬럼명] LIKE "문자열"
  • "_문자열" : _ 를 붙이면 임의의 문자 한 개를 의미한다.
  • "%문자열" : %를 붙이면 임의의 문자 또는 문자열을 의미한다.






출처 : https://programmers.co.kr/learn/courses/30/lessons/59036

문제


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


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


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


NAME

DATETIME

Rocky

2016-06-07 09:17:00

Shelly

2015-01-29 15:01:00

Benji

2016-04-19 13:28:00

Jackie

2016-01-03 16:25:00

*Sam

2016-03-13 11:17:00 


풀이


1
2
3
SELECT NAME, DATETIME
FROM ANIMAL_INS
ORDER BY ANIMAL_ID DESC
cs

  • 결과 값으로 출력되는 항목은 NAME과 DATETIME 이므로 두 개의 항목만 출력될 수 있도록 한다.
  • ANIMAL_ID 기준으로 역순 출력이므로 ORDER BY [기준] DESC 를 통해 역순으로 정렬한다.






+ Recent posts