SELECT문의 일반 형식
SELECT [PREDICATE] [테이블명.]속성명 [AS 별칭][, 테이블명.]속성명,…]
FROM 테이블명[, 테이블명,…]
[WHERE 조건]
[GROUP BY 속성명]
[HAVING 조건]
[ORDER BY 속성명 [ASC,DESC]
SELECT
- Predivate : 검색할 튜플을 제한할 목적으로 사용되는 조건으로 ALL, DISTINCT, DISTINCTROW 등이 올 수 있다.
- ALL : 모든 튜플들을 검색할 때 사용되며, 기본값
- DISTINCT : 중복된 튜플들 제거할 때 사용
- DISTINCTROW : 중복된 튜플들 제거하지만, 선택된 속성의 값이 아닌 튜플의 전체 값을 대상으로 할 때 사용.
- 속성명 : 검색하여 불러올 속성 또는 수식으로서, 2개 이상의 테이블을 대상으로 검색할 때는 '테이블명.속성명'으로 사용.
- AS : 검색할 데이터가 들어 있는 테이블명을 기술.
FROM
- 검색할 데이터가 들어 있는 테이블명을 기술
WHERE
- 검색할 조건을 기술. 다양한 조건 연산자의 사용이 가능하며, 이때 각 연산자의 처리 순서는 연산자 우선 순위를 따름.
GROUP BY
- 특정 속성을 기준으로 그룹화하여 검색할 때 사용.
HAVING
- 그룹에 대한 조건을 기술 GROUP BY와 함께 써야함
ORDER BY
- 특정 속성을 기준으로 정렬하여 검색할 때 사용
- ASC는 기본값으로 오름차순
- DSCS는 내림차순
조건 연산자
*비교 연산자
연산자 |
= |
<> |
> |
< |
>= |
<= |
의미 |
같다 |
같지 않다 |
크다 |
작다 |
크거나 같다 |
작거나 같다 |
*논리 연산자 : NOT, AND, OR
*LIKE 연산자 : 대표 문자를 이용해 지정된 속성의 값이 문자 패턴과 일치하는 튜플을 검색하기 위해 사용
대표 문자 |
* 또는 % |
? 또는 _ |
# |
의미 |
모든 문자를 대표함 |
문자 하나를 대표함 |
숫자 하나를 대표함 |
연산자 우선순위 : 산술 연산자 > 관계 연산자 > 논리 연산자
그룹 함수
- COUNT(속성명) : 그룹별 튜플 수를 구하는 함수
- MAX(속성명) : 그룹별 최대값을 구하는 함수
- MIN(속성명) : 그룹별 최소값을 구하는 함수
- SUM(속성명) : 그룹별 합계를 구하는 함수
- AVG(속성명) : 그룹별 평균을 구하는 함수
Betweet : salary 10 and 20 처럼 where절에 사용하며 10이상 20이하의 값을 출력
Trim : 좌우공백 제거에 사용 trim(name)