데이터베이스 언어

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)

  1. INNER JOIN
    • 두 테이블에서 조건이 맞는 데이터만 반환
    • 교집합 개념
      SELECT * FROM A INNER JOIN B ON A.id = B.id
      
  2. LEFT JOIN(LEFT OUTER JOIN)
    • 왼쪽 테이블의 모든 데이터 + 오른쪽 데이터의 매칭 데이터
    • 매칭되지 않으면 NULL 표시
  3. RIGHT JOIN(RIGHT OUTER JOIN)
    • 오른쪽 테이블의 모든 데이터 + 왼쪽 데이터의 매칭 데이터
    • 실무에서 거의 사용하지 않음
  4. FULL OUTER JOIN
    • 양쪽 테이블의 모든 데이터
    • 매칭되지 않은 부분은 NULL