전체 글

궁금해하고 공부하고 기록하고
🤔 문제 다음은 종합병원에 속한 의사 정보를 담은 `DOCTOR` 테이블입니다. `DOCTOR` 테이블은 다음과 같으며 `DR_NAME`, `DR_ID`, `LCNS_NO`, `HIRE_YMD`, `MCDP_CD`, `TLNO`는 각각 의사이름, 의사ID, 면허번호, 고용일자, 진료과코드, 전화번호를 나타냅니다. `DOCTOR` 테이블에서 진료과가 흉부외과(`CS`)이거나 일반외과(`GS`)인 의사의 이름, 의사ID, 진료과, 고용일자를 조회하는 SQL문을 작성해주세요. 이때 결과는 고용일자를 기준으로 내림차순 정렬하고, 고용일자가 같다면 이름을 기준으로 오름차순 정렬해주세요. 예시 `DOCTOR` 테이블이 다음과 같을 때 SQL을 실행하면 다음과 같이 출력되어야 합니다. 주의사항 날짜 포맷은 예시와 동..
🤔 문제 다음은 식당 리뷰 사이트의 회원 정보를 담은 MEMBER_PROFILE 테이블입니다. MEMBER_PROFILE 테이블은 다음과 같으며 MEMBER_ID, MEMBER_NAME, TLNO, GENDER, DATE_OF_BIRTH는 회원 ID, 회원 이름, 회원 연락처, 성별, 생년월일을 의미합니다. MEMBER_PROFILE 테이블에서 생일이 3월인 여성 회원의 ID, 이름, 성별, 생년월일을 조회하는 SQL문을 작성해주세요. 이때 전화번호가 NULL인 경우는 출력대상에서 제외시켜 주시고, 결과는 회원ID를 기준으로 오름차순 정렬해주세요. 예시 `MEMBER_PROFILE' 테이블이 다음과 같을 때 SQL을 실행하면 다음과 같이 출력되어야 합니다. 주의사항 `DATE_OF_BIRTH`의 데이터 ..
※ 들어가기 전에... Pandas 1.5.3 에서 Pandas 2.0으로 넘어가는 과도기이다. 그래서 해당 강의는 두 개의 버전을 번갈아 사용할 예정! 학습목표 1. Google Colab에서 Pandas 따라하기 (레벨 0) 2. Series 3. DataFrame 기초 4. DataFrame 활용 5. DataFrame 심화 6. 문자열 제어 7. DataFrame 재구성(Reshape) 8. DataFrame 결합(Concat)과 병합(Merge) 9. 시계열(날짜, 시간) 제어 스킬은 배움에 있어서 모든 것이 아니다! 분야에 대한 통찰력은 자신의 관심과 경험으로 쌓이는 것! 대규모 데이터를 다룰 때에는 memory를 신경써줘야 한다. DataFrame : 2차원 구조 Series : 1차원 구조..
지난 과제 리뷰 과제 #2 해설 - 목표 : 사용자별로 세션 생성 시간 기준 처음 채널과 마지막 채널 알아내기 - 방법 1 : CTE를 빌딩블록으로 사용 WITH first AS( -- 모든 사용자별로 첫번째 채널 리턴 SELECT userid, ts, channel, ROW_NUMBER() OVER(PARTITION BY userid ORDER BY ts) seq FROM raw_data.user_session_channel usc JOIN raw_data.session_timestamp st ON usc.sessionid = st.sessionid ), last AS( -- 모든 사용자별로 마지막 채널 리턴 SELECT userid, ts, channel, ROW_NUMBER() OVER(PARTIT..
JOIN : 두 개 이상의 테이블들을 공통 필드(컬럼)를 중심으로 합치는데 사용된다. 이는 Star Schema로 구성된 테이블들로, 분산된 정보를 통합하는데 사용된다. JOIN의 결과는 방식에 상관없이 양쪽의 필드를 모두 가진 새로운 테이블을 만들어낸다. 조인 방식에 따라 다음 두 가지가 달라진다 어떤 레코드들이 선택되는가? 어떤 필드들이 채워지는가? JOIN의 종류 1. INNER JOIN - 양쪽 테이블에서 서로 매치되는 레코드들만 리턴한다. - 양쪽 테이블의 필드가 모두 채워진 상태로 리턴된다. - JOIN 앞에 아무것도 없으면 디폴트로 INNER JOIN이라 생각하면 된다. SELECT * FROM raw_data.Vital v JOIN raw_data.Alert a ON v.VitalID = ..
GROUP BY : 테이블의 레코드를 특정 필드(컬럼)를 기준으로 그룹핑하여 해당 그룹별로 다양한 정보를 계산 그룹핑 절차 1) 그룹핑 할 필드를 결정 `GROUP BY`로 지정해준다. 2) 그룹별로 계산할 내용을 결정 AGGREGATE 함수(집계함수)를 사용한다. ex. `COUNT`, `SUM`, `AVG`, `MIN`, `MAX`, `LISTAGG` 등 SQL 실습(with Google Colab) [문제1] 월별 총 세션 수 SELECT LEFT(ts, 7) AS mon, COUNT(1) AS session_count FROM raw_data.session_timestamp GROUP BY 1 -- GROUP BY mon, GROUP BY LEFT(ts, 7) ORDER BY 1; [문제2] 가장..
학습목표 1. AWS 콘솔을 활용한 Redshift 론치 데모 2. DDL & DML 3. Google Colab으로 SQL 실습 환경 4. SELECT AWS 콘솔을 활용한 Redshift 론치 데모 1. AWS 계정 생성 https://aws.amazon.com/ko/free/?gclid=CjwKCAjw7-SvBhB6EiwAwYdCASzdLIAIO6YeD6Y9g7mLkPAM0xTu-o0K55I5WfWwXYsJozwZ1U3LSBoCFEwQAvD_BwE&trk=bdc27120-6d06-4bae-9be1-22d07b8ec0a7&sc_channel=ps&ef_id=CjwKCAjw7-SvBhB6EiwAwYdCASzdLIAIO6YeD6Y9g7mLkPAM0xTu-o0K55I5WfWwXYsJozwZ1U3LSBoCF..
📌 학습목표1. SQL의 중요성2. 관계형 데이터베이스 (RDB)3. SQL4. 데이터 웨어하우스5. 클라우드6. AWS7. Redshift        SQL의 중요성데이터 관련 3개의 직군(데이터 엔지니어, 데이터 분석가, 데이터 과학자)에서 공통적으로 필요한 툴이다. 데이터 요약 : 큰 데이터를 프로세싱 해서 작은 데이터로 변환할 때 사용데이터 분석 : 주어진 문제를 답하기 위해서 데이터 분석을 할 때 사용 데이터 엔지니어에게 필요한 지식Python, Java, ScalaSQL데이터베이스ETL/ELT (Airflow, DBT)Spark, Hadoop 데이터 분석가에게 필요한 지식SQL비즈니스 도메인에 대한 지식통계 지식 (for A/B 테스트 분석) 데이터 과학자에게 필요한 지식머신러닝SQLPyt..
상급닌자연습생
상급닌자수련원