55,000원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 해결됨데이터 분석 SQL Fundamentals
rows에서 current row의 기준은 어디인가요?
rows range에서 current row가 쓰이던데 current row가 어느 셀을 지칭하는걸까요?
- 해결됨데이터 분석 SQL Fundamentals
Group by를 이용한 월별 입사동기를 구할 때 좀 더 깔끔한 방법 질문
안녕하세요.마지막에 group by로 묶어서 입사동기로 나올 때, 뒤에 일자 + 00:00:00 까지 나오는 게 보기가 안 좋아서요. 년-월만 나오게 할 수 있을까요? 가령,select date_part('year',hire_month)||'-'||date_part('month', hire_month), countsfrom(select date_trunc('month', hiredate) as hire_month, count(*) as countsfrom hr.emp_testgroup by date_trunc('month', hiredate)); 로 하면 나오긴 하는데 이건 서브쿼리를 이용한 방법이라 좀 더 간결하게 표현하고 싶습니다.
- 해결됨데이터 분석 SQL Fundamentals
::timestamp ::text 관련 질문이 있습니다.
to_date('2022-01-01', 'yyyy-mm-dd')::timestamp;여기서 ::timestamp를 통해 타임스탬프 형태로 바꿔주는데to_timestmap('2022-01-01', 'yyyy-mm-dd') 로 바로 해 주는 것과 무슨 차이가 있나요?
- 미해결데이터 분석 SQL Fundamentals
질문드립니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 강사님.질문이 좀 있습니다.a,b,c,d table 과 id 컬럼이 있다고 가정1) 여기서 [1.1] 쿼리는 실행 계획으로 치면 a,b,c를 이너조인해서 만든 데이터셋으로 d와 아우터조인해서 결과 도출.이렇게 이해하고 있습니다.그런데, 여기서 궁금한것이 LEFT OUTER JOIN은 서술 왼쪽 테이블이 드라이빙 고정으로 알고 있습니다.그래서, [1.2] 쿼리는 실행 계획으로 치면 a,b를 이너조인해서 만든 데이터셋으로 d와 아우터조인해서 데이터 셋을 새로만듬.그리고 , c와 이너조인 진행 이렇게 이해하면 될까요?2) 1.1과 1.2처럼 아우터조인의 서술 위치에 따라서 결과값에 대한 데이터가 달라질수 있나요?결국 a.id와 조인하기 때문에 해당 기준으로 데이터를 뽑아서어디에 서술하던지 데이터는 달라질수 없는거같은데 제가 이해한게 맞는지 질문드립니다.3) 2번을 질문드린 이유중 하나인데요.아우터 조인을 쓰면 테이블의 드라이빙 순서가 고정되버리니까 서술한 위치에 따라서 실행계획이 바뀔테고 그러면 데이터가 변경될수도 있는 사례가 있을까요?실행계획은 아무리 바뀌어도 데이터의 영향을 주는건 없는걸로 알지만 , 자꾸 뭔가 헷갈려서 질문드립니다.4) a.id = b.id on b.id =c.id on c.id =d.id 이런식으로 조건을 주면이너 조인은 상관 없겠지만 아우터 조인을 진행할 때는 데이터가 달라질거 같은데 보통은 아우터 조인 쿼리를 작성할 때 조인 조건을 어떻게 줘야하나요?제가 적은 예시처럼 쿼리를 짜나요??질문이 두서 없고 너무 많아서 죄송합니다..강사님 강의를 통해 확실하게 잡고 가지 않으면 추후에 또 다시 공부를 해야할 거 같아 질문드립니다.[1.1]select * from a INNER JOIN b ON a.id = b.idINNER JOIN c ON a.id = c.idLEFT OUTER JOIN d ON a.id = d.id;[1.2]select * from a INNER JOIN b ON a.id = b.idLEFT OUTER JOIN d ON a.id = d.idINNER JOIN c ON a.id = c.id;
- 미해결데이터 분석 SQL Fundamentals
질문있씁니다!!
제가 현장에서 Oracle 과 Tibero 를 돌아가면서 쓰고있는데 본강의에 듣기에 적합할까요?
- 미해결데이터 분석 SQL Fundamentals
스칼라 서브쿼리 실습 - 01: 7분 56초 질문
해당 쿼리에서 왜 같은 행이 3배로 늘어나게 되는 것인지 궁금합니다. 셀프조인을 하면 원래 3배로 늘어나는 걸까요?감사합니다.
- 해결됨데이터 분석 SQL Fundamentals
[서브 쿼리 실습 02 - 5:57] 상관 서브쿼리 관련 질문
안녕하세요, 강의 너무 잘 듣고 있습니다.서브 쿼리 실습 -02 강의 5:57에 나오는 부분에서 하나 궁금한 점이 있어서 문의드립니다.select * from hr.emp_hist_01 a where todate = (select max(todate) from hr.emp_hist_01 x where x.empno = a.empno);위 쿼리에서 서브쿼리가 9999-12-31로 단일 값이 나올 것으로 생각했는데, 아래 테이블 12행에 보면 1983-12-24 데이터도 있어서요.서브쿼리에 group by empno가 없는데 어떻게 각 empno별 max(todate) 값을 가져오는지 궁금합니다.group by empno가 없으면 그냥 x.empno = a.empno로 조인을 한 뒤 전체 데이터에서 max(todate)값을 가져오는 걸로 이해했는데 아닌 걸까요? 감사합니다.
- 해결됨데이터 분석 SQL Fundamentals
select문 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하세요.아주 기초적인 질문이 있습니다.-- 고객명 Antonio Moreno이 1997년에 주문한 주문 정보를 주문 아이디, 주문일자, 배송일자, 배송 주소를 고객 주소와 함께 구할것.SELECT contact_name, address, order_id, order_date, shipped_date, ship_addressFROM nw.customers aJOIN nw.orders b ON a.customer_id = b.customer_idWHERE a.contact_name = 'Antonio Moreno'AND b.order_date BETWEEN to_date('19970101', 'yyyymmdd') AND to_date('19971231', 'yyyymmdd'); 위 코드처럼 select문에서 alias를 빼고 작성해도 문제가 없이 나오는데 큰 의미는 없는건가요?어떤 테이블에서 가져온 컬럼값인지 명확히 해주기위해서 필요한 것인가요? alias를 반드시 붙혀야만 실행되는 코드들도 있던데, 차이점이 궁금합니다. SQL을 배운 지 얼마되지 않아 이렇게 질문을 남깁니다.
- 해결됨데이터 분석 SQL Fundamentals
with절 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하세요!조인 실습 -2를 수강중에 with절이 나와서 이해를 잘 못하고 있습니다. 본 강의를 수강 전에 기초 sql강의를 통해 기초는 닦았지만 with문은 배우지 않아 강의를 따라가기 힘이 듭니다. 구글링을 하여 찾아보아도 이해가 잘 가지 않습니다 ㅠㅠ 혹시 추가적인 설명을 부탁드려도 될까요?
- 해결됨데이터 분석 SQL Fundamentals
MSSQL
안녕하세요,MSSQL 를 사용하는 경우도만들어주신 두 SQL 강의가 도움이 될까요?
- 미해결데이터 분석 SQL Fundamentals
Non Equi 조인과 Cross 조인 실습 강의 내용에 대해 질문드립니다
선생님 안녕하세요강의 잘 보고 있습니다강의 중간(10:20~25초 사이)내용에 대해 확인하고 싶은 부분이 있습니다수업내용중 아래의 sql로 질의할때-- 직원 급여의 이력정보를 나타내며, 해당 급여를 가졌던 시점에서의 부서번호도 함께 가져올것. select * from hr.emp_salary_hist a join hr.emp_dept_hist b on a.empno = b.empno; record 4번 데이터의 deptno 값 30이 출력된다고 하셨습니다만 a.fromdate between b.fromdate and b.todate위의 between 조건으로 조인해서 sql로 질의했을 때에출력되는 결과물은record 3번 데이터 deptno 값 20이 출력되는데, record 3번의 a.fromdate (1982-01-01)값만이조인된 b.fromdate(1981-04-01) and b.todate(9999-12-31)의 범위에 해당되어 출력되는 인식인데 (제가 잘못 이해했을 수도 있습니다만... )어떻게 deptno값 30이 출력되는지가 궁금합니다
- 미해결데이터 분석 SQL Fundamentals
join 결과 테이블 집합 레벨
안녕하세요 [ Group by 실습 01 ] 강의를 듣다가 실습 문제에서 결과 값이 이해가 되지 않아 질문드립니다.-- 부서명 SALES와 RESEARCH 소속 직원별로 과거부터 현재까지 모든 급여를 취합한 평균 급여(with 절로 풀기)수업 듣기 전, 위의 문제에서 with 절 안의 테이블을 만들려고 아래와 같이 적었습니다. (같은 테이블 결과값이 나오는지 확인만 하려고 select 뒤에 구체적인 컬럼을 적지 않고 * 를 적었습니다.) [수업 전 작성 답안 & 결과 테이블]select *from hr.emp ajoin hr.dept b on a.deptno = b.deptnojoin hr.emp_salary_hist c on a.empno = c.empnowhere b.dname in('SAELS','RESEARCH');--> dname 에 research 만 나타납니다. [강의 예시 답안]select *from hr.dept ajoin hr.emp b on a.deptno = b.deptnojoin hr.emp_salary_hist c on b.empno = c.empnowhere a.dname in('SALES','RESEARCH');--> 나와야 하는 결과값 잘 나옴. 위의 제가 적은 답안에서 어떤점이 잘못 되었는지 도무지 보이지않아서 질문드립니다.join 만 적을시 inner join 이 적용되므로, 집합 레벨은 모든 테이블의 join 될 수 있는 모든 컬럼값 끼리 붙을 텐데, 그러면 어떤 테이블을 먼저 적던지 순서에 상관 없이 같은 결과 값이 나와야 하는 것 아닌가요?inner join 할 시에 염두해 두어야 하는 순서나 유의점이 있을까요? 답변 부탁드립니다. 감사합니다.
- 미해결데이터 분석 SQL Fundamentals
집계함수를 사용할 때 반드시 group by 와 함께 써야하나요?
안녕하세요 선생님 :)집계(Aggregate) Analytic SQL 실습 - 03 에서 Q: product_id 총 매출액을 구하고, 전체 매출 대비 개별 상품의 총 매출액 비율을 소수점2자리로 구한 뒤 매출액 비율 내림차순으로 정렬 문제를 풀던 과정 중에 제가 select *from (select order_id, line_prod_seq, product_id, amount, sum(amount) as product_total_sum, round(amount/ sum(amount), 2) as total_sum_amount_ratiofrom nw.order_items)aorder by total_sum_amnt_ratio;이렇게 일단 쿼리를 적어서 실행시켜보았는데요.오류가 발생했는데 그 내용이 "order_items.order_id" 는 반드시 GROUP BY 절내에 있어야 하던지 또는 집계 함수 내에서 사용되어져야 한다.라고 하는데 왜 group by를 사용해야하는지 잘 모르겠어서 여쭤봅니다. select sum(amount) as product_total_sumfrom nw.order_items;와 같이 간단한 일반적 집계는 group by 없이 가능한데제 쿼리는 왜 실행이 안되는 걸까요?
- 미해결데이터 분석 SQL Fundamentals
postgres DB 를 다시 설치해야할 것 같은데, 어떻게 진행해야 할까요?
안녕하세요. 실습용 스키마 설치글에 댓글로 postgres DB 다시 설치해야 될 것 같다고 답글을 드렸는데, 못보시는 것 같아 새 글로 작성드립니다. postgres DB 를 다시 설치해야할 것 같습니다. 어떻게 진행해야 할까요?
- 미해결데이터 분석 SQL Fundamentals
제발 설치 좀 도와주세요...
이전에도 설치가 안되서 고생하다가 지인이 관리자 계정으로 접근해서 설치하는 방법을 알려주셔서 겨우 설치를 완료했었습니다.비전문가이다보니까 기초 강의만 듣고는 강의가 이해가 안되어서 추가로 다른 강의를 더 듣고 다시 강의를 들으러 왔는데, 오랜만에 접속하니 오류창이 뜨면서 안열려서 기존 설치 내역을 모두 지우고 재설치를 시도하고있습니다.그런데 자꾸 기존 데이터와 호환이 안된다는 식의 알림창이 뜨네요... 너무 듣고싶어요.... 제발 설치 좀 도와주세요 ㅠㅠ
- 미해결데이터 분석 SQL Fundamentals
실습용 스키마 다운로드 및 설치
안녕하세요.실습용 스키마 다운로드 및 설치를 하려고 하는데, 스키마가 설치가 되지 않아 문의드립니다.운영체제는 mac os 를 사용하고 있으며 기본 세팅이 원래 영어로 되어 있습니다. 이전에 이미 DBeaver 가 설치 되어 있는 상태 였고 , 이전에 SQL 를 공부하고 있던 터라 다른스키마 데이터가 다운로드 되어 있는 상태였습니다. 아래 이미지는 [ postgres2 ] 가 기존에 있었던 저장되어 있던 파일들에 대한 스크린 샷 입니다. 기존의 [ postgres2] 를 [ 복사 - 붙여넣기 ] 하여 새로운 [ postgres2 1 ] 를 만들었고, [ postgres2 1 ]영상을 따라서 dump_postgres_analytics_funda.backup 파일을 다운 받고 다시 restore 로 설치를 했는데, 여전히 기존에 있던 스키마(기존에 있던 테이블들)만 나타납니다. [ 실습용 스키마 설치 이슈 시 적용 하세요 ] 영상을 따라 git hub 에서 파일을 다운받고 create schema nw; 를 실행했는데 오류가 나타났습니다. 구글에 오류를 검색해보니 (*참고 URL: https://velog.io/@shj5508/PostgreSQL-%ED%85%8C%EC%9D%B4%EB%B8%94-%EA%B6%8C%ED%95%9C-%EA%B4%80%EB%A6%AC%ED%95%98%EA%B8%B0)( GRANT USAGE, SELECT ON ALL SEQUENCES IN SCHEMA public TO username; ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT USAGE, SELECT ON SEQUENCES TO username;) 라는 글이 있어 실행해 보았습니다. 아래 스크린샷이 실행 결과 입니다.(제 user name 은 grace 입니다.)그리고 다시 create schema nw; 를 실행하니 아래의 스크린 샷과 같은 오류가 나타납니다. 다른 방식으로 실습용 스키마를 설치하거나 저장할 수 없을까요? 도와주세요 ㅜㅜ
- 미해결데이터 분석 SQL Fundamentals
순위 함수 cume_dist, percent_rank 질문
실습에서 상품 매출 순위 상위 10%의 상품 및 매출액 구할때cume_dist함수 대신 percent_rank 사용해도 되나요?둘이 비슷해서 정확히 어떤 상황에서 두 함수를 구분하여 사용해야하는 지 감이 안 오네요..ㅠㅠ
- 미해결데이터 분석 SQL Fundamentals
강의 9:32분에 orders 레벨의 집합이라는 용어에 대해서 질문있습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 강사님 섹션 17강 / 1시간 21분조인(Join) - 조인 기반 메커니즘에서 join 실습 3의 9:32부분에서 질문있습니다. select c.*,o.order_id ,o.order_date ,o.ship_name from nw.customers cjoin nw.orders o on c.customer_id = o.customer_idjoin nw.employees e on e.employee_id = o.employee_idjoin nw.shippers s on o.ship_via = s.shipper_idwhere c.city = 'Berlin';이러한 sql문에서 nw.orders가 나머지 테이블이랑 비교했을때 unique한 부분이므로 1:m관계에서 1의역할 즉 uniq한 index인건 알겠습니다.강사님 말씀중에 order level의 집합이라는 말씀이 정확히 무슨 의미인지 궁금합니다.일단은 1:M의 관계에서는 테이블이 M을 기준으로 배열되는걸로 알고있는데 여기서 order 레벨의 집합이라는건 어떤 의미로 해석이 되는지 궁금합니다.
- 미해결데이터 분석 SQL Fundamentals
직원 급여이력에서 가장 최근의 급여이력 쿼리
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.상관 서브 쿼리와 단순 비교 연산자 강의에서직원 급여 이력에서 가장 최근 급여 이력을 호출해라 문제를 봤습니다. 강사님께서는 설명해주실 때 select * from hr.emp_salary_hist a where todate = (select max(todate) from hr.emp_salary_hist x where x.empno= a.empno)쿼리로 설명해주셨습니다. 그런데, 그냥 select max(todate) from emp_salary_hist;로 최근 날짜 직원 급여 이력을 뽑으면 안되는걸까요?? 왜 서브쿼리로 셀프 조인을 하는 건지 궁금합니다.
- 미해결데이터 분석 SQL Fundamentals
조인 실습 - 02 to_date
안녕하세요.1983년 이전 데이터를 무시할 때year(c.fromdate) >= 1983 을 쓰면 에러가 나는데 왜 그러는걸까요..? 꼭 to_date를 써야하는 이유가 있나요?