SQL : Structured Query Language
- 관계형 데이터베이스 관리 시스템(RDBMS)의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어
1. 데이터 정의 언어 (DDL : Data Definition Language)
- CREATE (데이터베이스 개체 (테이블, 인덱스, 제약조건 등)의 정의)
- DROP (데이터베이스 개체 삭제)
- ALTER (데이터베이스 개체 정의 변경) : 테이블에 컬럼을 추가하거나 제한을 추가
2. 데이터 조작 언어 (DML : Data Manipulation Language)
- INSERT INTO (행 데이터 또는 테이블 데이터의 삽입)
- UPDATE ~ SET (표 업데이트)
- DELETE FROM (테이블에서 특정 행 삭제)
- SELECT ~ FROM ~ WHERE (테이블 데이터의 검색 결과 집합의 취득)
WHERE : 조건절 Where condition;
3. 데이터 제어 언어 (DCL : Data Control Language)
- GRANT (특정 데이터베이스 사용자에게 특정 작업을 수행 권한을 부여)
- REVOKE (특정 데이터베이스 이용자로부터 이미 준 권한을 박탈 함.)
- SET TRANSACTION ( 트랜잭션 모드 설정 (동시 트랜잭션 격리 수준 (ISOLATION MODE) 등))
- BEGIN (트랜잭션 시작)
- COMMIT (트랜잭션의 실행)
- ROLLBACK (트랜잭션 취소)
- SAVEPOINT (무작위로 롤백 지점을 설정)
- LOCK (TABLE 등의 자원을 차지)
4. SQL 기초
- Order by [칼럼] : 가져온 데이터를 정렬
- AND / OR / NOT : 논리 연산자
- BETWEEN : [칼럼] BETWEEN A AND B - 특정 범위 내의 데이터를 선택할 때 사용
- IN : [칼럼] IN A - 목록 내 포함되는 데이터를 선택할 때 사용
- LIKE : [칼럼] LIKE [검색할 문자 열] - 특정 문자 열이 포함된 데이터를 선택하는 연산자
- UNION : 여러 테이블 한번에 다루기 (합집합)
- JOIN : 테이블 합치기
- INNER JOIN : 두 테이블 모두에 있는 값만 합치기
- LEFT JOIN : 왼쪽 테이블에 있는 값만 합치기
- RIGHT JOIN : 오른쪽 테이블에 있는 값만 합치기
- OUTER JOIN : 두 테이블에 있는 모든 값 합치기
- CROSS JOIN : 두 테이블에 있는 모든 값을 각각 합치기
- SELF JOIN : 같은 테이블에 있는 값 합치기
- Concat : CONCAT("ABC","DEF") - "ABC" 문자열과 "DEF" 문자열을 합쳐 변환
5. 쿼리 작성 순서 및 실행순서
- 작성순서 : SELECT > FROM > WHERE > GROUP BY > HAVING > ORDER BY
- 실행순서 : FROM > WHERE > GROUP BY > HAVING > SELECT > ORDER BY