SELECT
SELECT 문은 테이블 내의 데이터를 조회하는 명령어다.
SELECT *
FROM <table_name>;
아래로는 SELECT문에서 사용하는 키워드를 몇 가지 정리해둔다.
WHERE
조건에 해당하는 데이터만 조회한다.
연산자, 키워드에 따른 의미는 아래 표와 같다.
조건 | 의미 |
= | 같다 |
> | 크다 |
< | 작다 |
>= | 크거나 같다 |
<= | 작거나 같다 |
!= | 같지 않다 |
<> | 같지 않다 |
BETWEEN a AND b | a와 b 사이에 있다 |
NOT | 부정 |
LIKE | 문자열 비교. 와일드카드는 % |
IN (a, b) | (a, b) 내에 있다 |
사용 예시)
-- =
SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
WHERE INTAKE_CONDITION = 'Sick';
-- <>
SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
WHERE INTAKE_CONDITION <> 'Aged'
ORDER BY
지정한 컬럼을 기준으로 데이터를 정렬한다.
기본적으로 오름차순이며 명시적으로 지정할 때는 ASC 키워드를 사용한다. 내림차순으로 정렬할 때는 DESC 키워드를 사용한다.
-- ASC
SELECT *
FROM ANIMAL_INS
ORDER BY ANIMAL_ID;
-- DESC
SELECT NAME, DATETIME
FROM ANIMAL_INS
ORDER BY ANIMAL_ID DESC;
정렬 기준이 여럿일 때는 기준과 방향을 쉼표로 구분하여 나열한다.
아래의 예시는 name 순으로 정렬한 후, name이 같은 경우 datatime 역순으로 출력하기 위한 SQL다.
SELECT ANIMAL_ID, NAME, DATETIME
FROM ANIMAL_INS
ORDER BY NAME ASC, DATETIME DESC;
LIMIT
조회할 데이터의 수를 지정한다. 아래의 예시는 첫번째 행부터 두 개의 데이터를 출력한다.
SELECT NAME
FROM ANIMAL_INS
ORDER BY DATETIME
LIMIT 2;
OFFSET 옵션을 지정하면 몇 번째 행부터 데이터를 조회할지 지정할 수 있다. OFFSET은 0부터 시작한다. 아래의 예시는 다섯번째 행부터 2개의 데이터를 출력한다.
SELECT NAME
FROM ANIMAL_INS
ORDER BY DATETIME
LIMIT 4, 2;
참고 문서
https://programmers.co.kr/learn/courses/30/parts/17042
https://chunggaeguri.tistory.com/entry/MySQL-Limit%EC%99%80-Offset-%EC%82%AC%EC%9A%A9%EB%B2%95