Sql공부를 소홀히 한거 같아 프로그래머스에 있는
SQL 고득점 Kit 를 풀어 보았다.
테이블 설명
1. 모든 레코드 조회하기
동물 보호소에 들어온 모든 동물의 정보를 ANIMAL_ID순으로 조회하는 SQL문을 작성해주세요.
SELECT *
FROM ANIMAL_INS
ORDER BY ANIMAL_ID;
ORDER BY를 이용하기 ASC(생략 가능)로 순서 표시
2. 역순 정렬하기
동물 보호소에 들어온 모든 동물의 이름과 보호 시작일을 조회하는 SQL문을 작성해주세요. 이때 결과는 ANIMAL_ID 역순으로 보여주세요.
SELECT NAME, DATETIME
FROM ANIMAL_INS
ORDER BY ANIMAL_ID DESC;
ORDER BY를 이용하기 DESC로 순서 표시
3. 아픈 동물 찾기
동물 보호소에 들어온 동물 중 아픈 동물의 아이디와 이름을 조회하는 SQL 문을 작성해주세요.
SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
WHERE INTAKE_CONDITION LIKE 'SICK'
ORDER BY ANIMAL_ID;
WHERE COLUMN명 LIKE '조건' 으로 원하는 조건 선택
4. 어린 동물 찾기
동물 보호소에 들어온 동물 중 젊은 동물의 아이디와 이름을 조회하는 SQL 문을 작성해주세요.
SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
WHERE INTAKE_CONDITION NOT IN ('AGED');
원하는 속성만 제외 시키는 방법 WHERE COLUMN명 NOT IN ('조건1','조건2','조건3')
5. 동물의 아이디와 이름
동물 보호소에 들어온 모든 동물의 아이디와 이름을 ANIMAL_ID순으로 조회하는 SQL문을 작성해주세요.
SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
ORDER BY ANIMAL_ID;
6. 여러 기준으로 정렬하기
동물 보호소에 들어온 모든 동물의 아이디와 이름, 보호 시작일을 이름 순으로 조회하는 SQL문을 작성해주세요. 단, 이름이 같은 동물 중에서는 보호를 나중에 시작한 동물을 먼저 보여줘야 합니다.
SELECT ANIMAL_ID, NAME, DATETIME
FROM ANIMAL_INS
ORDER BY NAME ASC, DATETIME DESC;
7. 상위 n개 레코드
동물 보호소에 가장 먼저 들어온 동물의 이름을 조회하는 SQL 문을 작성해주세요.
SELECT NAME
FROM ANIMAL_INS
ORDER BY DATETIME
LIMIT 1;
또는 LIMIT 0, 1 (0 이후부터 1개를 출력) 으로 작성해도 출력가능
SELECT NAME
FROM ANIMAL_INS
ORDER BY DATETIME
LIMIT 0,1;
ex) LIMIT 2, 5 (2이후로 5개를 출력)
'MySql' 카테고리의 다른 글
HackerRank 기본 문제 풀이 (0) | 2023.01.11 |
---|---|
[MySql] Sql 공부하기-2 (0) | 2022.03.15 |