DML( Data Manipulation Language) : 데이터 조작어
DML은 데이터 조작어로 데이터베이스에 저장된 자료들을 입력, 수정, 삭제, 조회하는 언어이다.
이러한 DML의 유형으로는 SELECT, INSERT, UPDATE, DELETE가 있다.
| 유형 | 동작 | 설명 |
| SELECT | 조회 | 테이블 내 칼럼에 저장된 데이터를 조회 |
| INSERT | 삽입 | 테이블 내 칼럼에 데이터를 추가 |
| UPDATE | 갱신 | 테이블 내 칼럼에 저장된 데이터를 수정 |
| DELETE | 삭제 | 테이블 내 칼럼에 저장된 데이터를 삭제 |
SELECT(데이터 조회) 명령어
더보기
- SELECT 명령어는 데이터의 내용을 조회할 때 사용하는 명령어이다.
- SELECT 명령어는 SELECT절, FROM절, WHERE절, GROUP BY절, HAVING절, ORDER BY절로 구성된다.
[기본형식] []-> 선택적
SELECT [ALL | DISTINCT] 속성명1, 속성명2, ...
FROM 테이블명1, ....
[WHERE 조건]
[GROUP BY 속성명1,...]
[HAVING 그룹조건]
[ORDER BY 속성 [ASC | DESC] ];
| 구분 | 설명 |
| SELECT절 | -검색하고자 하는 속성명, 계산식을 기술. -속성명 별칭은 AS를 사용하며 생략 가능하다. -2개 이상의 테이블을 대상으로 검색할 때는 '테이블명.속성명'으로 표현한다. -술어 부분은 ALL이 기본값이고 DISTINCT를 이용하여 중복값을 제거할 수 있다. |
| FROM절 | 질의에 의해 검색될 데이터들을 포함하는 테이블명을 기술한다. |
| WHERE절 | 검색할 조건을 기술한다. |
| GROUP BY절 | 속성값을 그룹으로 분류하고자 할 때 사용한다 |
| HAVING절 | GROUP BY에 의해 분류된 후 그룹에 대한 조건을 지정한다. |
| ORDER BY 절 | 속성값을 정렬하고자 할 때 (ASC-오름차순, DESC-내림차순)사용한다. 기본값으로는 ASC-오름차순을 이용한다. |
SELECT 부가사항
더보기
조인(Join)
- 조인은 두 개 이상의 테이블을 연결하여 데이터를 검색하는 방법이다.
- 두 릴레이션으로부터 관련된 튜플들을 결합하여 하나의 튜플로 만드는 가장 대표적인 데이터 연결 방법이다.
| 유형 | 설명 |
| 내부조인 (Inner Join) |
공통 존재 컬럼의 값이 같은 경우를 추출하는 기법 |
| 외부조인 (Outer Join) |
- Left Outer Join : 왼쪽 테이블의 모든 데이터와 오른쪽 테이블의 동일 데이터를 추출 - Right Outer Join : 오른쪽 테이블의 모든 데이터와 왼쪽 테이블의 동일 데이터를 추출 - Full Outer Join : 양쪽의 모든 데이터를 추출하는 기법 |
| 교차 조인 (Cross Join) |
조인 조건이 없는 모든 데이터 조합을 추출하는 기법 |
| 셀프 조인 (Self Join) |
자기 자신에게 별칭을 지정한 후 다시 조인하는 기법 |
서브쿼리(Sub - Query)
- 서브 쿼리는 SQL문 안에 포함된 또 다른 SQL문이다.
- 서브쿼리의 용도는 알려지지 않은 기준을 위한 검색을 위해 사용한다.
- 메인쿼리와 서브쿼리는 주종 관계로, 서브쿼리에 사용되는 컬럼 정보는 메인쿼리의 컬럼 정보를 사용할 수 있으나, 역으로는 성립하지 않는다.
| 서브쿼리 종류 | 설명 |
| FROM절 서브쿼리 | 서브쿼리가 FROM절 안에 들어있는 형태 인라인 뷰(Inline Views)라고 불린다. 뷰(View)처럼 결과가 동적으로 생성된 테이블 형태로 사용할 수 있다. |
| WHERE절 서브쿼리 | 서브쿼리가 WHERE절 안에 들어있는 형태 중첩 서브쿼리(Nested Sub-Query)라고도 불린다. |
집합 연산자 (Set Operator)
- 집합 연산자는 테이블을 집합 개념으로 보고, 두 테이블 연산에 집합 연산자를 사용하는 방식이다.
- 집합 연산자는 여러 질의 결과를 연결하여 하나로 결합하는 방식을 사용한다.
집합 연산자의 종류로는 UNION, UNION ALL, INTERSECT, MINUS가 있다.
INSERT(데이터 삽입) 명령어
INSERT는 데이터의 내용을 삽입할 때 사용하는 명령어 이다.
| INSERT INTO 테이블명(속성명1, ...) VALUES (데이터1,....); |
- 속성과 데이터개수, 데이터 타입이 일치해야 한다. - 속성명은 생략이 가능하다. - 속성의 타입이 숫자인 경우 데이터는 따옴표를 붙이지 않아도 되며, 문자열인 경우에는 따옴표를 붙여야 한다. |
UPDATE(데이터 변경) 명령어
UPDATE는 데이터의 내용을 변경할 때 사용하는 명령어이다.
| UPDATE 테이블명 SET 속성명 = 데이터, ... WHERE 조건; |
UPDATE명령문은 WHERE절을 통해 어떤 조건이 만족할 경우에만 특정 컬럼의 값을 수정하는 용도로 자주 사용된다. |
DELETE(데이터 삭제) 명령어
DELETE는 데이터의 내용을 삭제할 때 사용하는 명령어이다.
| DELETE FROM 테이블명 WHERE 조건; |
- 모든 레코드를 삭제할 때는 WHERE절 없이 DELETE만 사용 - 레코드를 삭제해도 테이블 구조는 남아 있어서 디스크에서 테이블을 완전히 삭제하는 DROP과는 다른 명령이다. |