알고리즘/프로그래머스

프로그래머스 SQL 고득점 Kit 코드 총정리 (MySQL) : SELECT

개발하는 크롱 2021. 3. 16. 01:18
반응형

SELECT (Level 1)

모든 레코드 조회하기

SELECT * FROM ANIMAL_INS ORDER BY ANIMAL_ID

역순 정렬하기

SELECT NAME, DATETIME 
FROM ANIMAL_INS
ORDER BY ANIMAL_ID DESC

아픈 동물 찾기

SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
WHERE INTAKE_CONDITION = "Sick"
ORDER BY ANIMAL_ID

어린 동물 찾기

SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
WHERE INTAKE_CONDITION != "Aged"
ORDER BY ANIMAL_ID

동물의 아이디와 이름

SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
ORDER BY ANIMAL_ID

여러 기준으로 정렬하기

SELECT ANIMAL_ID, NAME, DATETIME
FROM ANIMAL_INS
ORDER BY NAME, DATETIME DESC

상위 n개 레코드

SELECT NAME
FROM ANIMAL_INS
ORDER BY DATETIME
LIMIT 1

레벨 1의 쉬운 문제들이다.

SELECT {원하는 컬럼명}
FROM {원하는 테이블명}

위 코드가 기본 구조이고 WHERE 다음에 원하는 조건을 넣어 조건에 맞는 데이터만 SELECT 가능하다.

정렬하고 싶을 떄는 ORDER BY를 쓰고 정렬할 컬럼을 뒤에 적어준다. 정렬 기준이 될 column은 여러개를 적을 수 있고 앞에 올 수록 우선순위가 높다. 위의 여러 기준으로 정렬하기 문제를 보면 NAME으로 먼저 정렬하고 같은 NAME을 가진 동물들을 이후에 DATETIME 기준으로 정렬하는 것이다. ORDER BY는 기본적으로 오름차순 정렬이며 내림차순 정렬을 원할 경우 뒤에 DESC를 적어주면 된다. 또한 상위 n개만 가져오고 싶을 때는 LIMIT을 사용하면 된다.

반응형