모든 레코드 조회하기
문제
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을 실행하면 다음과 같이 출력되어야 합니다.
정답
SELECT * from ANIMAL_INS ORDER BY ANIMAL_ID
역순 정렬하기
문제
위 문제와 동일한 조건에서 동물 보호소에 들어온 모든 동물의 이름과 보호 시작일을 조회하는 SQL문을 작성해주세요. 이때 결과는 ANIMAL_ID 역순으로 보여주세요.가 문제이다.
정답
SELECT NAME, DATETIME FROM ANIMAL_INS ORDER BY ANIMAL_ID DESC;
아픈 동물 찾기
문제
위와 동일한 조건에서 동물 보호소에 들어온 동물 중 아픈 동물(INTAKE_CONDITION
== SICK
)의 아이디와 이름을 조회하시오. 결과는 아이디 순으로 조회하시오.
정답
SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE INTAKE_CONDITION = "Sick" ORDER BY ANIMAL_ID;
실제 다른 언어로 코드를 짤 때와 헷갈리지 말자. 따옴표는 '
나 "
상관없이 사용할 수 있다. 같다는 것은 ==
가 아닌 =
로 사용해야한다.
어린 동물 찾기
문제
위와 동일한 조건에서 들어온 동물 중 젊은 동물의 아이디와 이름을 조회하는 sql 문을 작성하고, 결과는 아이디 순으로 조회하세요.
정답
SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE INTAKE_CONDITION != 'Aged' ORDER BY ANIMAL_ID;
동물의 아이디와 이름
문제
위와 동일한 조건에서 동물 보호소에 들어온 모든 동물의 아이디와 이름을 ANIMAL_ID 순으로 조회하는 SQL 문을 작성하세요.
정답
SELECT ANIMAL_ID, NAME FROM ANIMAL_INS ORDER BY ANIMAL_ID;
여러 기준으로 정렬하기
문제
위와 동일한 조건에서 동물 보호소에 들어온 모든 동물의 아이디와 이름, 보호 시작일을 이름 순으로 조회하는 SQL문을 작성해주세요. 단, 이름이 같은 동물 중에서는 보호를 나중에 시작한 동물을 먼저 보여줘야 합니다.
정답
SELECT ANIMAL_ID, NAME, DATETIME FROM ANIMAL_INS ORDER BY NAME ASC, DATETIME DESC;
상위 n개 레코드
문제
위와 동일한 조건에서 동물 보호소에 가장 먼저 들어온 동물의 이름을 조회하는 SQL 문을 작성해주세요.
정답
SELECT NAME FROM ANIMAL_INS ORDER BY DATETIME LIMIT 1;