SQL 문제 풀이(SELECT)

1 minute read

select

  • SQL의 가장 기초가 되는 구문!!
  • 원하는 데이터를 골라오는 조작어

Programmers에서 select 문제를 하나씩 풀이하며 기초를 다져보자!!

1. 모든 레코드 조회하기

LINK

  • 가장 기본이 되는 문제, 모든 데이터를 출력하는 문제
  • DB를 조금이라도 안다면 더이상 설명이 필요없는….!
  • 풀이
SELECT * FROM ANIMAL_INS

2. 역순 정렬하기

LINK

  • 원하는 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. 아픈 동물 찾기

LINK

  • 데이터를 조건에 맞는 것들만 가져오는 문제!
  • 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. 어린 동물 찾기

LINK

  • 데이터 중 원하는 조건만 빼는 문제!
  • !=, 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. 동물의 아이디와 이름

LINK

  • 2번 역순 정렬하기 문제와 거의 똑같은 문제
  • 풀이
SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
ORDER BY ANIMAL_ID

6 . 여러 기준으로 정렬하기

LINK

  • 문제 그대로 여러 기준으로 정렬하기!!
  • 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개 레코드

LINK

  • 데이터가 많을 떄, 갯수를 제한해서 보여주는 방법!
  • LIMIT을 써주면 쉽다~~ 상위 5개를 보여주는 방법은 다음과 같다!
SELECT COLUMN1
FROM TABLENAME
LIMIT 5
  • 풀이
SELECT NAME
FROM ANIMAL_INS
ORDER BY DATETIME
LIMIT 1

Tags:

Categories:

Updated:

Leave a comment