자 데이테분석 부캠 2주차 두번째날 티아이엘 들어가볼궤요
슈웃
To do list.
-SQLD 자격증 강의 1일차
-파이썬 강의
-SQL코드카타 5-10문제
-SQL 세션 강의 & 과제
SQLD 자격증 강의 맛보기-1일
데이터 모델링의 이해
=> 복잡한 현실 세계의 데이터를 단순화시켜 데이터베이스로 표현하기 위한 작업.
SQL + D(Developer)
SQL(structured query language) : 데이터베이스를 조작할 수 있는 언어
=> 데이터 정의 , 데이터 조작, 조작한 결과 적용 또는 취소 , 접근 권한을 제어하는 처리
but.. sql을 개발까지 하는데는 무리가 있다/..!
데이터란?
데이터는 '정보'
1000giga 1 tera
1000tera 1peta
1000peta 1exa
1000exa 1zeta
데이터 / DBMS
=> 데이터를 저장하는 효과적인 방법 => '표' 저장
DBMS(database management system)= 모아놓은 데이터들을 관리하는 프로그램
-데이터베이스 조작하는 프로그램
여러가지 DBMS
- MYSQL, SQLITE, ORCLE, POSTGRESQL .....등
각각의 DBMS마다 사용하는 SQL이 조금씩 다름 (문법 등)
SQLD는 ORCLE(+SQL SERVER) 기반으로 출제
파이썬 강의2일차
파이썬 사칙연산 가능
파이썬 제곱, 나머지 구하기 공식 등은 구글링 활용
문자열은 ' ' 혹은 " " 표기
= 은 할당연산자
=>변수로 설정할 때 많이사용 즉, 값을 가리키고있다 / 메모리가 기억한다~
== 은 비교연산자
=> 같으면 true , 다르면 false를 나타낸다
문자열 다루기
myemail = 'abc@sparta.co'
result = myemail.split('@')[1].split('.')[0]
print(result)
=> sparta만 출력
;split함수는 둘로 쪼갬
문제) "sparta"의 앞의 3글자인 "spa"만 출력해봅시다.
text = 'sparta'
result = text[:3]
print(result)
=> spa
문제) 전화번호의 지역번호 출력하기
.split을 사용하여
phone = '02-123-1234'
result = phone.split('-')[0]
print(result)
=>02
리스트(list)
순서가 중요하게 값을 담아두는 것
딕셔너리(dictionary)
키 밸류로 값을 담아두는 것
리스트와 딕셔너리 조합
문제) smith의 science 점수를 출력해보세요
people = [
{'name':'bob','age':20,'score':{'math':90,'science':70}},
{'name':'carry','age':38,'score':{'math':40,'science':72}},
{'name':'smith','age':28,'score':{'math':80,'science':90}},
{'name':'john','age':34,'score':{'math':75,'science':100}}
]
print(people[2]['score']['science'])
SQL 세션 강의 & 과제
date_format
substr
집계함수 / 그룹화 / 서브쿼리
집계함수 - select 뒤에 사
min/max 는 날짜 형식에도 사용가능
count(행수 반환) / sum / avg
작동순서 : FROM > ON > JOIN > WHERE > GROUP BY > HAVING > SELECT > DISTINCT > ORDER BY
where : group by 전 데이터 필터링
having :group by 후 결과값을 가지고 데이터 필터
과제
1) group by 절을 사용하여, 서버별 게임캐릭터id수 (중복값 허용x)와 평균 경험치를 추출해주세요
select serverno "서버",
count(distinct game_actor_id) "게임캐릭터id수",
avg(exp) "평균경험치"
from users
group by 1
2) group by 절을 와 having 절을 사용하여, 일별 게임캐릭터id수(중복값 허용x)를 구하고, 그 값이 10개를 초과하는 경우를 추출해주세요.
select date 일별,
count(distinct game_actor_id) "게임캐릭터id수"
from users
group by 1
having count(distinct game_actor_id)>10
3) 위와 같은 문제를 having이 아닌 인라인 뷰 subquery를 사용하여, 추출해주세요.
select 일별 ,
게임캐릭터id수
from
(
select date 일별,
count(distinct game_actor_id) 게임캐릭터id수
from users
group by 1
) a
where 게임캐릭터id수 >10
Check point.
코드카타를 풀면서 본 새로운 함수
MySQL 날짜 차이 가져오기 (DATEDIFF, TIMESTAMPDIFF 함수)
DATEDIFF : 단순한 일 차이를 가져오는 것
DATEDIFF(날짜1,날짜2)
TIMESTAMPDIFF :연 분기 월,주,일,시,분,초 를 지정하여 가져
TIMESTAMPDIFF(단위,날짜1,날짜2)
회고
점점 생활에 익숙해져 집중도가 조금씩 올라가고 있는 듯?? 아닌듯 하다.. 9시부터 시작해 9시에 끝나는 9 to 9 생활.
생각보다 집에서만 있으니 체력소모도 덜 하다. but, 앉아있는 성격이 아니라서 오래 앉아있으니 허리가 아려온다.
그래서 9시 땡하자마자 퇴근하는 직딩처럼 바로 헬스장이나 축구장으로 튀어나간다 ㅠ 내몸 내가지켜야해
오늘 일어나자마자 어제 팀원들과 얘기했던 sqld 자격증 바로 신청해주고요
파이썬 강의도 맛좀 봐줍니다. 강사님이 원리만 익히고 수많은 공식은 외울 필요가 없다고해서 안심하고 듣지만서도 역시나 어렵군요..
그럼 오늘도 칼퇴?칼강 하고 볼일을 보러 가봅시다
'TIL. (Today I Learned)' 카테고리의 다른 글
Day9. 데이터분석 / 파이썬 colab / TIL. 20240425 (2) | 2024.04.25 |
---|---|
Day8. 데이터리터러시/UNION/JOIN / TIL.20240424 (0) | 2024.04.24 |
Day6. ORDER BY / CASE WHEN 문 / TIL. 20240422 (0) | 2024.04.22 |
Day5. 피벗테이블 / Rank,Sum / 날짜 / TIL.20240419 (2) | 2024.04.19 |
Day4. Subquery / Join 활용 TIL. 20240418 (1) | 2024.04.18 |