55,000원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결데이터 분석 SQL Fundamentals
데이터 집합레벨 이해의 중요성
강의를 들으면서 데이터 집합 레벨 개념을 처음 알게 되었고, join의 결과가 어떤 집합의 레벨을 갖게 되는지까지 이해를 하였습니다. 그런데 join의 과정에 집합 레벨을 이해하는게 어떤 식으로 도움이 되는지까지는 이해가 어렵습니다. 집합 레벨을 고려하면서 쿼리를 짜는 것이 join을 많이 하더라도 요구사항에 부합한 정확한 결과를 도출하는데 도움이 되기 때문에 집합 레벨을 이해해야하는 것이 맞을까요?
- 미해결데이터 분석 SQL Fundamentals
혹시 실무에서는 칼럼에 comment를 달아서 관리하나요?
칼럼명만 가지고 이게 어떤 의미인지 바로 파악이 어려운데, 보통 실무에서는 한글로 어떤 의미인지 comment를 달아놓나요?
- 미해결데이터 분석 SQL Fundamentals
join 실습 관련 질문 있습니다.
안녕하세요! 강의 정말 잘 듣고 있습니다!!!!본 영상에서 첫번째 예시로 기간 범위에 따른 조회(1997년 주문)를 예시로 들어주셨는데 -- 강사님 예시 SELECT a.contact_name, a.address, b.order_id, b.order_date, b.shipped_date, b.ship_address FROM customers a JOIN orders b ON a.customer_id = b.customer_id WHERE a.contact_name = 'Antonio Moreno' AND b.order_date BETWEEN to_date('19970101', 'yyyymmdd') AND to_date('19971231', 'yyyymmdd');그런데 기간 범위를 설정할 때 1년 범위 설정 쿼리가 너무 길어보여서 다른 function들을 찾아서 적용해보았습니다.-- 수정1 SELECT a.contact_name, a.address, b.order_id, b.order_date, b.shipped_date, b.ship_address FROM customers a JOIN orders b ON a.customer_id = b.customer_id WHERE a.contact_name = 'Antonio Moreno' AND date_part('year', b.order_date) = '1997';(물론 이쪽은 연도나 월 등 딱 하나만 인덱싱이 가능하니 한계는 있어보이네요.)혹은-- 수정2 SELECT a.contact_name, a.address, b.order_id, b.order_date, b.shipped_date, b.ship_address FROM customers a JOIN orders b ON a.customer_id = b.customer_id WHERE a.contact_name = 'Antonio Moreno' AND b.order_date BETWEEN '1997-01-01' AND '1997-12-31';이렇게 작성해도 결과물은 같긴 하더라고요.강사님이 들어주신 예시의 to_date()는 검색해보니 대부분 오라클에서 많이 언급되는 것 같은데,이쪽 쿼리가 더 범용적으로 사용되기에 사용하신 것인지, 아니면 다른 function도 딱히 문제는 없는 것인지 궁금합니다.강의 최고입니다!! 감사합니다.
- 미해결데이터 분석 SQL Fundamentals
문의 드립니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 선생님, 안녕하세요 :) TIL로 실습한 코드 내용을 github에 출처와 함께 업로드해도 될지요? 복붙이 아니라, 제가 실습하며 작성한 코드만 기록으로 남기고자 하는데 혹 가능할지요? 최대한 revise해서 진행하겠으나, 전반적인 흐름이 유사할 듯 하여 사전에 문의 드리고자 합니다. 답변 주시면 참고하여 진행하겠습니다! :) 더불어, AI 배우는 학생으로서 선생님이 계셔서 너무 든든합니다! :) 이번에도 많이 배워보겠습니다, 감사합니다!
- 미해결데이터 분석 SQL Fundamentals
first_value() 와 row_number() 비교에 대한 질문
안녕하세요 선생님:) 좋은 강의 감사합니다. 다름이 아니라 first_value() 대신 row_number()를 통해 값을 구할 수 있나에 대해 생각하다가 질문을 드리게 되었습니다. 예제를 보면 select empno, deptno, hiredate, sal , first_value(sal) over (partition by deptno order by hiredate) as first_hiredate_salfrom emp; 이 쿼리가 있었는데, row_number()를 사용하여 아래 처럼 쿼리를 작성하면 위에 쿼리와 동일한 값을 가질 수 있는 건가요? with temp_01as(select empno, deptno, hiredate, sal , row_number() over (partition by deptno order by hiredate) as rn_sal)select empno, deptno, hiredate, salfrom temp_01where rn_sal = 1;
- 미해결데이터 분석 SQL Fundamentals
두 날짜간의 기간 계산 sql 문의 드립니다.
안녕하세요 선생님 휴일(주말, 공휴일 등) 테이블을 별도로 가진 상태에서 두 날짜간의 기간을 계산할 때 휴일을 제외하여 계산하고 싶은데 방법을 잘 모르겠습니다 도움 부탁드립니다 ㅠㅜ (엑셀로 치면 networkdays 함수를 sql 로 구현하고 싶습니다.) <table A - 주문정보> prod_id order send period a 22.05.02 22.05.12 b 22.04.28 22.05.11 c 22.05.09 22.05.17 d 22.04.26 22.05.10 <table B - 휴일정보> date day hol_gubun wrk_gubun 22.04.24 일 휴일 0 22.04.25 월 평일 1 22.04.26 화 평일 1 22.04.27 수 평일 1 22.04.28 목 평일 1 22.04.29 금 평일 1 22.04.30 토 휴일 0 22.05.01 일 휴일 0 22.05.02 월 평일 1 22.05.03 화 평일 1 22.05.04 수 평일 1 22.05.05 목 휴일 0 22.05.06 금 평일 1 22.05.07 토 휴일 0 22.05.08 일 휴일 0 22.05.09 월 평일 1 22.05.10 화 평일 1 22.05.11 수 평일 1 22.05.12 목 평일 1 22.05.13 금 평일 1 22.05.14 토 휴일 0 22.05.15 일 휴일 0 22.05.16 월 평일 1 22.05.17 화 평일 1 22.05.18 수 평일 1 22.05.19 목 평일 1 22.05.20 금 평일 1 22.05.21 토 휴일 0
- 미해결데이터 분석 SQL Fundamentals
case when 질문있습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. select * , case when sal_rn_desc = 1 then 'top' when sal_rn_asc = 1 then 'bottom' else 'middle' end as gubun 위 구문에서 case when 조건 when 조건 else '' end 로 한번에 case when 구절 안에 조건을 여러개 넣은걸까요? 미리 감사드립니다.
- 미해결데이터 분석 SQL Fundamentals
DB 연결 설정 오류..
안녕하세요? 데이터베이스 설정 -> Test Connection 시 위와 같은 Err가 발생합니다. 이에 문의드립니다. 그리고, 현재 MariaDB 는 실행 되는데 HeidiSQL로도 수업 진행이 가능한지 문의드립니다.
- 미해결데이터 분석 SQL Fundamentals
max or min(문자열)
안녕하세요, 강의 중 질문이 있습니다. 혹시 max(job)과 같이 집계함수(문자열)의 경우에 어떤 뜻을 내포하고 있는 경우가 있나요? 필요한 경우가 어떤 때인지 궁금합니다.(group by 때문에 해당 컬럼 이외에는 집계함수를 써야한다는 말은 이해했습니다)
- 미해결데이터 분석 SQL Fundamentals
DB연결방식 관련 문의
안녕하세요 선생님~! DB연결 관련 질문이 있습니다~ 첫 강의 듣는데, DB연결을 백업파일로 DB 복원으로 하는 것 같은데, 현재 제가 회사 노트북에서 실습을 하고 있어서요 ㅠㅠ 회사 DB에 백업파일 복원 방식으로 DB를 불러오면 혹시나 문제가 생길까봐 혹시 복원말고 다른 방식으로 DB 추가할 수 있는 방법은 없을지 문의드립니다! 아니면 기존 DB에 복원을 하여도 문제가 생기지 않을런지요. 확인부탁드립니다.
- 미해결데이터 분석 SQL Fundamentals
안녕하십니까! 질문있습니다
join hr.emp_dept_hist b on a.empno =b.empno; 을 M:N non-equi 조인을 하셨는데, 두 개의 테이블에서 가능한 모든 경우의 수로 행이 전개가 된 것인가요? 이해가 잘 되지 않아서 문의 드립니다.
- 미해결데이터 분석 SQL Fundamentals
윈도우 10 설치 에러 (icalcs) 해결 방법
https://ch-phillip.tistory.com/16 https://heeonii.tistory.com/8 설치방법 참고하세요~ 윈도우 권한 때문인 것 같습니다. 실행시 관리자 권한으로 실행 및 설치 폴더에 권한을 다 설정하면 잘 되는 것 같아요~
- 미해결데이터 분석 SQL Fundamentals
이동평균 Analytic SQL 실습_ 3일 이동 평균 매출 예제 쿼리 질문
안녕하세요. 권철민 선생님SQL Fundamentals 강의 내 이동평균 Analytic SQL 실습 편의 3일 이동 평균 매출 예제 쿼리에 대해 질문이 있습니다. order_date를 date_trunc 함수 활용하여 group by 하셨는데 select date_trunc('day',b.order_date)::date as order_dy , sum(a.amount) from order_items as a inner join orders as b on a.order_id = b.order_id group by date_trunc('day',b.order_date)::date order by 1 아래 쿼리처럼 곧바로 order_date로 group by 하는 것과 어떤 차이점이 있을까요?표면적으로 보여지는 결과값은 같아 보여서 왜 date_trunc 함수를 사용했는지가 궁금합니다. select order_date , sum(a.amount) from order_items as a inner join orders as b on a.order_id = b.order_id group by 1 order by 1
- 미해결데이터 분석 SQL Fundamentals
강사님 다중 조인 질문 드립니다!
-- 부서명 SALES와 RESEARCH의 소속 직원들의 부서명, 직원번호, 직원명, JOB 그리고 과거 급여 정보 추출 3번 실습처럼 다중 조인이 사용될 때는 "위에 관계도 상관없이 가장 아래 부분에 M 을 기준으로 모두 조회 된다" 라고 이해했는데 혹시 잘 이해한것이 맞을까요?
- 미해결데이터 분석 SQL Fundamentals
안녕하세요 강의를 마무리했습니다!
안녕하세요 선생님. 덕분에 좋은 강의를 마무리 할 수 있게 되었습니다. 제가 궁금했던 부분을 많이 알려주셔서 감사합니다. 강의를 1~2번 더 복습하도록 할게요. 다름이 아니라 궁금한 점이 있는데 여기에 여쭤볼 수 있을까요 하여 질문을 남겨요. 제가 데이터 분석 직무로 옮기기 위하여 sql을 공부하기 시작했는데,데이터 분석 포트폴리오를 만드려고 kaggle, dacon 등의 사이트를 들어갔는데 대부분 python을 다루고 있더라고요. 그러면 sql을 공부한 이후에 어느 정도 정리가 되면, python으로 넘어가야 할 것 같은데.. 언제 쯤에 공부를 하는 것이 좋을까요? 즉, 제가 6개월 안에 취준을 하려고 한다 했을 때, 취업 전에 python도 같이 공부를 하는 것이 좋을까요? 아니면 한 직장에 인턴이든 신입으로 들어간 이후에 python공부를 시작하는게 좋을까요? 긴 질문이네요.. 간단하게라도 답변주시면 감사드릴게요:)
- 미해결데이터 분석 SQL Fundamentals
Group by rollup 실습 마지막 예제 쿼리 질문
총매출/연매출/월매출을 구분하기 위해 case when 구문을 사용하셨는데 연/월 매출을 구할 때 수업 내 쿼리처럼 else를 다중으로 적는 것이 아닌 and로 else를 축약해도 쿼리상 문제가 없는지 궁금합니다.with cte1 as (select to_char(order_date,'yyyy') as year , to_char(order_date, 'mm') as month , to_char(order_date, 'dd') as day ,sum(b.amount) as sum_amount from orders as a join order_items as b on a.order_id = b.order_id group by rollup (1,2,3) order by 1,2,3 ) select case when year is null then '총 매출' else year end as year , case when year is not null and month is null then '년 매출' else month end as month , case when year is not null and month is not null and day is null then '월 매출' else day end as day ,sum_amount from cte1
- 미해결데이터 분석 SQL Fundamentals
rows between unbounded preceding and current row 관련 질문
좋은 강의 감사해요! 이번 강의를 들으면서 의문점이 하나 생겼습니다! 그렇다면 window를 함수를 쓸 때, default가 range로 되어있음으로, 항상 rows로 바꿔서 사용하는 것을 추천하시는 건가요??
- 미해결데이터 분석 SQL Fundamentals
max(b.category_id) 관련 질문이 있어요
안녕하세요 오늘도 좋은 강의 감사합니다. 다름이 아니라 첫번째 with temp_01 as 쿼리를 시작하시는 부분에 질문이 있어요. 처음에 group by를 하실 때, product_id만 하시고 categroy_id는 크게 할 필요가 없으시다는 말씀을 하셨던 부분 이해를 완료했습니다. 그런데 선생님의 강의를 듣기 전에, 제가 문제를 먼저 풀었을 때 저는 group by에 category_id도 같이 추가를 하여 문제를 풀었습니다. 확인해보니 답은 동일하게 나왔더라고요. 그럼 제가 했던 방식으로 하여도 전혀 문제가 없는 것일까요? 혹시 몰라 제가 짰던 쿼리를 밑에 남겨놓겠습니다! (일부 알리아스 이름은 선생님께서 하신 부분과 비슷하게 맞춰놓았습니다) with temp_01 as ( select p.category_id , p.product_id , sum(oi.amount) sum_by_product -- 상품별 총합 from nw.order_items oi join nw.products p on oi.product_id = p.product_id group by p.category_id, p.product_id ), temp_02 as ( select category_id , product_id , sum_by_product , sum(sum_by_product) over (partition by category_id) sum_by_category -- category별 총합 , row_number() over (partition by category_id order by sum_by_product desc) ranking_category -- 카테고리별 상품 순위 from temp_01 ) select * from temp_02 where sum_by_product >= 0.05*sum_by_category and ranking_category <= 3 order by category_id;
- 미해결데이터 분석 SQL Fundamentals
agg analytic sql 실습 질문있습니다./
안녕하세요 선생님. 'product_id 총 매출액을 구하고, 전체 매출 대비 개별 상품의 총 매출액 비율을 소수점 2자리로 구한 뒤 매출액 비율 내림차순으로 정렬' 하는 문제에서 analytic sql로 해결해보고 싶어서 아래처럼 작성하니 같은 product_id 가 중복되어 조회되는데 temp 테이블을 만들어서 하는거랑 무슨 차이가 있는지 잘 모르겠습니다... (틀린거) select product_id, sum(amount) over (partition by product_id) as sum_by_prod, sum(amount) over () as total_sum, round(sum(amount) over (partition by product_id) / sum(amount) over (), 2) as sum_ratiofrom nw.order_itemsorder by sum_ratio desc;
- 미해결데이터 분석 SQL Fundamentals
floor(sal/1000)*1000 관련 질문이 있어요
안녕하세요 선생님. 먼저 floor(sal/1000)*1000 이렇게 group by를 하는 것은 엄청난 팁인것 같습니다! 그러면 혹시 이렇게 어떤 컬럼으로 group by가 되는 것이 아니라, 위에 경우처럼 자체적으로 group by를 할 수 있는 다른 '공식' 등이 있을까요? 제가 질문하고도 뭔가 굉장히 애매하다고 느끼지만, 위와 같은 경우는 그 전에 공부했을 때는 배운적이 없던 경우여서, 다른 예시들도 있을까하여 질문을 드려요! 감사합니다:)