본문 바로가기

Data

SQL 배경 지식

기본 용어

 

SQL = Structured Qurery Language = 구조화된 질의 언어

DB = DataBase = 통합되어 관리되는 자료의 집합체

DBMS = DataBaseManagementSystem = DB를 관리하고 운영하는 소프트웨어

Transaction = DB의 작업을 처리하는 단위

순서 = FROM - ON - JOIN - WHERE - GROUP BY - WITH CUBE/ROLLUP - HAVING - SELECT - DISTINCT - ORDER BY

Record = Row = Tuple = 행

Field = Column = Attribute = 열

Table = Record와 Column으로 구성된 자료 저장 단위

Data = 수, 영상, 단어 등의 형태로 가공된 의미 단위. 연구나 조사의 바탕이 되는 재료.

Information = 데이터를 특정한 기준에 따라서 의미있게 정리한 것

Entity = 객체. 업무상 관리가 필요한 관심사. 혹은 저장이 되기 위한 어떤 것(thing).

Attribute = 인스턴스로 관리하고자 하는 의미상 더 이상 분리되지 않는 최소의 데이터 단위

Procedure = 여러 SQL문을 하나의 메서드처럼 묶어서 활용하는 SQL 기능

View = 허용된 자료만 보여주기 위해 기본 테이블에서 비롯된 가상 테이블

Schema = Oracle에서 사용자를 칭하는 말

Result table = result-set = SQL문 실행결과의 데이터를 반환하여 출력하는 테이블

SELECT a FROM b = 테이블 b의 칼럼 a를 선택

SELECT a = 반환된 값을 출력하는 테이블의 필드 이름을 a라고 결정

Distinct value = Unique value = 특정 필드에 존재하는 고유값

WHERE Clause = WHERE 절 = WHERE = filter records = 특정한 조건에 부합하는 레코드만 출력

NULL Value = is empty = field with no value != (0, space)  (0, 공백이랑 null은 다른 값임)


SQL로 할 수 있는 것

 

1. Create new DB

2. Create new tables

3. Create stroed procedures

4. Create views

5. Set permissions on tables, procedures, and views

 

6. Insert Record

7. Update Record

8. Delete Record

 

9. Execute queries

10. Retrieve data


Oracle 데이터 타입

 

1. 문자: char - varchar2 - long

2. 숫자: number, float

3. 날짜: date


DDL (Data Definition Language)

 

관계형 데이터베이스의 구조를 정의하는 언어.

 

1. CREATE TABLE

   CREATE VIEW

   칼럼 설정 시 데이터형 지정

 

2. ALTER TABLE emp (ADD, MODIFY, DROP)

   ALTER COLUMN (RENAME COLUMN ename TO abcd)

   추가, 수정, 삭제, 키 설정

 

3. DROP TABLE

   DROP VIEW

   테이블, 뷰 삭제

 

4. TRUNCATE TABLE (용량 초기화 O)


DML (Data Manipulate Language)

 

테이블에서 데이터를 입력, 수정, 조회하는 언어.

 

1. SELECT (조회)

2. INSERT (입력)

3. UPDATE (수정)

4. DELETE (용량 초기화 X) (삭제)

5. WHERE (조건 지정)

6. GROUP BY (행 그룹화) / HAVING (그룹화 조건 지정)

7. DECODE (비교)

8. CASE WHEN THEN (if문, switch문)

9. ROWNUM (순번)

10. DUAL (빈 테이블 생성)


DCL (Data Control Language)

 

데이터베이스 사용자에게 권한을 부여하거나 회수하는 언어

SELECT, INSERT, UPDATE, DELETE, REFERENCES, ALTER, INDEX, ALL

 

1. GRANT (부여)

2. REVOKE (회수)


TCL (Transaction Control Language)

 

트랜잭션을 제어하기 위한 언어

 

1. COMMIT

변경한 데이터를 DB에 반영.

DDL / DCL 사용시 AutoCommit.

 

2. ROLLBACK

데이터 변경 모두 취소 후 트랜잭션 종료.

직전에 COMMIT한 곳까지 복구.

 

3. SAVEPOINT

트랜잭션을 분할하여 관리.

지정된 위치 이후의 트랜잭션만 ROLLBACK.


1. CROSS JOIN (모든 행 결합)

SELECT * FROM emp CROSS JOIN dept;
SELECT * FROM emp, dept;

 

2. INNER JOIN (열의 값이 일치하는 행만 출력)

SELECT * FROM emp INNER JOIN dept
ON emp.DEPTNO = dept.DEPTNO;

 

3. OUTER JOIN

SELECT * FROM emp, dept
WHERE emp.DEPTNO (+)= dept.DEPTNO;

SELECT * FROM emp LEFT/RIGHT/FULL OUTER JOIN dept
ON emp.DEPTNO = dept.DEPTNO;

SELECT * FROM emp LEFT/RIGHT/FULL JOIN dept
ON emp.DEPTNO = dept.DEPTNO;

 

4. EQUI JOIN (일치하는 부분을 출력)

SELECT * FROM emp, dept
WHERE emp.DEPTNO = dept.DEPTNO
AND emp.ENAME LIKE ‘임%’
ORDER BY ENAME;

 

5. NON-EQUI JOIN (불일치하는 부분을 출력)

 

6. INTERSECT ()

SELECT lname, fname FROM emp_a
INTERSECT
SELECT sung, irum FROM emp_b;

 

7. UNION (중복 제거 O) / UNION ALL (중복 제거 X) : 둘 모두 칼럼 수, 데이터 형식이 동일해야 출력 가능

SELECT DEPTNO FROM emp
UNION (ALL)
SELECT DEPTNO FROM dept;

 

8. MINUS (앞에는 있되, 뒤에는 없는 것만 출력)

SELECT lname, fname FROM emp_a
MINUS (EXCEPT)
SELECT sung, irum FROM emp_b;

'Data' 카테고리의 다른 글

SQL 기본 문법  (0) 2022.05.19
SQL NULL 값 확인하기  (0) 2022.05.19
SQL 달력 출력하기 (1)  (0) 2022.05.19