데이터 분석을 위한 중급 SQL
데이터 분석을 위한 중급 SQL
[백문이불여일타] 데이터 분석을 위한 중급 SQL
참고 링크 : w3schools
중급 SQL
보고싶은 데이터 요약하기
집계함수 (Aggregate Function)
COUNT
SELECT COUNT(DISTINCT name)
[백문이불여일타] 데이터 분석을 위한 중급 SQL
참고 링크 : w3schools
COUNT
SELECT COUNT(DISTINCT name)
SUM
SELECT SUM(price)
- 숫자 데이터를 가진 컬럼에 합계(
SUM
) 사용 가능
AVG
SELECT AVG(visits)
NULL
값 주의NULL
값을 0으로 처리하고 싶을 때SELECT SUM(visits)/COUNT(*)
MIN
/MAX
SELECT MIN(price)
SELECT MAX(price)
SELECT
문에서+
,-
등 연산 가능
그룹함수
GROUP BY
- 숫자로
GROUP BY
표현하는건 비추천 ORDER BY
함께 사용 가능
- 숫자로
HAVING
WHERE
사용할 때 목적 중요- SQL문 실행 순서 :
GROUP BY
하기 전에WHERE
문 실행
- SQL문 실행 순서 :
GROUP BY
로 묶인 결과물에 필터링 걸고 싶을 때HAVING
사용AS
사용 가능
조건문
CASE
SELECT CASE
WHEN ? THEN ?
WHEN ? THEN ?
ELSE
END
FROM
Tip! 추가 내용
CASE
를 활용한 테이블 피봇
두 개 이상 테이블 결합하기
참고 링크 : SQL Joins Visualizer
INNER JOIN
- 교집합
- 양쪽 테이블에 모두 다 정보가 있을 때 출력
Tip! ERD란?
- Entity Relationship Diagram(ERD)는 테이블 간의 관계를 설명해주는 다이어그램이라고 볼 수 있으며, 이를 통해 프로젝트에서 사용되는 DB의 구조를 한눈에 파악할 수 있음
- 즉, API를 효율적으로 뽑아내기 위한 모델 구조도라고 생각하면 됨
OUTER JOIN (LEFT, RIGHT)
INNER JOIN
을 제외한 나머지는 다OUTER JOIN
LEFT (OUTER) JOIN
- 왼쪽 테이블을 기준으로
JOIN
을 하겠다는 뜻 - 왼쪽 테이블에는 데이터가 있고 오른쪽 테이블은 데이터가 없을 때
- 왼쪽 테이블을 기준으로
참고 사항
- 예제 사이트에서
LEFT JOIN
실행시 확인되는 CustomerID의null
은 해당 사이트 내부의 오류 때문에 확인되는 결과- 올바른 MySQL 인터프리터의 경우
JOIN
되는 테이블에 값이 없다고 해서 기준이 되는 테이블에 있는key
값이null
값으로 반환되는 경우는 없음
RIGHT (OUTER) JOIN
- 주로
LEFT (OUTER) JOIN
사용 - 두 종류를 섞어서 사용하는 것 보다
LEFT (OUTER) JOIN
만 사용했을 때 해석이 더 쉽기 때문
- 주로
SELF JOIN
- 테이블에
AS
붙여서 각각의 테이블 구분해서 사용
- 테이블에
Tip! MySQL 시간 더하기 • 빼기
DATE_ADD(기준날짜, INTERVAL)
SELECT DATE_ADD(NOW(), INTERVAL 1 SECOND)
SELECT DATE_ADD(NOW(), INTERVAL 1 MINUTE)
SELECT DATE_ADD(NOW(), INTERVAL 1 HOUR)
SELECT DATE_ADD(NOW(), INTERVAL 1 DAY)
SELECT DATE_ADD(NOW(), INTERVAL 1 MONTH)
SELECT DATE_ADD(NOW(), INTERVAL 1 YEAR)
SELECT DATE_ADD(NOW(), INTERVAL -1 YEAR)
DATE_SUB(기준날짜, INTERVAL)
SELECT DATE_SUB(NOW(), INTERVAL 1 SECOND)
위 아래로 데이터 이어붙이기
UNION
- 기본값
- 중복값 제거
UNION ALL
- 중복값 포함
Tip! 추가 내용
- MySQL 지원 안되는 내용
EXCEPT
(MINUS
)INTERSECT
- 예제 사이트 지원 안되는 내용
RIGHT (OUTER) JOIN
FULL OUTER JOIN
Author And Source
이 문제에 관하여(데이터 분석을 위한 중급 SQL), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@hwaya2828/데이터-분석을-위한-기초-SQL-qdj47h52저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)