📌JOIN
1️⃣ 정의
두 개 이상의 테이블을 공통된 컬럼을 기준으로 연결하여 데이터를 조회하는 방법.
2️⃣ 종류:
- INNER JOIN: 두 테이블 모두에 존재하는 공통된 데이터만 조회.
- LEFT JOIN: 왼쪽 테이블의 모든 데이터를 가져오고, 오른쪽 테이블과 일치하는 데이터가 없으면 NULL로 표시.
- RIGHT JOIN: 오른쪽 테이블의 모든 데이터를 가져오고, 왼쪽 테이블과 일치하는 데이터가 없으면 NULL로 표시.
- FULL OUTER JOIN: 양쪽 테이블의 모든 데이터를 가져오며, 일치하지 않는 경우 NULL로 표시.
사용 이유:
여러 테이블에 분산된 데이터를 하나의 결과로 통합하여 조회할 수 있음.
✅ 예시 :
customers 테이블과 orders 테이블을 customer_id를 기준으로 연결하여 고객의 주문 정보를 조회.
SQL Index, View, Trigger 개념 정리
📌 INDEX
1️⃣ 정의
데이터를 읽어올 때 속도를 빠르게 하기 위한 기능.
2️⃣ 장점
데이터 조회(READ) 속도가 빨라짐.
3️⃣단점
삽입(INSERT), 수정(UPDATE), 삭제(DELETE) 속도가 느려짐.
추가적인 저장공간을 약 10% 정도 더 사용.
4️⃣특징:
테이블의 컬럼 단위로 설정 가능하며, 여러 개의 컬럼에도 인덱스를 설정할 수 있음.
📌 VIEW
1️⃣정의
가상의 테이블로, 실제 데이터를 저장하지 않음.
2️⃣사용 이유
복잡한 쿼리를 단순하게 변환하여 관리 및 조회를 쉽게 하기 위함.
3️⃣특징
직접적으로 데이터의 수정, 변경이 불가능함.
실제 테이블의 데이터를 기반으로 동작하지만, 독립적인 데이터 저장은 이루어지지 않음.
📌 TRIGGER
1️⃣정의
특정 테이블에서 쿼리가 실행될 때, 미리 작성해 놓은 쿼리가 자동으로 실행되도록 하는 기능.
2️⃣사용 이유
데이터 변경 시 자동으로 로직 실행 (예: 데이터 백업, 로그 기록).
3️⃣효과
데이터를 1차적으로 백업하는 효과가 있음.
✅ 예시
- 자동 실행: 특정 테이블(city)에서 DELETE 쿼리가 실행되면, 삭제된 데이터를 백업 테이블로 자동저장
- 수동실행
TRIGGER 작성 방법
✅구문 구조
DELIMITER:
기본적으로 SQL 쿼리는 세미콜론(;)으로 끝나지만, 트리거 작성 시 중간에 세미콜론을 사용하기 때문에 DELIMITER를 변경하여 구문 오류를 방지함.
'수업 일지' 카테고리의 다른 글
13주차 정리 (0) | 2025.03.27 |
---|---|
12주차 정리 (0) | 2025.03.12 |
[Python Analysis] EPL 데이터 분석을 통한 토트넘 연대기 2 (0) | 2025.02.12 |
[Python Analysis] EPL 데이터 분석을 통한 토트넘 연대기 1 (0) | 2025.02.12 |
8주차 정리 (0) | 2025.02.10 |