데이터 조회 (SELECT) : 데이터 조작어 (DML)이며, 데이터 분석에서 가장 많이 사용되는 명령어
- 여러 절들과 함께 사용되어, 분석에 필요한 데이터 조회 (FROM, WHERE, GROUP BY, HAVING, ORDER BY)
FROM : 테이블 확인
WHERE : FROM절 테이블을 특정 조건으로 필터링
GROUP BY : 열 별로 그룹화, 집계함수와 주로 사용, SELECT에도 작성해야 원하는 분석 결과 확인 가능
HAVING : 그룹화된 새로운 테이블을 특정 조건으로 필터링
SELECT : 열 선택
ORDER BY : 열 정렬 (DESC, ASC)
FROM -> WHERE -> GROUP BY 순으로 실행되며, FROM -> GROUP BY 순으로 작성해도 됨
SELECT 명령어 보기 좋은 작성법
SELECT [열1]
,[열2]
,[집계함수] AS [열이름]
FROM [테이블명]
WHERE [조건]
GROUP
BY [열1]
,[열2]
HAVING [조건]
ORDER
BY [열1];
SELECT ADDR
, COUNT(MEN_NO) AS 회원수
FROM CUSTOMER
WHERE GENDER = 'MAN'
GROUP
BY ADDR
HAVING COUNT(MEN_NO) < 100
ORDER
BY COUNT(MEN_NO) DESC;
테이블 결합 (JOIN) : 두 테이블 관계를 활용하여, 테이블을 결합하는 명령어 (여러 테이블을 활용한 분석 가능)
- 관계는 1:1, 1:N, N:N 세 가지 형태로, 테이블 간의 연결이 가능하다는 것을 의미함
- ERM (Entity-Relationship Modeling)은 개체-관계 모델링이며, 관계형 데이터베이스에 테이블 모델링할 때 사용
- ERD (Entity-Relationship Diagram) : 개체 간의 관계를 도표로 표현할 때 사용
- 개체 (Entity) : 하나 이상의 속성으로 구성된 객체
- 관계 (Relationship) : 개체 간의 관계
INNER JOIN : 두 테이블의 공통 값이 매칭되는 데이터만 결합
SELECT *
FROM CUSTOMER AS A
INNER
JOIN SALES AS B
ON A.MEM_NO = B.MEM_NO;
LEFT JOIN : 두 테이블의 공통 값이 매칭되는 데이터만 결합, 왼쪽 테이블의 매칭되지 않는 데이터는 NULL
RIGHT JOIN : 두 테이블의 공통 값이 매칭되는 데이터만 결합, 오른쪽 테이블의 매칭되지 않는 데이터는 NULL
테이블 결합 (JOIN) + 데이터 조회(SELECT) : 여러 테이블들을 결합하여 조회 및 분석
테이블 결합은 3가지 이상 테이블 결합 가능함
SELECT *
FROM SALES AS A
LEFT
JOIN CUSTOMER AS B
ON A.MEM_NO = B.MEM_NO
LEFT
JOIN PRODUCT AS C
ON A.PRODUCT_CODE = C.PRODUCT_CODE;
서브 쿼리 (Sub Query) : SELECT문 안에 또 다른 SELECT문이 있는 명령어
SELECT절 서브 쿼리 : SELECT 명령문 안에 SELECT 명령문이 있는 쿼리 (JOIN보다 처리 속도 늦음)
FROM절 서브 쿼리 : FROM 명령문 안에 SELECT 명령문이 있는 쿼리
WHERE절 서브 쿼리 : WHERE 명령문 안에 SELECT 명령문이 있는 쿼리
FROM절 서브 쿼리 보기 좋은 작성법
SELECT *
FROM (
SELECT [열1]
, [집계함수] AS [열이름]
FROM [테이블명]
GROUP
BY [열1]
) AS A
'Naver Boostcourse > 기초 데이터 분석을 위한 핵심 SQL' 카테고리의 다른 글
기초 데이터 분석을 위한 핵심 SQL | RFM 분석 (0) | 2023.03.10 |
---|---|
기초 데이터 분석을 위한 핵심 SQL | 회원 프로파일 분석 (0) | 2023.03.10 |
기초 데이터 분석을 위한 핵심 SQL | SQL 활용 (0) | 2023.03.09 |
기초 데이터 분석을 위한 핵심 SQL | SQL 명령어 (실습) (0) | 2023.03.08 |
기초 데이터 분석을 위한 핵심 SQL | SQL 기본 구조 (1) | 2023.03.07 |