2023 주니어 SRE 엔지니어 후레임

반응형

문제

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

 

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

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


해답

 

SELECT문의 가장 기본적인 사용법을 나타내는 문제입니다.

 

SELECT문의 구성은 아래와 같습니다.

 

SELECT 가져올 컬럼들 FROM 참조할 테이블명 [WHERE 조건] [ORDER BY ASC(오름차순), DESC(내림차순)] [GROUP BY 묶어서 보여줄 컬럼명]

 

[] 표시된 것은 옵션이므로 생략 가능합니다.

단, 이번에는 'ANIMAL_ID순으로 조회'라는 조건이 주어졌으므로 ORDER BY를 사용하도록 합니다.

 

일단, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE를 가져와야하니 아래와 같이 순서대로 작성합니다. (세미콜론을 끝에 꼭 붙여주세요)

 

SELECT ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE;

 

이렇게 작성한 후 제출하면 아마 에러가 날 것입니다.

 

Unknown column 'ANIMAL_ID' in 'field list'

 

 

왜냐?

어느 테이블에서 가져올지 정해주지 않았기 때문이죠.

문제에 주어진대로 ANIMAL_INS로부터 참조한다고 적어주어야 합니다.

 

끝에 FROM ANIMAL_INS를 추가해줍니다.

 

 

 

SELECT ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE FROM ANIMAL_INS;

 

이렇게만 적고 제출해도 정답이라 뜰겁니다.

 

하지만 엄밀히 따지면, 'ANIMAL_ID순으로 조회'라는 조건이 붙어있으므로

 

뒤에 ORDER BY ANIMAL_ID (뒤에 ASC, DESC를 생략하면 ASC가 기본값이 됩니다.)를 적어줍니다.

 

 

 

SELECT ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE FROM ANIMAL_INS ORDER BY ANIMAL_ID;

 

 

이제 SQL의 첫 관문을 통과했습니다.

 

 

반응형

이 글을 공유합시다

facebook twitter googleplus kakaoTalk kakaostory naver band