https://programmers.co.kr/learn/courses/30/parts/17042
SELECT
조건에 맞는 데이터를 조회하는 명령어
ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다.
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.
동물 보호소에 들어온 모든 동물의 정보를 ANIMAL_ID순으로 조회하는 SQL문을 작성해주세요.
~순으로 조회하세요 : ORDER BY
SELECT *
FROM ANIMAL_INS
ORDER BY ANIMAL_ID;
문제2.
동물 보호소에 들어온 모든 동물의 이름과 보호 시작일을 조회하는 SQL문을 작성해주세요. 이때 결과는 ANIMAL_ID 역순으로 보여주세요.
~역순으로 : ORDER BY COLUMN DESC
SELECT NAME, DATETIME
FROM ANIMAL_INS
ORDER BY ANIMAL_ID DESC;
문제3.
동물 보호소에 들어온 동물 중 아픈 동물(INTAKE_CONDITION이 Sick 인 경우를 뜻함)의 아이디와 이름을 조회하는 SQL 문을 작성해주세요. 이때 결과는 아이디 순으로 조회해주세요.
WHERE 절을 사용!
SELECT ANIMAL_ID,NAME
FROM ANIMAL_INS
WHERE INTAKE_CONDITION='Sick'
ORDER BY ANIMAL_ID;
문제4.
동물 보호소에 들어온 동물 중 젊은 동물(INTAKE_CONDITION이 Aged가 아닌 경우를 뜻함)의 아이디와 이름을 조회하는 SQL 문을 작성해주세요. 이때 결과는 아이디 순으로 조회해주세요.
같지않다 : !=, ^=, <> , NOT IN (' .. ')
SELECT ANIMAL_ID,NAME
FROM ANIMAL_INS
WHERE INTAKE_CONDITION != 'Aged'
ORDER BY ANIMAL_ID;
문제5.
동물 보호소에 들어온 모든 동물의 아이디와 이름을 ANIMAL_ID순으로 조회하는 SQL문을 작성해주세요.
SELECT ANIMAL_ID, NAME FROM ANIMAL_INS ORDER BY ANIMAL_ID;
문제6.
동물 보호소에 들어온 모든 동물의 아이디와 이름, 보호 시작일을 이름 순으로 조회하는 SQL문을 작성해주세요. 단, 이름이 같은 동물 중에서는 보호를 나중에 시작한 동물을 먼저 보여줘야 합니다.
ORDER BY에 조건을 두 번 주면 됩니다. (최근날짜 -> 오래된 날짜 DESC, 오래된 날짜 -> 최근날짜 ASC)
SELECT ANIMAL_ID, NAME, DATETIME
FROM ANIMAL_INS
ORDER BY NAME ASC,DATETIME DESC;
문제7.
동물 보호소에 가장 먼저 들어온 동물의 이름을 조회하는 SQL 문을 작성해주세요.
1. ROWNUM방식
SELECT NAME
FROM(
SELECT ROWNUM RC,NAME
FROM (SELECT NAME,DATETIME
FROM ANIMAL_INS
ORDER BY DATETIME ASC)
)
WHERE RC=1
;
2. RANK() OVER( )
SELECT NAME
FROM (SELECT RANK() OVER(ORDER BY DATETIME ASC ) RC, NAME
FROM ANIMAL_INS)
WHERE RC=1;
'👩🏻💻Technical things > SQL' 카테고리의 다른 글
[ MyBatis ] 동적 쿼리 (0) | 2020.09.22 |
---|---|
[ 프로그래머스 IS NULL,JOIN,STRING,DATE 문제 풀이 ] (0) | 2020.08.07 |
[ 프로그래머스 GROUP BY 문제 풀이 ] (0) | 2020.08.07 |
[ 프로그래머스 SUM,MAX,MIN 문제 풀이 ] (0) | 2020.08.07 |