SQL 문제 풀이(SELECT)
select
- SQL의 가장 기초가 되는 구문!!
- 원하는 데이터를 골라오는 조작어
Programmers에서 select 문제를 하나씩 풀이하며 기초를 다져보자!!
1. 모든 레코드 조회하기
- 가장 기본이 되는 문제, 모든 데이터를 출력하는 문제
- DB를 조금이라도 안다면 더이상 설명이 필요없는….!
- 풀이
SELECT * FROM ANIMAL_INS
2. 역순 정렬하기
- 원하는 column만 출력하는 조건과 데이터를 주어진 column에 대해 오름차순, 내림차순으로 할 수 있도록 하는 문제!
- 원하는 컬럼만 출력하는 방법
SELECT COLUMN1, COLUMN2
FROM TABLENAME
- 오름차순, 내림차순으로 정렬하는 방법
SELECT COLUMN1, COLUMN2
FROM TABLENAME
/*
ORDER BY 를 통해 정렬을 시키며
컬럼명 뒤에 아무것도 적지 않거나 ASC를 적을경우 오름차순
DESC를 적을경우 내림차순
*/
ORDER BY COLUMN1 DESC
- 풀이
SELECT NAME, DATETIME FROM ANIMAL_INS
ORDER BY ANIMAL_ID DESC
3. 아픈 동물 찾기
- 데이터를 조건에 맞는 것들만 가져오는 문제!
- SQL에선 WHERE, 코테에서 if()문이라고 생각하면 된다!!
SELECT COLUMN1, COLUMN2
FROM TABLENAME
-- COLUMN1이 ABC인 데이터만 출력
WHERE COLUMN1 = "ABC"
- 풀이
SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
WHERE INTAKE_CONDITION = "Sick"
4. 어린 동물 찾기
- 데이터 중 원하는 조건만 빼는 문제!
- !=, NOT 등을 사용하면 된다
SELECT COLUMN1, COLUMN2
FROM TABLENAME
-- COLUMN1이 ABC인 데이터만 빼서 출력
WHERE COLUMN1 != "ABC"
-- WHERE NOT COLUMN1 = "ABC" 도 같은 결과 출력
- 풀이
SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
WHERE INTAKE_CONDITION != "Aged"
ORDER BY ANIMAL_ID
5. 동물의 아이디와 이름
- 2번 역순 정렬하기 문제와 거의 똑같은 문제
- 풀이
SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
ORDER BY ANIMAL_ID
6 . 여러 기준으로 정렬하기
- 문제 그대로 여러 기준으로 정렬하기!!
- ORDER BY 를 사용하되, 순서를 신경써주어야 한다!
SELECT COLUMN1, COLUMN2
FROM TABLENAME
/*
COLUMN1으로 먼저 정렬하고, COLUMN1 같은 경우 COLUMN2로 정렬
*/
ORDER BY COLUMN1, COLUMN2
- 풀이
SELECT ANIMAL_ID, NAME, DATETIME
FROM ANIMAL_INS
ORDER BY NAME, DATETIME DESC
7 . 상위 n개 레코드
- 데이터가 많을 떄, 갯수를 제한해서 보여주는 방법!
- LIMIT을 써주면 쉽다~~ 상위 5개를 보여주는 방법은 다음과 같다!
SELECT COLUMN1
FROM TABLENAME
LIMIT 5
- 풀이
SELECT NAME
FROM ANIMAL_INS
ORDER BY DATETIME
LIMIT 1
Leave a comment