BETWEEN 최소 AND 최댓값 (두 값 사이의 범위를 제한)
SELECT *FROM tCity WHERE popu BETWEEN 50 AND 100;
+--------+------+------+-------+--------+
| name | area | popu | metro | region |
+--------+------+------+-------+--------+
| 전주 | 205 | 65 | N | 전라 |
| 청주 | 940 | 83 | N | 충청 |
+--------+------+------+-------+--------+
아래의 구문은 직관적이지 않고 의미도 파악하기 힘들다.
SELECT*FROM tCity WHERE popu >=50 AND popu <=100;
범위 조건은 문자열이나 날짜 등에도 사용 가능!
SELECT*FROM tCity WHERE name '가' AND '사';
BETWEEN 구문의 한계 : 미만, 초과는 지정할 수 없다!
BETWEEN 연산자와는 달리 불연속적인 값 여러 개의 목록을 제공, 이 목록과 일치하는 레코드를 검색함
SELECT*FROM tCity WHERE region IN ('경상','전라');
SELECT*FROM tCity WHERE region = '경상' OR region = '전라';
// 경상도나 전라도에 있지 않은 도시 목록
SELECT*FROM tCity WHERE region NOT IN ('경상','전라');
SELECT*FROM tCity WHERE name LIKE '이%' OR name '안%';
🙅🏻♀️ IN 연산자와 LIKE 연산자는 같이 사용할 수 없음!
BETWEEN 연산자와는 달리 불연속적인 값 여러 개의 목록을 제공, 이 목록과 일치하는 레코드를 검색함
ORDER BY 필드 [ASC : DESC]
SELECT*FROM tCity ORDER BY popu;
+--------+------+------+-------+--------+
| name | area | popu | metro | region |
+--------+------+------+-------+--------+
| 오산 | 42 | 21 | n | 경기 |
| 전주 | 205 | 65 | N | 전라 |
| 청주 | 940 | 83 | N | 충청 |
| 부산 | 765 | 342 | y | 경상 |
| 서울 | 605 | 974 | y | 경기 |
+--------+------+------+-------+--------+
WHERE 절과 ORDER BY를 같이 사용할 수 있지만, ORDER BY 절은 항상 SELECT 명령어의 마지막에 위치한다.
SELECT*FROM tCity ORDER BY area WHERE region = '경기';
중복을 제거하여 한 번만 출력하도록 하는 함수.
SQL server는 정렬을 수행하지만, 오라클과 MariaDB는 그렇지 않으므로 ORDER BY를 사용해야 함.
SELECT DISTINCT region FROM tCity;
+--------+
| region |
+--------+
| 경상 |
| 경기 |
| 전라 |
| 충청 |
+--------+
// 정렬도 함께 수행 시
SELECT DISTINCT region FROM tCity ORDER BY region;
SQL의 경우 => 의사 컬럼
Oracle => TOP
MariaDB => LIMIT
SELECT ... LIMIT [건너뛸 개수], 총개수
// 면적이 넓은 상위 4개 도시 출력
SELECT*FROM tCity ORDER BY area DESC LIMIT 4;
// 1,2 등은 건너뛰고 3~5등을 보여줌
SELECT*FROM tCity ORDER BY area DESC LIMIT 2,3;