Notice
Recent Posts
Recent Comments
Link
- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 데이터사이언티스트
- sql
- Jupyter Notebook
- 컴프리헨션
- 빅쿼리
- 데싸4기
- github
- 함수
- python
- error
- 딕셔너리
- 데이터
- 파이썬
- 1주차
- 깃허브
- jupyter
- 데이터베이스
- 2주차
- 주피터노트북
- 변수
- 모두의연구소
- bigquery
- 파이썬문법
- data
- 함수활용
- AI
- 논리연산자
- 비교연산자
- 개념정리
- 환경세팅
Archives
[SQL] 데이터 다루기(쿼리문, 비교연산자, 논리연산자, 산술연산자) 본문
반응형
📑학습 내용
- ✅ 쿼리문 작성과 데이터 필터링
- 쿼리문 작성하기(SELECT, FROM)
- 전체 데이터 필터링하기(WHERE)
- ✅ 비교 연산자 사용하기
- =
- != 또는 <>
- >, >=
- <, <=
- ✅ 논리 연산자 사용하기
- AND
- OR
- IN
- NOT
- ✅ 산술 연산자 사용하기
- +, -, *, /
import os # 파일 경로 다룰 때 사용
import pandas as pd # pandas를 pd 별칭으로 사용, 데이터 분석을 위한 라이브러리
from pandasql import sqldf # sql문법을 사용하여 pandas 데이터프레임을 쿼리하는 기능
# pandasql을 전역 환경으로 지정
#mysql 람다함수를 정의, sql쿼리를 입력하면 sqldf를 실행
mysql = lambda q: sqldf(q, globals())
# 데이터 파일 경로 설정
data_dir = 'aiffel/sql_basic/'
# CSV파일을 불러와서 데이터프레임으로 저장'
# data_dir과 파일명을 합쳐 경로를 생성하고, 읽어옴
bike = pd.read_csv(os.path.join(data_dir, 'bike_dataset.csv'))
orders = pd.read_csv(os.path.join(data_dir, 'orders.csv'))
customers = pd.read_csv(os.path.join(data_dir, 'customers.csv'))
employees = pd.read_csv(os.path.join(data_dir,'employees.csv'))
ds_2020 = pd.read_csv(os.path.join(data_dir, 'DS_JobsSalaries_2020.csv'))
ds_2021 = pd.read_csv(os.path.join(data_dir, 'DS_JobsSalaries_2021.csv'))
print("데이터 준비 완료!")
위의 코드로 데이터가 잘 불러와지는지 확인..
🛠 쿼리문 작성 (SELECT, FROM, WHERE)
📌 (SELECT, FROM, WHERE)
select 원하는 칼럼명
from 테이블명
where 조건절
mysql("""
SELECT * FROM bike WHERE yr = 2012
""")
👉 bike 데이터베이스에서 필드명 yr이 2012 인 데이터를 모두(*) 조회하라.
🛠 비교 연산자
🛠 논리 연산자
- 여러가지 조건을 주고 싶을 때 사용
- 논리 연산자를 계속 추가하면 복잡한 조건도 쉽게 필터링
🛠 🔥IN
여러 개 중에서 한 가지라도 만족하면 해당 결과를 출력
같은 컬럼에서 같은 인자를 조건으로 줄 때 사용하는 것이 효율적
# OR 연산자 사용
mysql("""
SELECT *
FROM bike
WHERE mnth = 'Jan'
OR mnth = 'Mar'
OR mnth = 'May'
""")
# IN 연산자 사용
mysql("""
SELECT *
FROM bike
WHERE mnth IN ('Jan', 'Mar', 'May')
""")
🛠 NULL
- 0이나 공백과는 다르다.
- 🔥 IS NULL 혹은 IS NOT NULL로 사용
- null은 비교연산 할 수 없다.
ex) == null 혹은 != null ❌
🛠 Between A and B
🔥 A와 B를 포함한다.
🛠 산술 연산자
📌 우선순위
( ) > *, / > +, -
- 실무에서 많이 쓰이며 비즈니스를 위한 다양한 리포트를 작성할 때 필수적으로 사용
mysql("""
SELECT dteday, dteday + 2, weekday , weekday + 3
FROM bike
""")
⭐날짜나 문자 타입 데이터 경우에는 에러가 날 수 있어 산술 연산자를 사용하지 않는 것이 좋다.
반응형
'데이터베이스 > SQL' 카테고리의 다른 글
[SQL] 여러 개의 테이블 사용하기 (UNION, Subquery) (1) | 2025.04.04 |
---|---|
[SQL] 여러 개의 테이블 사용하기(기본키, 외래키, JOIN) (0) | 2025.04.04 |
[SQL] 데이터 집계하기(COUNT, SUM, AS(별칭), AVG, MAX, MIN), GROUP BY, HAVING (0) | 2025.04.04 |
[SQL] 데이터 활용법(LIKE연산자, Wildcard, 정렬, 중복제거, If, CASE WHEN ~ THEN, CAST) (0) | 2025.04.03 |
[SQL] 데이터베이스, 테이블, 스키마 (0) | 2025.04.03 |