
mkdir -p aiffel/sql_basic
ln -s ~/data/* aiffel/sql_basic/

Cloud Jupyter에서 데이터 확인 : aiffel > sql_basic

pandasql 라이브러리 설치
!pip3 install pandasql
데이터가 있는지 확인!
이때, FileNotFoundError가 발생한다면 생성한 ipynb 파일의 위치를 확인하자.
필자의 경우, 루트 폴더가 /가 아닌 /aiffel 였기 때문에 데이터 확인 코드의 폴더 위치 부분을 바꿔야 했음!
data_dir = 'aiffel/sql_basic/'

data_dir = 'sql_basic/'

또 다른 방법은 ipynb 파일 자체를
/위치로 옮겨주는 것!
해당 내용부터는 별도의 개인 Google Colab을 이용해 진행했음을 알려드립니다.
mysql("""
쿼리문 작성
""")
*은 모든 컬럼 조회SELECT *
FROM 테이블명


FROM 절 다음에 WHERE절 작성!SELECT 원하는 컬럼
FROM 테이블명
WHERE 조건절

A = 'value' : A와 'value'는 같음A !=(<>) 'value' : A와 'value'는 같지 ❌A > n : A가 n보다 큼A >= n : A가 n보다 크거나 같음A < n : A가 n보다 작음A <= n : A가 n보다 작거나 같음=
특정 데이터 선택 시 사용
2012년 기준 날짜, 계절, 날씨 컬럼 확인(LIMIT은 100만 보겠다는 의미)

같다의 의미로 사용할 경우

!= 또는 <>

>, >=> : 크다, >= : 크거나 같다
<, <=< : 작다, >= : 작거나 같다

AND : 앞 뒤 조건 모두 만족해야 참 -> 여러개 조건 존재OR : 앞 조건 또는 뒤 조건 중 하나라도 만족해야 참 - >여러 개 조건 존재IN : 값 리스트 중 하나라도 만족하는 해당 결과 출력 시 사용NOT : 조건 부정(논리 연산자 의미 반전AND
WHERE [조건1] AND [조건2]| 조건1 | 조건2 | Result |
|---|---|---|
| T | T | T |
| F | T | F |
| T | F | F |
| F | F | F |
bike 테이블에서 2011년도 봄 시즌 데이터 보기

2011년도 봄시즌 22시 발생한 데이터 보기

2011년도 봄시즌 일요일에 발생한 데이터 보기

OR
WHERE [조건1] OR [조건2]
| 조건1 | 조건2 | Result |
|---|---|---|
| T | T | T |
| F | T | T |
| T | F | T |
| F | F | F |

WHERE hr = 10 OR 11은 왜 안될까?
- 쿼리문의 경우, 비교하고자 하는 컬럼명까지 명확하게 지정해줘야 하기 때문!

⭐️ IN ⭐️
컬럼이 어떤 값들의 집합에 속할 경우
조회 데이터가 여러 개일 경우 사용
리스트의 값 중 하나라도 만족하면 해당 결과값 무조건 출력!
=와의 차이점
- = : 값 1개 비교 가능
- IN : 여러 개 list로 저장해서 비교 가능
그럼 OR을 쓰면 안되나요?
- 상관없지만..! 하나의 컬럼에서 같은 인자에 대한 조건을 줄 때는 IN이 효율적이겠죠?
1월(Jan), 3월(Mar), 5월(May) 전체 데이터

NOT
조건을 부정으로 만들어 부정 연산자!
조건에 대한 반대 결과
1월(Jan), 3월(Mar), 5월(May)이 아닌 전체 데이터

연습 : 1월(Jan), 3월(Mar), 5월(May)이 아니고, 전체 대여 건수가 10보다 큰 데이터?

NULL

Between A and B비교 연산자와 동일한 출력을 보인다!
number Between 3 AND 5number>=3 AND number<=5


계산에 사용
SELECT, WHERE문에 사용
주로 숫자에 사용(문자열이나 날짜 타입 데이터는 명확한 결과 나오기 어려움)
실무에서 많이 사용한다!!
산술연산자 종류 : +, -, *, / 등
⭐️우선 순위⭐️ :
()>*,/>+,-
dteday에 2를 더하고, weekday에 3을 더한다면?

주의 : RDBMS 종류에 따라 에러 발생될 수 있음. 숫자가 아닌 데이터는 산술 연산자 사용을 지양하는 것이 좋다!
temp에 +2, -2, *2, /2 추가
