Cohe
7-1. SQL 응용 - DML 본문
728x90
반응형
1. 데이터 조작어 (DML) : 데이터베이스에 저장된 자료들을 입력, 수정, 삭제, 조회하는 언어이다.
2. DML 명령어 : SELECT, INSERT, UPDATE, DELETE
3. SELECT 명령어 및 관련 개념
1. SELECT 명령어 구조
- 구성: SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY 절
- 주요 절 설명:
- FROM: 조회할 테이블 지정
- WHERE: 검색 조건 지정
- GROUP BY: 그룹화 기준 지정
- HAVING: 그룹화 후 조건 지정
- ORDER BY: 정렬 기준 지정 (ASC/DESC)
2. WHERE 절 조건
- 비교: =, <>, <, <=, >, >=
- 범위: BETWEEN
- 집합: IN, NOT IN
- 패턴 매칭: LIKE (%, _, [ ], [^])
- NULL 검사: IS NULL, IS NOT NULL
- 복합 조건: AND, OR, NOT
3. 조인 (Join)
- 개념: 두 개 이상의 테이블을 연결하여 데이터 검색
- 유형:
- 내부 조인 (Inner Join)
- 왼쪽 외부 조인 (Left Outer Join)
- 오른쪽 외부 조인 (Right Outer Join)
- 완전 외부 조인 (Full Outer Join)
- 교차 조인 (Cross Join)
- 셀프 조인 (Self Join)
SELECT x.no AS NO,
x.date AS DATE,
w.description AS DESC,
x.status AS STATUS,
FROM PT x
JOIN DEPT d ON d.no = x.no
JOIN USERS u ON u.id = x.by
JOIN DTL w ON w.TYPE = 'HOUSE' AND w.code = x.house;
4. 서브쿼리 (Subquery)
- 개념: SQL 문 안에 포함된 또 다른 SQL 문
- 유형:
- FROM 절 서브쿼리 (인라인 뷰)
- WHERE 절 서브쿼리 (중첩 서브쿼리)
5. 집합 연산자
- 개념: 여러 질의 결과를 하나로 결합
- 종류:
- UNION: 중복 제거 후 합집합
- 예시:결과: 두 테이블의 모든 고유한 employee_id를 반환
SELECT employee\_id FROM employees1 **UNION SELECT employee\_id FROM employees2;**
- UNION ALL: 중복 포함 합집합
- 예시:결과: 두 테이블의 모든 employee_id를 반환 (중복 포함)
SELECT employee\_id FROM employees1 UNION ALL SELECT employee\_id FROM employees2;
- INTERSECT: 교집합
- 예시:결과: 두 테이블에 모두 존재하는 employee_id만 반환
SELECT employee\_id FROM employees1 INTERSECT SELECT employee\_id FROM employees2;
- EXCEPT: 차집합
- 예시:결과: employees1에는 있지만 employees2에는 없는 employee_id를 반환
SELECT employee\_id FROM employees1 EXCEPT SELECT employee\_id FROM employees2;
- UNION: 중복 제거 후 합집합
- 실제 사용 예시:이 쿼리는 두 테이블의 부서별 직원 수를 비교할 수 있게 해준다
SELECT department, COUNT(_) as emp\_count, 'employees1' as source
FROM employees1
GROUP BY department
UNION ALL
SELECT department,
COUNT(_) as emp\_count,
'employees2' as source
FROM employees2
GROUP BY department
ORDER BY department, source;
4. INSERT(데이터 삽입) 명령어
- INSERT는 데이터의 내용을 삽입할 때 사용하는 명령어이다.
INSERT INTO 테이블명 (속성명1, ...) VALUES (데이터1,…)
- 속성과 데이터 개수, 데이터 타입이 일치해야 함
- 속성명은 생략 가능
- 속성의 타입이 숫자인 경우 데이터는 따옴표를 붙이지 않아도 되며, 문자열인 경우 따옴표를 붙여야 함
5. UPDATE(데이터 변경) 명령어
- UPDATE는 데이터의 내용을 변경할 때 사용하는 명령어이다
UPDATE 테이블명 SET 속성명 = 데이터, WHERE 조건;
- UPDATE 명령문은 WHERE 절을 통해 어떤 조건이 만족할 경우에만 특정 컬럼의 값을 수정하는 용도로 자주 사용
6. DELETE(데이터 삭제) 명령어
- DELETE는 데이터의 내용을 삭제할 때 사용하는 명령어이다
DELETE FROM 테이블명 WHERE 조건;
- 모든 레코드를 삭제할 때는 WHERE 절 없이 DELETE만 사용
- 레코드를 삭제해도 테이블 구조는 남아 있어서 디스크에서 테이블을 완전히 삭제하는 DROP 명령과는 다름
728x90
반응형
'자격증 공부 > 정보처리기사 실기' 카테고리의 다른 글
7-1. SQL 응용 - 기출문제 (1) | 2024.09.26 |
---|---|
7-1. SQL 응용 - DCL (1) | 2024.09.25 |
7-1. SQL 응용 - DDL (0) | 2024.09.24 |
7-1. SQL 응용 - 트랜잭션 (0) | 2024.09.24 |
6. 프로그래밍 언어 활용 - Python 편 (1) (0) | 2024.09.21 |