SQL 분류

분류명령어의미
DDLCREATE생성
DDLALTER수정
DDLDROP삭제
DMLSELECT조회
DMLINSERT삽입
DMLUPDATE수정
DMLDELETE삭제
DCLGRANT권한 부여
DCLREVOKE권한 회수
TCLCOMMIT확정
TCLROLLBACK취소

SELECT 기본 순서

SELECT 컬럼
FROM 테이블
WHERE 조건
GROUPBY 그룹기준
HAVING 그룹조건
ORDERBY 정렬기준;
문법의미
SELECT보고 싶은 열 선택
FROM어느 테이블에서
WHERE행 조건
GROUP BY묶기
HAVING묶은 결과 조건
ORDER BY정렬

WHERE vs HAVING

구분WHEREHAVING
대상일반 행
그룹 결과
위치GROUP BY 전
GROUP BY 후
예시나이 20 이상
평균 점수 80 이상인 반

외우기:

WHERE = 묶기 전 조건

HAVING = 묶은 후 조건


집계 함수

함수의미
COUNT개수
SUM합계
AVG평균
MAX최댓값
MIN최솟값

트랜잭션 Transaction

키워드정리
트랜잭션하나의 논리적 작업 단위
쉽게여러 SQL을 하나의 작업처럼 묶은 것
예시계좌이체 = 출금 + 입금

트랜잭션 명령어

명령어의미
COMMIT변경 내용 확정
ROLLBACK변경 전으로 취소
SAVEPOINT중간 저장점

외우기:

COMMIT = 저장 확정

ROLLBACK = 되돌리기


트랜잭션 ACID

특징의미
원자성 Atomicity전부 실행 or 전부 취소
일관성 Consistency실행 후 DB 규칙 유지
격리성 Isolation동시에 실행해도 서로 간섭 X
지속성 DurabilityCOMMIT 후 결과 영구 저장

외우기:

원일격지

= 원자성, 일관성, 격리성, 지속성


CASCADE

키워드정리
CASCADE관련된 데이터까지 연쇄적으로 처리
ON DELETE CASCADE부모 데이터 삭제 시 자식 데이터도 같이 삭제
ON UPDATE CASCADE부모 키 변경 시 자식 외래키도 같이 변경

예시

학생 테이블과 수강 테이블이 있을 때,

학생 철수를 삭제하면

철수가 신청한 수강 기록도 같이 삭제됨.

→ 이게 CASCADE


RESTRICT

키워드정리
RESTRICT참조 중이면 삭제/변경 못 하게 막음
CASCADE와 반대 느낌같이 지우는 게 아니라 막음

외우기:

CASCADE = 같이 처리

RESTRICT = 못 하게 막음