묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨데이터 분석 SQL Fundamentals
강사님 Group By 실습 - 01 질문 있습니다
with : https://www.inflearn.com/questions/542285 강사님께서 with 절을 사용하시는 이유는 수강생이 SQL 진행 순서를 보여주기 위해서 사용하신다고 하셨는데강사님께서는 실무에서 with을 주로 어떤 용도로 사용하시는지 궁금합니다 그리고select a.dname , round(avg(c.sal),0) as "부서별 평균 급여" from dept a join emp b on a.deptno = b.deptno and a.dname in ('SALES','RESEARCH') left join emp_salary_hist c on b.empno = c.empno group by a.dname ;-- 강사님께서 작성하신 코드 select a.deptno, max(a.dname) as dname, avg(c.sal) as avg_sal, count(*) as cnt from hr.dept a join hr.emp b on a.deptno = b.deptno join hr.emp_salary_hist c on b.empno = c.empno where a.dname in('SALES', 'RESEARCH') group by a.deptno order by 1;저는 where에 조건을 넣지 않고 and에 조건을 넣었습니다.그이유는 dname에 인덱스가 없기때문에 where에 조건을 추가하면테이블을 조인한 후에 필터링을 하고 Group by를 진행하게 되는 것보다join on and 에 조건을 넣으면 조건에 만족하는 데이터만 가지고 조인을 하기때문에조금이라도 조인 성능이 좋아지지 않을까 생각했습니다.아니면 join 조건도 인덱스가 없으면 where 절과 똑같이 조건 스캔을 먼저 하냐 뒤에 하냐 차이일 뿐인가요 ?
-
해결됨데이터 분석 SQL Fundamentals
강사님 with 절을 사용하시는 이유가 궁금합니다.
강사님께서 with절을 꾸준히 보여주시는 이유가 있을거라 생각해서찾아보니 장점도 있지만 단점도 있더라구요with를 사용하면 임시테이블을 만들기 때문에장점은 재귀 사용이 가능하고, 반복 사용이 가능하다.단점은 불필요한 코드가 들어가서 가독성이 나빠질수 있고임시 테이블을 만들기 때문에 성능에 영향을 줄수있다고 적혀있더라구요 강사님께서는 with를 꾸준히 보여주시는 이유가 궁금합니다.select a.dname , round(avg(c.sal),0) as "부서별 평균 급여" from dept a join emp b on a.deptno = b.deptno and a.dname in ('SALES','RESEARCH') left join emp_salary_hist c on b.empno = c.empno group by a.dname ;저는 and에 부서명 조건을 추가했습니다.그 이유는 dept.dname에 인덱스가 없고where에 dname을 넣으면 조인후에 필터가 되기때문에 join 조건에 추가하면 조인할때 데이터를 조금 더 줄인 상태에서 실행한다고 이해를 했습니다.제가 잘못 이해를 하고 있는 걸까요?조인 할때 and 조건도 마찬가지로 인덱스가 없다면 큰 상관이 없는건가요 ?
-
미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL 문제풀이
LeetCode 626. Exchange Seats 리트코드 제출 오류
현재 LeetCode 626. Exchange Seats에 답안을 제출하면 틀린 것으로 나오고 있습니다.제가 한 풀이랑 강의 풀이 모두 제출해도 wrong으로 나오는 오류가 있네요. 다음에 수업 들으시는 분들이 당황하시지 않도록 따로 공지를 해주셔야 할 것 같습니다.
-
해결됨데이터 분석 SQL Fundamentals
Non Equi 조인과 Cross 조인 실습 질문있습니다.
select * from emp_salary_hist a join emp_dept_hist b on a.empno = b.empno and a.fromdate between b.fromdate and b.todate ; select * from emp_salary_hist a join emp_dept_hist b on a.empno = b.empno where a.fromdate between b.fromdate and b.todate ; 12:29에서 where 보다 and로 연산 했을때join의 양을 확 줄여줘서 where 절로 했을때보다속도가 빠르다고 말씀해주셨습니다. 이해가 안되는 부분이 있습니다.where에서 조건을 걸어 필터링된 결과에서 join을 할텐데 on ~ and 로 하는게 더 빠른게 연산되는 이유가 궁금합니다. where에서 인덱스가 있을경우 해당 값을 풀스캔하지 않고 index에서 걸러진 데이터만 가지고 join을 실행하는걸로 이해하고 있습니다.지금 where a.fromdate와 b.fromdate는 인덱스가 있고 b.todate는 인덱스가 없는데a.fromdate 와 b.fromdate를 비교할때는 인덱스를 사용하고a.fromdate 와 b.todate를 비교할때에는 풀 스캔이 되는건가요?만약에 반대로 a.fromdate는 인덱스가 없고b.fromdate만 인덱스가 있다면 이것도 풀스캔이 되는 건가요?
-
해결됨데이터 분석 SQL Fundamentals
조인 실습-01 추가 질문이 있습니다.
강사님 좋은 강의 감사합니다 ! (__)다름이 아니라 답변을 보는 와중에제가 이해한 내용이 강사님께서 말씀하신 의도가 맞는지 궁금해서 입니다.https://www.inflearn.com/questions/594471/%EA%B0%95%EC%82%AC%EB%8B%98-%EB%8B%A4%EC%A4%91-%EC%A1%B0%EC%9D%B8-%EC%A7%88%EB%AC%B8-%EB%93%9C%EB%A6%BD%EB%8B%88%EB%8B%A4마지막 줄에 작성해주신여러개의 테이블로 조인할 경우에는 조인key에 따라 조인시 만들어 지는 집합의 레벨을 순차적으로 생각해 줘야 합니다. 이 뜻이다중으로 테이블을 조인을 할때emp 1 join emp_salary_hist M => emp_salary_hist 레벨의 조인 결과-> emp_salary_hist M : dept 1 => emp_salary_hist 레벨의 조인 결과이렇게 1 : M -> M : 1 - > M 이렇게 조인을 하는게 아니라1: M -> 1 :M -> M 으로 조인을 하라는 말씀이신건가요 ? 추가 질문으로 M 집합의 크기가 큰게 뒤로 가는게 더 좋은 SQL이라고 할수있을까요?그리고 이렇게 코드를 작성해야하는 이유도 궁금합니다.
-
미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL 문제풀이
섹션4에 3번 문제풀이 질문
마지막 문제 리트코드 626문제 풀이를 할 때SELECT CASE WHEN MOD(id, 2) = 1 AND id = COUNT(*) OVER() THEN id WHEN MOD(id, 2) = 1 AND id != COUNT(*) OVER() THEN id+1 ELSE id-1 END id , studentFROM seatORDER BY id이렇게 프롬절에 서브쿼리를 안 만들고,셀렉트절 CASE WHEN THEN에 COUNT윈도우함수를 사용하면 왜 답이 안 나오는지 궁금합니다.
-
미해결데이터 분석 SQL Fundamentals
조인실습03.질문
강사님! 안녕하세요. 수강하다가 질문이 생겨서 질문드립니다! 섹션1. 조인실습03에 다른건 다 이해가 되는데 join nw.shippers d on b.ship_via = d.shipper_id 여기서 shippers table과 orders 테이블이 shipper id = ship via로 조인시키는 부분이 이해가 안 됩니다ㅜㅜ 왜 두 컬럼으로 조인을 시켜 주는 것일까요??? shipper id가 shipper table에 고유칼럼인건 이해했습니다!
-
해결됨SQL 개발자 (SQLD) 자격증 따기 Part.2
섹션 1 , SQL_기본2 - 기출문제 풀이 8번 문제 정답 오타
섹션 1 , SQL_기본2 1강에서 다운로드 , 기출문제 풀이 강의에서 설명하는 "확인 문제(SQLD-PART3-SQL기본).hwp" 8번 문제 정답 오타가 있네요TABEL -> TABLE
-
미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL 문제풀이
SQL Project Planning 풀이 관련 문의
SELECT start_dateFROM projectsWHERE start_date NOT IN(end_date)로 작성하면 엔드데이트가 제외 안 되고SELECT start_dateFROM projectsWHERE start_date NOT IN(SELECT end_date FROM projects)서브쿼리로 작성해야지만 엔드데이트가 제외되는지 궁금합니다.
-
미해결다양한 사례로 익히는 SQL 데이터 분석
사용자별 월별 세션 접속 횟수의 구간별 분포 집계 SQL관련 질문
안녕하세요 강사님사용자별 월별 세션 접속 횟수의 구간별 분포 집계 SQL 구하고 시각화 하기 - 02 강의 부분에서 질문을 드리려고 하는데요.강사님께서 monthly_user_cnt를 case when으로 범위를 자의적으로 정해서 구분을 하셨는데, 만약 파이썬을 활용하면 히스토그램을 본다던지, value_counts() 등등으로 구분 시도를 할 수 있을 것 같은데, 단지 sql로만 활용을 한다면, 이러한 구분을 어떤 방법으로 하는게 좋을지 알 수 있을까요?예를 들어 강의에서는 1번, 2-3번, 4-8번 이렇게 구분을 하신 이유와 방법에 대해서 알고 싶습니다. 부가적으로 질문을 드리고 싶은게, 보통 with문을 만드실 때 group by 까지는 with 문 안에서 진행을 하시고, order by 같은 경우에는 with 밖에서 쓰시던데, with문 안에서 order by 를 안하는 이유에 대해서 있을까요?
-
미해결[개념반]배워서 바로 쓰는 SQL 쿼리
리밋 입력 시 에러
안녕하세요 현재 수강중인 학생입니다.연습문제중에 limit만 입력해서 런 에스큐엘하면 Erro in SQL:Syntax error in From clause. 라는 에러가 계속 발생되서 한번도 리밋 조건을확인해볼수가없는데 제가 무엇을 잘못하고있는것인지알 수 있을까요? 감사합니다. 아래는 제가 입력한 조건입니다. SELECT * FROM Customers limit 5 ;
-
해결됨[백문이불여일타] 데이터 분석을 위한 고급 SQL 문제풀이
섹션 1번 4번문제 풀이
GROUP BY를 쓰기 위해서는SELECT절에 있어야 사용할 수 있는걸로 아는데섹션1의 4번문제 Occupations풀이를 보면SELECT절에서 rn을 지워도 런코드가 되는 이유가 궁금합니다.
-
미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL 문제풀이
섹션1 2번 문제풀이 강의
섹션 1의 2번 문제인Contest Leaderboard를 풀이할 때 1분 28초에 선생님께서 드레그하여 한 번에 띄어쓰기를 합니다.이 때 사용하는 단축키가 뭔지 궁금합니다.
-
미해결[백문이불여일타] 데이터 분석을 위한 SQL 실전편 (무료 미니 코스)
섹션2_자료
세션2 [프로젝트 요약 & 회고] 강의에서 프로젝트 회고양식 링크가 유효하지 않습니다. 해당 내용에 대해 확인을 할 수 있는 방법이 있을까요?
-
미해결[개념반]배워서 바로 쓰는 SQL 쿼리
쿼리 작성시 작은 따옴표와 큰 따옴표
안녕하세요 선생님🙇♀️쿼리문을 작성하다가 아래와 같이 작은 따옴표와 큰따옴표 둘 다 적용해 보았는데, 결과는 같게 나왔습니다. 그러면 쿼리문 작성 시, 작은따옴표와 큰 따옴표의 차이가 없는 걸까요?? 감사합니다. select * From Customers where Country like "M%" ; select * From Customers where Country like 'M%' ;
-
미해결데이터 분석 SQL Fundamentals
Partition by 컬럼 2개 설정에 대한 질문입니다.
안녕하세요 강사님 너무 재밌게 강의를 듣고 있는 수강자 입니다.이번 집계 Anlaystic SQL 를 실습하다가 한가지 궁금한게 있어서요. with절을 사용하지 않고, 한번에 조회를 해보고 싶어서 해봤는데.. 뜻대로 잘 안되네요 ㅠㅠ [퀴리문]-- 직원별 개별 상품 매출액, 직원별 가장 높은 상품 매출액을 구하고, 직원별로 가장 높은 매출을 올리는 상품의 매출 금액 대비 개별 상품 매출 비율 구하기select o.employee_id as eId,p.product_id, p.product_name, sum(oi.amount)over(partition by o.employee_id, p.product_id)from nw.orders ojoin nw.order_items oi on o.order_id = oi.order_idjoin nw.products p on oi.product_id = p.product_idorder by 1;이렇게 partition by 에 컬럼을 2개 이상으로 하면, 제 생각에는 2개가 group by 처럼 진행 되는 걸로 생각했는데 안되더라고요 ㅠㅠ [결과 값]이런 결과 값이 중복으로 나오는데.. 혹시 이러한 이유를 알려주실 수 있나용 ㅠ_ㅠ
-
미해결데이터 분석 SQL Fundamentals
질문있습니다!
안녕하세요! 정말 좋은강의 해주셔서 감사합니다. 다른 일을 하다가 데이터 분야에 재미를 느끼고 sql부터 공부하고 있습니다.다름아니라, 제 블로그에 강의 수강 후 내용정리 및 코드를 복습 겸 TIL 문서로 올리고 싶은데, 혹시 가능할까요?코드 파일이나 PPT 파일을 올리는 건 아니고, 수업 내용을 제가 재정리한 내용과 예제 코드정도만 게시하고 싶습니다.출처는 꼭 남기겠습니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part5: 데이터베이스
강의내용 외의 질문이 있습니다
아직 강의를 전부 수강하지는 않았는데 추후 로드맵을 따라가면 SQL을 이용해서 데이터 관리를 하게되나요?그리고 한가지 더 궁금한 점이 만약 1인개발을 하게되어 mmorpg게임 처럼 대규모의 데이터 관리가 필요하지는 않고 200개정도의 스킬 100명정도의 몬스터 이런식으로 소규모의 테이터가 필요해도 DB와 SQL을 이용하여 관리하는지 궁금합니다
-
미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
수강기한 연장 요청드립니다.
안녕하세요 강사님!!회사업무랑 병행하느라 강의를 들을 시간이 없어서 수강을 못한 강의가 많습니다.SQL 제대로 배우고 싶은 욕심에 로드맵으로 한 번에 다 결제했는데 통 시간이 안났네요혹시 수강기한 연장이 가능할까요?? 추가금을 지불하고서라도 꼭 완강하고 싶습니다.긍정적인 검토 부탁드립니다.
-
미해결[리뉴얼] 처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지]
크롤링에서 sub_category가 작동되지 않습니다
"[참고] 크롤링과 데이터베이스 - 크롤링 코드 작성 시작 (업데이트)" 5분10초에서, G마켓 내용이 일부 변동이 발생해서 인지 sub_category가 작동되지 않습니다. sub_categories = soup.select('div.navi.group ul li a')이 부분이 작동 되지 않는 것 같은데 제가 웹크롤링이 초보라서 해결할수가 없네요 ㅠ