티스토리 뷰
Datacamp 의 SQL Fundamentals 트랙을 공부하면서 정리한 내용이다.
첫번째 코스인 Intro to SQL for Data Science은 SQL의 기초를 정리하는 내용이었다.
SQL (Structured Query Language)
select 문
기본형 : select (field) from (table);
- 중복을 제거한 값을 구하고 싶다면 필드명 앞에 distinct 를 넣으면 된다
- 갯수를 구하고 싶다면 count(field) 식으로 하면 갯수를 구할 수 있다
필터링
where (field) (=><..operator) (value);
- 여러개의 조건을 동시에 검사하고 싶으면 AND, OR 로 연결가능
- 범위를 구하고 싶다면 (field) between (first) and (last) 식으로 가능
- (field) in (list) 식으로도 검사 가능
- Null 검사: IS (NOT) NULL 식으로 검사
*LIKE : 예를 들어서 data로 시작하는 모든걸 검색하고 싶다면 data%, data(??)mp형식이라면 data__mp 식으로 검색하면 된다. 반대는 NOT LIKE
총계 구하기
SUM, AVG, MIN, MAX
- 기본형에서 MAX(FIELD)식으로 써준다
종합 예문
SELECT SUM(GROSS) FROM FILMS WHERE RELEASE_YEAR >= 2000;
SELECT AVG(GROSS) FROM FILMS WHERE TITLE LIKE 'A%';
SELECT MIN(GROSS) FROM FILMS WHERE RELEASE_YEAR = 1994;
SELECT MAX(GROSS) FROM FILMS WHERE RELEASE_YEAR BETWEEN 2000 AND 2012;
계산
SELECT (3 * 4);
계산시에 SQL은 만약 정수끼리 나눈다면 정수값을 원한다고 추정하여 값을 내놓으므로 유의해야한다
ALIAS
예문
SELECT avg(duration)/60.0 as avg_duration_hours FROM films;
SELECT avg(duration)/60.0 as avg_duration_hours FROM films;
만약에 여러값을 추출해야할 경우인데 그대로 데이터를 뽑으면 뭐가 뭔지 구분이 어려울 수 있다. 때문에 별칭을 붙여줘서 알아보기 쉽게 만들어주는 편이 좋다.
예문
SELECT COUNT(deathdate) * 100.0 / COUNT(*) AS percentage_dead FROM people;
SELECT COUNT(deathdate) * 100.0 / COUNT(*) AS percentage_dead FROM people;
ORDER BY
기본적으로 오름차순(A-Z)이다
GROUP BY
group by (field) 식으로 사용한다
항상 from문 뒤에 따라온다
예문
select imdb_score, count(*) from reviews group by imdb_score;
select imdb_score, count(*) from reviews group by imdb_score;
HAVING
aggregate문은 where절에선 못 쓰지만 여기선 가능
-조건문
종합예문
select release_year, avg(budget) as avg_budget, avg(gross) as avg_gross from films where release_year > 1990 group by release_year having avg(budget) >60000000 order by avg(gross) desc;
elect release_year, avg(budget) as avg_budget, avg(gross) as avg_gross from films
where release_year > 1990 group by release_year
having avg(budget) >60000000 order by avg(gross) desc;
'Programming > Data' 카테고리의 다른 글
PySpark : 2. Spark Dataframe Basics 1, 2 (0) | 2024.02.01 |
---|---|
PySpark : 1. Hadoop, Mapreduce, Spark (0) | 2024.01.28 |
Kaggle - Intro to Machine Learning (0) | 2020.02.24 |
Numpy <1> (0) | 2019.01.03 |
- Total
- Today
- Yesterday
- BookDiscussion
- SRE를위한시스템설계와구축
- 동남아
- 혼자공부하는얄팍한코딩지식
- 파고다후기
- 그래프QL인액션
- 길벗출판사
- 파고다강남후기
- 아토믹코틀린
- 유데미강의
- SQL기초구문
- Singapore
- Docker
- django
- 나는리뷰어다2022
- 해외여행
- 나는리뷰어다
- 파고다갓생후기챌린지
- 싱가폴여행
- 리액트와함께장고시작하기
- 머신러닝파워드애플리케이션
- 싱가포르
- askcompany
- 한빛출판사
- 다시미분적분
- 개발자리뷰어
- Python
- 한빛미디어
- udemy
- 싱가폴
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |