함께하는 데이터 분석

[SQLD] 2과목 - SQL 기본 및 활용① 본문

자격증 준비/SQLD

[SQLD] 2과목 - SQL 기본 및 활용①

JEONGHEON 2022. 8. 8. 17:21

안녕하세요.

 

오랜만에 블로그에 글을 포스팅합니다!

 

오늘은 SQL 기본 및 활용에서 기본에 해당하는 부분의 중요한 핵심 내용을 기록해보겠습니다.

 

 

DCL GRANT, REVOKE
DDL CREATE, ALTER, DROP, RENAME, TRUNCATE
DML INSERT, UPDATE, DELETE, SELECT
TCL ROLLBACK, COMMIT, SAVE POINT

 

 

UNIQUE : 테이블 내의 중복된 값 x, NULL 입력 가능

PK : 주키로 테이블 당 1개만 생성 가능(UNIQUE & NOT NULL)

FK : 외래키로 테이블 당 여러 개 생성 가능(참조 무결성 제약)

NOT NULL : 칼럼이 명시적으로 NULL 입력 방지

 

 

NULL이란? 모르는 값, 값의 부재, 연산시 NULL로

 

 

ON DELETE CASCADE 부모 삭제시 자식도 삭제
SET NULL 부모 삭제시 자식은 NULL로 설정
SET DEFAULT 부모 삭제시 자식은 기본값 설정
RESTRICT 자식이 없는 경우만 부모 삭제

 

 

ON INSERT AUTOMATIC 부모가 없을 때 부모 입력 후 자식 입력
SET SULL 부모가 없는 경우, 자식의 FK를 NULL
SET DEFAULT 부모가 없는 경우, FK를 기본값으로
DEPENDENT 부모의 PK가 있는 경우만 자식입력

 

 

DROP DELETE TUNCATE
아예 테이블 삭제 롤백 가능 해당 테이블의 모든 행 삭제
but 롤백이 안됨(스키마 유지)

 

 

트랜잭션 특성

  • 원자성(atomicity) : 트랜잭션에서 정의된 연산들은 모두 성공적으로 실행되던지 아니면 전혀 실행되지 않은 상태로 남아 있어야 한다
  • 일관성(consistency) : 트랜잭션이 실행되기 전의 데이터베이스 내용이 잘못되어 있지 않다면 트랜잭션이 실행된 이후에도 데이터베이스의 내용에 잘못이 있으면 안 된다
  • 고립성(isolation) : 트랜잭션이 실행되는 도중에 다른 트랜잭션의 영향을 받아 잘못된 결과를 만들어서는 안 된다
  • 지속성(durability) : 트랜잭션이 성공적으로 수행되면 그 트랜잭션이 갱신한 데이터베이스의 내용은 영구적으로 저장된다

 

 

DATE NUMBER : 일수
NUMBER/24 : 1시간
NUMBER/24/16 : 10분
NUMBER/24/60 : 1분

 

 

SEARCHED_CASE_EXPRESSION SIMPLE_CASE_EXPRESSION
CASE WHEN A = 'O' THEN 'ㅅ' CASE A WHEN 'O' THEN 'ㅅ'

 

 

NVL(표현식1, 표현식2) -> 표현식 1의 결괏값이 NULL -> 표현식 2 출력

ISNULL(표현식1, 표현식2) -> 표현식 1의 결괏값이 NULL -> 표현식 2 출력

NULLIF(표현식1, 표현식2) -> 표현식 1과 표현식 2가 같으면 NULL, 아닐시 표현식1

COALESCE(표현식1, 표현식2, ...) : -> 임의의 개수 표현식에 NULL이 아닌 최초의 표현식 모두 NULL이면 NULL

 

SELECT 문장의 실행 순서

: FROM - WHERE - GROUP BY - HAVING - SELECT - ORDER BY

 

 

JOIN의 최소 개수 = 테이블의 개수 - 1