SQL 명령어 분류(DDL, DML, DCL, TCL)
DDL(Data Definition Language)
-- CREATE : 생성(데이터베이스 객체)
-- ALTER : 변경(객체의 속성)
-- RENAME : 이름 변경(데이터베이스 객체)
-- DROP : 삭제(데이터베이스내 객체)
-- TRUNCATE : 삭제(테이블 내 테이블, 용량 복구됨)
DML(Data Manipulation Language)
-- DELETE
-- UPDATE
-- SELECT
-- INSERT
- INSERT INTO 테이블이름 (컬럼이름1, 칼럼이름2, ..) VALUES(값1, 값2, ..);
- INSERT INTO 테이블이름 VALUES(값1, 값2, ..)
- INSERT INTO 테이블이름(칼럼1, 칼럼2, ..) SELECT 문장
DCL(Data Control Language)
-- GRANT
-- REVOKE
-- COMMIT
-- ROLLBACK
-- SET TRANSACTION
-- BEGIN
-- SAVE POINT
-- LOCK
TCL(Transaction Control Language)
-- COMMIT
-- ROLLBACK
=============================================
SQL 실행순서
Parsing -> Execution -> Fetch
SELECT 실행순서
FROM - WHERE - GROUP BY - HAVING - SELECT - ORDER BY
결과 중복 제거
SELECT DISTINCT
WHERE 절 연산자
=, <, <=, >, >=
!=, ^=, <>, NOT 컬럼명 = : 같지 않은것을 조회
NOT 컬럼명 > : 크지 않은 것을 조회
AND, OR, NOT
LIKE '%비교 문자열%'
BETWEEN A AND B
IN (list) : OR 를 의미하며 list 값 중에 하나만 일치해도 조회됨
IS NULL
NOT BETWEEN A AND B
NOT IN (list)
IS NOT NULL
NULL 관련 함수
NVL(MGR, 0) - MGR 컬럼이 NULL 이면 0으로 바꾼다
NVL2(MGR, 1, 0) - MGR 컬럼이 NULL이 아니면 1, NULL 이면 0 을 반환한다.
NULLIF(exp1, exp2) - exp1과 exp2가 같으면 NULL을, 같지 않으면 exp1을 반환한다
COALESCE(exp1, exp2, exp3, ...) - NULL 이 아닌 최초의 인자값을 반환한다.
집계함수
COUNT(), SUM(), AVG(), MAX(), MIN(),
STDDEV() - 표준편차
VARIAN() - 분산
MOD(숫자1, 숫자2) - 숫자1을 숫자2로 나눈 나머지, %를 사용해도 됨
CEIL/CEILING(숫자) - 숫자보다 크거가 같은 최소의 정수
FLOOR(숫자) - 숫자보다 작거나 같은 최소의 정수
ROUND(숫자, m) - 소수점 m 자리에서 반올림
TRUNC(숫자, m) - 소수점 m 자리에서 절삭
DECODE - IF문을 구현할 수 있음
DECODE(EMPNO, 1000, TRUE, FALSE) : EMPNO가 1000 이면 TRUE를 출력, 아니면 FALSE를 출력
CASE - IF~THEN~ELSE~END 구조를 구현할 수 있음
CASE
WHEN 조건1 THEN 결과1
WHEN 조건2 THEN 결과2
ELSE 결과
END
WITH 구문 - 서브쿼리를 사용해 임시 테이블이나 뷰처럼 사용할 수 있는 구문
WITH W_EMP AS (SELECT * FROM EMP WHERE DEPTNO=30)
SELECT * FROM W_EMP;
INNER JOIN ON
SELECT * FROM EMP INNER JOIN DEPT
ON EMP.DEPTNO = DEPT.DEPTNO;
INTERSECT 연산 - 교집합을 조회
LEFT OUTER JOIN - 같은 것을 조회하고 왼쪽 테이블에 있는 것 추가
RIGHT OUTER JOIN - 같은 것을 조회하고 오른쪽 테이블에 있는 것 추가
CROSS JOIN - 카테시안 곱 발생, 조건없이 하나의 테이블로
UNION - 합집합, 중복을 제거하고 정렬한다.
UNION ALL - 합집합, 중복을 제거하지 않고 정렬하지 않는다.
MINUS, EXCEPT - 차집합,
※ CUBE, WINDOW 함수, Partition 기능은 시험에는 잘 나오지만 나는 실제로 잘 사용 안한다.
'프로그래밍 > 기타(프로그래밍)' 카테고리의 다른 글
ADB (Android Debug Bridge) 사용법 (0) | 2020.03.27 |
---|---|
정규표현식 정규식 울트라에디터 (0) | 2020.01.31 |