데이터베이스 언어
DDL(Data Definition Language)
- 데이터 구조 정의
- CREATE, ALTER, DROP, TRUNCATE
DDL은 테이블 생성/삭제 등 구조 정의
DML(Data Manipulation Language)
- 데이터 조작
- SELECT, INSERT, UPDATE, DELETE
DML은 데이터 조회/삽입/수정/삭제
DCL(Data Control Language)
- 권한 제어
- GRANT, REVOKE
DCL은 사용자 권한 관리
TCL(Transaction Control Language)
- 트랜잭션 제어
- COMMIT, ROLLBACK, SAVEPOINT
TCL은 트랜잭션 제어
프로젝트에선 주로 SELECT으로 데이터를 조회하고, 복잡한 쿼리는 JPA의 @Query 어노테이션을 활용해 네이티브 쿼리를 작성했습니다.
JOIN의 종류와 차이점 (INNER, LEFT, RIGHT, FULL OUTER)
- INNER JOIN
- 두 테이블에서 조건이 맞는 데이터만 반환
- 교집합 개념
SELECT * FROM A INNER JOIN B ON A.id = B.id
- LEFT JOIN(LEFT OUTER JOIN)
- 왼쪽 테이블의 모든 데이터 + 오른쪽 데이터의 매칭 데이터
- 매칭되지 않으면 NULL 표시
- RIGHT JOIN(RIGHT OUTER JOIN)
- 오른쪽 테이블의 모든 데이터 + 왼쪽 데이터의 매칭 데이터
- 실무에서 거의 사용하지 않음
- FULL OUTER JOIN
- 양쪽 테이블의 모든 데이터
- 매칭되지 않은 부분은 NULL