[SQL] Programmers SQL 고득점 kit - SELECT

2021. 10. 18. 22:02Programming/database

* programmers SQL select 문제 풀이 모음.

 

https://programmers.co.kr/learn/courses/30/parts/17042

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

1. 모든 레코드 조회하기

SELECT *
FROM ANIMAL_INS
ORDER BY ANIMAL_ID

- 모든 colum을 출력할 때는 * 를 사용하면 된다.

- FROM 테이블 로 해당 테이블을 가져옵니다.

 

 2. 역순 정렬하기

SELECT NAME, DATETIME
FROM ANIMAL_INS
ORDER BY ANIMAL_ID DESC

- ORDER BY 로 정렬할 때 속성값을 주지 않으면 ASC(오름차순) 이 적용됩니다

   내림차순(역순)으로 정렬하고 싶다는 DESC를 속성으로 줍니다.

 

3. 아픈 동물 찾기

SELECT ANIMAL_ID , NAME
FROM ANIMAL_INS
WHERE INTAKE_CONDITION = 'Sick'

-  WHERE 구문을 통해 조건식을 지정합니다.

 

4. 어린 동물 찾기

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

- 반대되는 조건은 앞에 NOT을 붙여주면 됩니다.

 

5. 동물의 아이디와 이름

SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
ORDER BY ANIMAL_ID

- SELECT 문에 이름을 쓴 컬럼들만 선택됩니다.

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

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

- 기준이 여러개일 경우 우선순위가 높은 순서대로 작성합니다.

 

7. 상위 n 개 레코드

SELECT NAME
FROM ANIMAL_INS
ORDER BY DATETIME
LIMIT 1

MYSQL   =>  LIMIT 으로  SELECT할 ROW 개수를 정할 수 있다.

 

SELECT NAME
FROM ANIMAL_INS
ORDER BY DATETIME
WHERE ROWNUM <=1

ORACLE => ROWNUM 을 사용한다.

'Programming > database' 카테고리의 다른 글

[SQL]Programmers SQL 고득점 kit - SUM, MAX, MIN  (0) 2021.10.19