Wildcard
와 같이 사용%
: 조건을 포함하는 모든 문자(0개 이상)_
: 한 글자_
의 개수로 문자열 개수 정함.to_
라고 지정하면 tom 추출, tomi 추출 ❌hr이 0 &&
weekday에 'ur'이란 단어가 들어간 데이터 찾기
hr이 0 &&
weathersit이 'Cl'로 시작하는 데이터
hr이 0 &&
mnth이 'ma?'인 데이터
hr이 0 &&
mnth이 'ma?' &&
weekday에 'ur'이란 단어가 들어간 데이터
임시로 컬럼명 변경 시 사용
기존 컬럼명의 물리적 변경 ❌
사용 방법
컬럼명 AS 별칭 -- AS 생략 가능!
" "
또는 ' '
으로 묶기SELECT
,FROM
절에 사용temp, hum를 추출(hum은 'humidity' 별칭 지정)
bike 테이블 이름 -> 'b', temp, hum 추출
SELECT
FROM
WHERE
ORDER BY
LIMIT
ASC
ORDER BY 컬럼명 ASC
ORDER BY 컬럼명
DESC
ORDER BY 컬럼명 DESC
SELECT 구문에 컬럼 순서 직접 커스텀도 가능
/*
첫번째 칼럼을 기준으로 내림차순 정렬
같은 값은 두번째 칼럼을 기준으로 정렬!
*/
ORDER BY 1 DESC, 2
dteday, temp, cnt 컬럼 추출
COUNT
, SUM
, AVG
, MAX
, MIN
)에도 사용 가능weekday, weathersit 컬럼 중복 제거
yr, weekday, weathersit 컬럼 중복 제거
중복 제거의 기준 : DISTINCT의 뒤에 오는 칼럼명이 1개 이상이라면 그 칼럼들이 모두 같은 것을 하나의 중복으로 본다!
단일 조건문(조건이 1개!)
엑셀 IF 함수와 동일
SELECT, WHERE절에서 사용
IF 내부 조건 부여 시 함수와 같이 사용 가능
🚨 pandasql
은 if 함수가 iif
형태!
1990년 이전, 이후 태어난 고객 분리
삼항 연산자
- (birthday >= '1990-01-01' , '이후', '이전')
- 해석) 생년월일이 1990년 1월 1일보다 크거나 같다 즉, 1990년이후라면 '이후'를, 그렇지 않다면 '이전'을 반환한다는 의미!
다중 조건문
조건에 따른 값을 다르게 뽑아낼 경우
조건에 따라 나온 결과값을 -> 새로운 컬럼으로 만들 수 있다!
해석해보기
CASE WHEN '조건1' THEN '조건1 반환값'
WHEN '조건2' THEN '조건2 반환값'
ELSE '만족하는 조건이 없을 때 반환 값'
END
WHEN
과 THEN
은 한 쌍ELSE
: 앞 조건들이 모두 미충족되었을 때!NULL
고객 한도 : 5만원, 10만원 단위로 분리
varchar? : 가변길이 문자열(최대 숫자만 지정하면 그 최대 수를 넘지 않는 한에서는 길이가 모자라도 된다는 의미)
CAST(컬럼 AS 변환할 타입)
-- 예시
SELECT CAST(14.58 AS int) //14(결과값)
데이터 타입 확인 방법 : 테이블명.info()
2011년 데이터 5개 추출
타입 변경 해보기 : yr을 int -> varchar로!
여기에서 중요한 점은?
CAST
는 어디까지나 임시로 데이터 타입을 변형하기 때문에 물리적으로 타입 변환이 이루어지지 않는다!