SQL query
- RDBM의 종류에 따라 구문이 조금씩 다르지만 기본 원리는 동일
- SQLite로 진행
Data
SELECT
SELECT 컬럼 FROM 테이블 WHERE 조건;
- ASC/DESC : 정렬 순서
- ORDER BY : 정렬 대상
- GROUP BY : 그룹으로 묶어서 데이터 선택
- LIMIT : 출력 개수 제한
INSERT
INSERT INTO 테이블 (컬럼, ...) VALUES(값, ...)
UPDATE
UPDATE SET 컬럽=값 WHERE 조건
REPLACE
: 있으면 바꾸고, 없으면 추가
REPLACE INTO 테이블 (컬럼, ...) VALUES(값, ...)
INSERT OR IGNORE
: 중복이 없을 때만 실행하고 있으면 종료 cf. MySQL : INSERT IGNORE
INSERT OR IGNORE INTO 테이블 (컬럼, ...) VALUES(값, ...)
DELETE
DELETE FROM 테이블 WHERE 조건
JOIN
출처 : https://commons.wikimedia.org/wiki/File:SQL_Joins.svg
Table
CREATE
CREATE TABLE 테이블 (컬럼 데이터타입, ...)
ALTER
ALTER TABLE 테이블 RENAME TO 새테이블명;
ALTER TABLE 테이블 ADD COLUMN 컬럼명 데이터타입;
DROP
DROP TABLE 테이블
Function
- SUBSTR(컬럼, 시작 인덱스, 끝 인덱스) : 컬럼을 호출할 때 문자열의 일부만 가져오도록 선택
- UPPER/LOWER : 대문자/소문자로 변환
- LENGTH : 문자열 길이
- MAX/MIN : 최대/최소값
- AVG, COUNT, SUM
- DATE : 세부 syntax는 database별 상이
SELECT DATE(CURRENT_TIMESTAMP) >> '2020-02-24' SELECT DATE('NOW') >> '2020-02-24' SELECT CURRENT_TIMESTAMP >> '2020-02-24 20:00:00' SELECT DATETIME('NOW') >> '2020-02-24 20:00:00' SELECT DATETIME(CURRENT_TIMESTAMP, '+1 DAY') >> '2020-02-25 20:00:00'
- CASE WHEN
SELECT 컬럼, ... CASE WHEN 조건 THEN 결과 WHEN 조건 THEN 결과 ELSE 결과 END AS 출력용 컬럼명, FROM 테이블
REF
패스트캠퍼스 - 데이터 엔지니어 강의 / 한승수 강사
-
DataEngineer 08 - RDBMS 29 Feb 2020
-
DataEngineer 07 - SQL Data Types 29 Feb 2020
-
DataEngineer 06 - Python for API 25 Feb 2020
-
DataEngineer 05 - API 기초 24 Feb 2020
-
DataEngineer 04 - SQL 기초 24 Feb 2020
-
DataEngineer 03 - AWS 기초 23 Feb 2020
-
DataEngineer 02 - 기초 지식 22 Feb 2020
-
DataEngineer 02 - UNIX 환경 및 커맨드 22 Feb 2020
-
DataEngineer 01 - 데이터 아키텍처 22 Feb 2020