SQL 참고서
필수 SQL 명령어 및 연산
Page content
다음은 SQL 명령어와 관련된 간결한 SQL 체크리스트입니다. 필수적인 명령어와 운영을 포함하고 있습니다:
데이터 조회
특정 열 선택:
SELECT column1, column2 FROM table_name;
모든 열 선택:
SELECT * FROM table_name;
중복된 값 선택:
SELECT DISTINCT column1, column2 FROM table_name;
데이터 필터링:
SELECT column1, column2 FROM table_name WHERE condition;
데이터 정렬:
SELECT column1, column2 FROM table_name ORDER BY column1 [ASC|DESC];
데이터 수정
행 삽입:
INSERT INTO table_name (column1, column2) VALUES (value1, value2);
데이터 업데이트:
UPDATE table_name SET column1 = value1 WHERE condition;
데이터 삭제:
DELETE FROM table_name WHERE condition;
테이블 작업
테이블 생성:
CREATE TABLE table_name (
column1 datatype PRIMARY KEY,
column2 datatype,
column3 datatype
);
테이블 수정:
ALTER TABLE table_name ADD column_name datatype;
테이블 삭제:
DROP TABLE table_name;
조인
내부 조인:
SELECT * FROM table1 INNER JOIN table2 ON table1.column = table2.column;
왼쪽 조인:
SELECT * FROM table1 LEFT JOIN table2 ON table1.column = table2.column;
집계 함수
행 수 계산:
SELECT COUNT(*) FROM table_name;
값의 합계:
SELECT SUM(column_name) FROM table_name;
값의 평균:
SELECT AVG(column_name) FROM table_name;
그룹화:
SELECT column1, COUNT(*) FROM table_name GROUP BY column1;
서브쿼리
SELECT 내의 서브쿼리:
SELECT column1, (SELECT AVG(column2) FROM table2) AS avg_col2 FROM table1;
WHERE 내의 서브쿼리:
SELECT * FROM table1 WHERE column1 IN (SELECT column2 FROM table2);
뷰
뷰 생성:
CREATE VIEW view_name AS SELECT column1, column2 FROM table_name WHERE condition;
뷰 삭제:
DROP VIEW view_name;
이 체크리스트는 가장 흔히 사용되는 SQL 명령어와 작업을 다룹니다.
이 체크리스트는 데이터 조회, 데이터 수정, 테이블 작업, 조인, 집계 함수, 서브쿼리, 뷰에 대한 빠른 참고 자료를 제공합니다.
내부 조인 vs 외부 조인
INNER JOIN과 LEFT JOIN은 여러 테이블의 데이터를 결합하는 방식에 따라 다른 SQL 조인 작업의 두 가지 일반적인 유형입니다:
-
INNER JOIN:
- 조인 조건에 따라 두 테이블 모두에 일치하는 행만 반환합니다.
- 다른 테이블에 일치하는 행이 없는 경우 해당 행을 제외합니다.
- 두 테이블에 모두 존재하는 데이터만 조회하고자 할 때 유용합니다.
-
LEFT JOIN (또는 LEFT OUTER JOIN):
- 왼쪽 테이블의 모든 행과 오른쪽 테이블의 일치하는 행을 반환합니다.
- 오른쪽 테이블에 일치하는 행이 없는 경우에도 왼쪽 테이블의 행을 포함하고, 오른쪽 테이블의 열에 대해 NULL 값을 채웁니다.
- 오른쪽 테이블에 일치하는 데이터가 없어도 왼쪽 테이블의 모든 레코드를 확인하고자 할 때 유용합니다.
주요 차이점:
-
결과 집합:
- INNER JOIN: 일치하는 행만 반환합니다.
- LEFT JOIN: 왼쪽 테이블의 모든 행과 일치하는 오른쪽 테이블의 행을 반환합니다.
-
NULL 값:
- INNER JOIN: 일치하지 않는 행에 대해 NULL 값을 생성하지 않습니다.
- LEFT JOIN: 오른쪽 테이블에 일치하는 행이 없는 경우 오른쪽 테이블의 열에 대해 NULL 값을 생성합니다.
-
사용 사례:
- INNER JOIN: 두 테이블에 모두 존재하는 데이터가 필요한 경우에 사용합니다.
- LEFT JOIN: 한 테이블의 모든 데이터와 다른 테이블의 일치하는 데이터가 필요한 경우에 사용합니다.
-
데이터의 완전성:
- INNER JOIN: 일치하는 행이 없는 경우 데이터를 제외할 수 있습니다.
- LEFT JOIN: 왼쪽 테이블의 모든 데이터를 포함하여 왼쪽 테이블의 데이터에 대한 보다 완전한 시각을 제공합니다.
이러한 차이점을 이해하면 데이터 검색 요구사항과 분석 목표에 따라 적절한 조인 유형을 선택할 수 있습니다.