CREATE INDEX는 인덱스를 정의하는 명령문이다.
CREATE [UNIQUE] INDEX 인덱스명
ON 테이블명(속성명[ASC|DESC], 속성명[ASC|DESC]])
[CLUSTER];
ALTER TABLE은 테이블에 대한 정의를 변경하는 명령문이다.
표기 형식
ALTER TABLE 테이블명 ADD 속성명 데이터_타입[DEFAULT '기본값'];
ALTER TABLE 테이블명 ALTER 속성명[SET DEFAULT '기본값'];
ALTER TABLE 테이블명 DROP COLUMN 속성명[CASCADE];
DROP은 스키마, 도메인, 기본 테이블, 뷰 테이블, 인덱스, 제약 조건 등을 제거하는 명령문이다.
표기 형식
DROP SCHEMA 스키마명[CASCADE|RESTRICT];
DROP DOMAIN 도메인명[CASCADE|RESTRICT];
DROP TABLE 테이블명[CASCADE|RESTRICT];
DROP VIEW 뷰명[CASCADE|RESTRICT];
DROP INDEX 인덱스명[CASCADE|RESTRICT];
DROP CONSTRAINT 제약조건명;
INSERT INTO 테이블명(속성명1, 속성명2, ...]) VALUES(데이터1, 데이터2, ...);
DELETE FROM 테이블명[WHERE 조건];
UPDATE 테이블명 SET 속성명1 = 데이터1, [속성명2 = 데이터2, ...][WHERE 조건];
SELECT [PREDICATE][테이블명.]속성명[AS 별칭], [테이블명.]속성명, ...]
FROM 테이블명[, 테이블명, ...][WHERE 조건]
[GROUP BY 속성명, 속성명, ...][HAVING 조건]
[ORDER BY 속성명 [ASC | DESC]];
하위 질의는 조건절에 주어진 질의를 먼저 수행하여 그 검색 결과를 조건절의 피연산자로 사용한다.
그룹 함수는 GROUP BY절에 지정된 그룹별로 속성의 값을 집계할 때 사용된다.
| 명령어 | 기능 |
|---|---|
| COUNT(속성명) | 그룹별 튜플 수를 구하는 함수 |
| SUM(속성명) | 그룹별 합계를 구하는 함수 |
| AVG(속성명) | 그룹별 평균을 구하는 함수 |
| MAX(속성명) | 그룹별 최대값을 구하는 함수 |
| MIN(속성명) | 그룹별 최소값을 구하는 함수 |
| STDDEV(속성명) | 그룹별 표준편차를 구하는 함수 |
| VARIANCE(속성명) | 그룹별 분산을 구하는 함수 |
집합 연산자를 사용하여 2개 이상의 테이블의 데이터를 하나로 통합한다.
표기 형식
SELECT 속성명1, 속성명2, ...
FROM 테이블명
UNION | UNION ALL | INTERSECT | EXCEPT
SELECT 속성명1, 속성명2, ...
FROM 테이블명
[ORDER BY 속성명 [ASC | DESC]];
| 집합 연산자 | 설명 | 집합 종류 |
|---|---|---|
| UNION | - 두 SELECT문의 조회 결과를 통합하여 모두 출력함 - 중복된 행은 한 번만 출력함 | 합집합 |
| UNION ALL | - 두 SELECT문의 조회 결과를 통합하여 모두 출력함 - 중복된 행도 그대로 출력함 | 합집합 |
| INTERSECT | 두 SELECT문의 조회 결과 중 공통된 행만 출력함 | 교집합 |
| EXCEPT | 첫 번째 SELECT문의 조회 결과에서 두 번째 SELECT문의 조회 결과를 제외한 행을 출력함 | 차집합 |
JOIN에 참여하는 두 릴레이션의 속성 값을 비교하여 조건을 만족하는 튜플만 반환하는 조인을 THEA JOIN(세타 조인)이라고 하며, 조인에 사용되는 조건에는 =, ≠, <, ≤, >, ≥가 있다.
EQUI JOIN(동등조인)은 조인에 사용되는 조건 중 =(equal) 비교에 의해 같은 값을 가지는 행을 연결하여 결과를 생성하는 방법이다.
EQUI JOIN에서 JOIN 조건이 '='일 때 동일한 속성이 두 번 나타나게 되는데, 이 중 중복된 속성을 제거하여 같은 속성을 한 번만 표기하는 방법을 NATURAL JOIN(자연 조인)이라고 한다.
EQUI JOIN에서 연결 고리가 되는 공통 속성을 JOIN 속성이라고 한다.
WHERE절을 이용한 EQUI JOIN의 표기 형식
SELECT [테이블명1.]속성명, [테이블명.]속성명2, ...
FROM 테이블명1, 테이블명2, ...
WHERE 테이블명1.속성명 = 테이블명2.속성명;
NATURAL JOIN절을 이용한 EQUI JOIN의 표기 형식
SELECT [테이블명1.]속성명, [테이블명.]속성명2, ...
FROM 테이블명1 NATURAL JOIN 테이블명2
JOIN ~ USING절을 이용한 EQUI JOIN의 표기 형식
SELECT [테이블명1.]속성명, [테이블명.]속성명2, ...
FROM 테이블명1 JOIN 테이블명2 USING(속성명);
LEFT OUTER JOIN: INNER JOIN의 결과를 구한 후, 우측 항 릴레이션의 어떤 튜플과도 맞지 않는 좌측 항의 릴레이션에 있는 튜플들에 NULL 값을 붙여서 INNER JOIN의 결과에 추가함
표기 형식
SELECT [테이블명1.]속성명, [테이블명.]속성명2, ...
FROM 테이블명1 LEFT OUTER JOIN 테이블명2
ON 테이블명1.속성명 = 테이블명2.속성명;
RIGHT OUTER JOIN: INNER JOIN의 결과를 구한 후, 좌측 항 릴레이션의 어떤 튜플과도 맞지 않는 우측 항의 릴레이션에 있는 튜플들에 NULL 값을 붙여서 INNER JOIN의 결과에 추가함
표기 형식
SELECT [테이블명1.]속성명, [테이블명.]속성명2, ...
FROM 테이블명1 RIGHT OUTER JOIN 테이블명2
ON 테이블명1.속성명 = 테이블명2.속성명;