ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다.
📌 모든 레코드 정렬하기
📌 역순 정렬하기
📌 여러 기준으로 정렬하기
📌 아픈 동물 찾기
📌 어린 동물 찾기
📌 상위 n개 레코드
조건을 만족하는 데이터만 검색하기 위한 키워드
비교 연산자를 이용해서 숫자뿐만 아니라 문자나 날짜 값을 비교할 수 있다.
논리 연산자는 조건을 여러 개 결합하거나 조건을 만족하지 않는 데이터를 검색하고자 할 때 이용한다.
📝 아픈 동물 찾기
동물 보호소에 들어온 동물 중 아픈 동물의 아이디와 이름을 조회하는 SQL 문을 작성해주세요. 이때 결과는 아이디 순으로 조회해주세요.
INTAKE_CONDITION이 'Sick'인 Animal을 출력해야 하기 때문에 비교 연산자 '='을 사용한다.
📝 어린 동물 찾기
동물 보호소에 들어온 동물 중 젊은 동물의 아이디와 이름을 조회하는 SQL 문을 작성해주세요. 이때 결과는 아이디 순으로 조회해주세요.
INTAKE_CONDITION이 'Aged'가 아닌 Animal을 출력해야 하므로 비교 연산자 '<>' or '!='을 사용한다.
결과 테이블의 내용을 사용자가 원하는 순서로 출력하기 위한 키워드
오름차순 정렬이면 ASC, 내림차순 정렬이면 DESC
특별히 지정하지 않으면 오름차순으로 기본 정렬한다.
📝 모든 레코드 정렬하기
동물 보호소에 들어온 모든 동물의 정보를 ANIMAL_ID순으로 조회하는 SQL문을 작성해주세요. SQL을 실행하면 다음과 같이 출력되어야 합니다.
📝 역순 정렬하기
동물 보호소에 들어온 모든 동물의 이름과 보호 시작일을 조회하는 SQL문을 작성해주세요. 이때 결과는 ANIMAL_ID 역순으로 보여주세요. SQL을 실행하면 다음과 같이 출력되어야 합니다.
💡 역순으로 ANIMAL_ID를 출력하기 위해 내림차순 정렬을 사용한다!
📝 여러 기준으로 정렬하기
동물 보호소에 들어온 모든 동물의 아이디와 이름, 보호 시작일을 이름 순으로 조회하는 SQL문을 작성해주세요. 단, 이름이 같은 동물 중에서는 보호를 나중에 시작한 동물을 먼저 보여줘야 합니다.
💡 여러 기준으로 정렬하고 싶다면 우선이 되는 정렬 기준부터 작성한다
위 문제의 경우에는 이름을 기준으로 먼저 정렬하고 동일한 이름의 경우 보호일을 기준으로 내림차순 정렬을 하고자 했다.
따라서 ORDER BY 키워드 뒤에 NAME을 먼저 쓰고 DATETIME DESC를 쓴다.
결과 레코드의 개수를 제한하는 키워드
📝 상위 n개 레코드
동물 보호소에 가장 먼저 들어온 동물의 이름을 조회하는 SQL 문을 작성해주세요.
가장 먼저 들어온 동물의 이름을 찾아야 하기 때문에 ORDER BY로 정렬한 후 첫번째 레코드를 찾는다.