데이터 분석 부트캠프 2주차 첫째날.
To do list.
-SQL 코드카타
-파이썬 강의 찍먹
-SQL 튜터님 강의
-데이터와 친해지는 SQL 과제
SQL 세션 2번째 강의
Mysql 마지막은 ; 으로 끝맺음
distinct 로 중복 구분 가능
조건에 따라 데이터를 구분하고 싶다 => case when 문
연산자
N=10 , N!=10 (N이 10 , N이 10이 아닌 값)
is NULL , is not NULL (값이 비어있는 , 값이 비어있지 않은)
같은 레벨의 논리연산자(AND, OR 등)를 쓸 경우에 반드시 괄호()를 쓴다
아니면 논리연산자 사이에 조건을 다써야함
ORDER BY 활용
컬럼 순서별로 1,2,3,4 등 표시가능
EX) ORDER BY 1,2,3
CTRL + 화살표
SHIFT + 화살표 => 이동
SHIFT + ALT => 여러개 동시 입력
.
.
.
.
데이터와 친해지는 SQL 과제
과제를 진행함에 있어 로컬호스트서버를 정상적으로 내려받는데
오후시간을 거의 다 쓴것 같다..
기존 강의에 로컬 호스트 서버를 설정하는 내용이 없어 일어난 불상사 ㅠㅠ
어찌됐든 과제를 진행해봤다.
select game_account_id ,
game_actor_id ,
serverno
from users
where date > '2023-01-01'
- 조건1) level 컬럼이 10 초과이고
- 조건2) serverno컬럼이 1이 아니며
- 조건3) 아이템이름컬럼이 레벨업 패키지 또는 시즌패스이고
- 조건4) 아이템 획득경로가 상점에서 구매한 경우의
>> date, ip_addr, exp, zone_id 를 추출하고 결과값을 date 기준 내림차순으로 정렬하여 추출해주세요.
select date,
ip_addr,
exp,
zone_id
from users
where level > 10 and serverno <>1 and (etc_str2 ="레벨업 패키지" or etc_str2 = "시즌패스") and etc_str1 = "상점에서 구매"
order by 1 desc ;
select game_actor_id ,
level,
case when level between 1 and 10 then '1~10lv'
when level between 11 and 20 then '11~20lv'
when level between 21 and 30 then '21~30lv'
when level between 31 and 40 then '31~40lv'
when level between 41 and 50 then '41~50lv'
when level between 51 and 60 then '51~60lv'
when level between 61 and 70 then '61~70lv'
when level between 71 and 80 then '71~80lv'
when level between 81 and 90 then '81~90lv'
when level between 91 and 100 then '91~100lv'
end 'levelgroup' ,
date
from users
order by date desc ;
- date 컬럼을 yyyy-mm 형식의 월 형태로 바꾸고, 컬럼이름을 m 으로 지정해주세요.
- game_account_id, game_actor_id 를 추출하되, 월을 기준으로 오름차순, 월이 같을 경우 game_actor_id 를 내림차순으로 정렬해주세요. 결과값은 아래와 같아야 합니다. (전체결과 중 일부)
select date_format(date,'%Y-%m') m,
game_account_id ,
game_actor_id
from users
order by date , game_actor_id desc ;
Check point.
파이썬 강의 찍먹
- >
ctrl + s 저장 (맥은 다름)
많은 문법들은 외우는게 아니다 / 모르는 문법은 찾아보면서 해결하면 ok!
처음부터 모든 개념 / 문법에 매몰되면 안된다 / 원리만 이해하려고 하자
회고
데이터 분석 강의 2주차 첫째날을 보내면서 SQL의 원리를 약간 알듯말듯하는 느낌이다.
하지만 서브쿼리문의 긴 구문들은 아직도 처음본것처럼 어렵다. 그리고 첫 SQL 강의 세션 과제를 풀어보면서 쉬운듯하면서도 시간이 많이 걸렸다. 그 이유로 마침표를 찍지 않거나 기본에 충실하지 않은채 빨리 문제를 해결하려고만 해서 오히려 잘못된 구문 작성이 빈번했다. 항상!! 기본개념과 원리를 생각하면서 문제를 풀어나가자.
+ 파이썬 강의를 조금 들었는데 어려운 내용까진 듣지 않아서 살짝 설렘반 기대반이다.
'TIL. (Today I Learned)' 카테고리의 다른 글
Day8. 데이터리터러시/UNION/JOIN / TIL.20240424 (0) | 2024.04.24 |
---|---|
Day7. SQLD/ DBMS / PYHTON / TIL. 20240423 (0) | 2024.04.23 |
Day5. 피벗테이블 / Rank,Sum / 날짜 / TIL.20240419 (2) | 2024.04.19 |
Day4. Subquery / Join 활용 TIL. 20240418 (1) | 2024.04.18 |
Day3. REPLACE,SUBSRTING,CONCAT / GROUP BY / IF,CASE / TIL. 20240417 (0) | 2024.04.17 |