inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

172만명의 커뮤니티!! 함께 토론해봐요.

강사님 analytic 집계함수 에 대해서 궁금한게 있습니다.

해결됨

데이터 분석 SQL Fundamentals

select empno, ename, deptno, sal, avg(sal) over (partition by deptno) dept_avg_sal , sal - avg(sal) over (partition by deptno) dept_avg_sal_diff from hr.emp; 위 SQL은 강사님이 작성해주신 코드 입니다. with temp_01 as ( select empno ,ename ,sal as "개인 급여" ,avg(sal) over (partition by deptno) as "평균 급여" from emp ) select empno,ename,"개인 급여","평균 급여",abs("평균 급여"-"개인 급여") from temp_01; 밑에는 제가 답안지를 안보고 먼저 작성한 코드 입니다. 제가 처음에 첫번째 코드처럼 작성을 하려다가 이게 group by 처럼 부하가 좀 큰 작업이라고 생각이되었습니다. 그래서 한번만 사용하고 싶어서 임시테이블을 만들고 그 테이블의 컬럼끼리 계산을 하게 했는데 윈도우 함수를 한번 더 사용하는것과 서브쿼리로 한번만 호출하는 것 중에서 윈도우 함수를 한번 더 호출하는게 더 나은 선택이라면 그 이유가 궁금합니다. 만약에 서브 쿼리를 사용하는데 그 서브 쿼리에 함수를 사용한 컬럼이 있다면 그 컬럼을 호출할때마다 그 함수를 실행해서 그 결과를 가져오나요? 아니면 한번 서브쿼리를 실행하면 그 데이터가 저장되서 값만 가져오나요?

  • sql
  • postgresql
  • dbms/rdbms
cjh 댓글 1 좋아요 0 조회수 350

alter table 명령에서

미해결

[리뉴얼] 처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지]

SQL로 테이블 변경하기 11:34 alter table에서 변경할 컬럼 타입을 넣을때 not null을 안써주면 원래 not null이었으면 null이어도 되는걸로 바뀌는 건가요? 이처럼 변경할 컬럼 타입에 원래 컬럼에 있던 타입에 관련된 것을 안써주면 리셋되는 건가요?

  • python
  • sql
  • mysql
  • dbms/rdbms
  • 데이터-엔지니어링
이하윤 댓글 1 좋아요 0 조회수 324

AWS사용과 슬랙 접속에 어려움이 있습니다

미해결

직접 활용할 수 있는 SQL - 기초부터 실무 활용까지

안녕하세요 사내 망을 사용해서만 인프런에 들어와 수업을 수강할 수 있습니다. 그래서 보안상 aws 페이지나 슬랙으로 접속이 안되네요.. 그래서 환경구축(AWS) 없이 수업을 들으며 실습을 진행하고 싶은데, 어떻게 해야하는지 질문드립니다.

  • sql
  • dbms/rdbms
이지윤 댓글 1 좋아요 0 조회수 365

오라클의 경우 좀 다른거같습니다.

해결됨

SW 개발자를 위한 성능 좋은 SQL 쿼리 작성법

이렇게 선언하여 사용하였는데 오라클의 경우에는 RTRIM을 해주어야 하는거 같은데 맞나요 ?

  • sql
  • dbms/rdbms
leejh 댓글 1 좋아요 0 조회수 434

강사님 Analytic을 사용하는 이유가 뭔가요?

해결됨

데이터 분석 SQL Fundamentals

Analyric을 사용할때 많은 데이터나 필요한 함수가 많아지면 서브쿼리나 with절을 많이 사용해야할거같은데 데이터가 많아지면 복잡한 쿼리를 작성할때 부담스러울거같다는 생각이 들더라구요 차라리 필요한 데이터만 가지고 엑셀로 작업하는게 더 빠르고 엑셀이 가진 GUI를 활용하는게 나을거같다는 생각도 들더라구요 그런데 DB만 검색해봐도 윈도우 함수는 공부하는게 좋다, 이런 이야기가 많은데 그 장점이 뭔지 궁금합니다.

  • sql
  • postgresql
  • dbms/rdbms
cjh 댓글 2 좋아요 0 조회수 451

6번문제

해결됨

SQL 왕초보를 위한 해커랭크로 배우는 실전 SQL

6번문제 이렇게 작성해도 정답인가요? select * From CITY where POPULATION > 100000 AND COUNTRYCODE ='USA'

  • sql
  • mysql
  • dbms/rdbms
  • 코딩-테스트
Yongje Jang 댓글 1 좋아요 0 조회수 427

헤커랭크 테스트 속도

미해결

[백문이불여일타] 데이터 분석을 위한 중급 SQL

테스트 케이스 채점할때 속도가 원래 좀 늘리나요,,,..? 프로그래머는 채점 속도랑 다른데 저만 그런가 해서요

  • sql
지루한 멍게 댓글 1 좋아요 0 조회수 514

강사님 Group By 실습 - 01 질문 있습니다

해결됨

데이터 분석 SQL Fundamentals

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
  • postgresql
  • dbms/rdbms
cjh 댓글 1 좋아요 0 조회수 387

강사님 with 절을 사용하시는 이유가 궁금합니다.

해결됨

데이터 분석 SQL Fundamentals

강사님께서 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
  • postgresql
  • dbms/rdbms
cjh 댓글 1 좋아요 1 조회수 494

LeetCode 626. Exchange Seats 리트코드 제출 오류

미해결

[백문이불여일타] 데이터 분석을 위한 고급 SQL 문제풀이

현재 LeetCode 626. Exchange Seats에 답안을 제출하면 틀린 것으로 나오고 있습니다. 제가 한 풀이랑 강의 풀이 모두 제출해도 wrong으로 나오는 오류가 있네요. 다음에 수업 들으시는 분들이 당황하시지 않도록 따로 공지를 해주셔야 할 것 같습니다.

  • sql
[SQL 실전반 16기] 이보라 댓글 2 좋아요 0 조회수 527

Non Equi 조인과 Cross 조인 실습 질문있습니다.

해결됨

데이터 분석 SQL Fundamentals

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
  • postgresql
  • dbms/rdbms
cjh 댓글 1 좋아요 0 조회수 370

조인 실습-01 추가 질문이 있습니다.

해결됨

데이터 분석 SQL Fundamentals

강사님 좋은 강의 감사합니다 ! (__) 다름이 아니라 답변을 보는 와중에 제가 이해한 내용이 강사님께서 말씀하신 의도가 맞는지 궁금해서 입니다. 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
  • postgresql
  • dbms/rdbms
cjh 댓글 1 좋아요 0 조회수 339

섹션4에 3번 문제풀이 질문

미해결

[백문이불여일타] 데이터 분석을 위한 고급 SQL 문제풀이

마지막 문제 리트코드 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 , student FROM seat ORDER BY id 이렇게 프롬절에 서브쿼리를 안 만들고, 셀렉트절 CASE WHEN THEN에 COUNT윈도우함수를 사용하면 왜 답이 안 나오는지 궁금합니다.

  • sql
전인수 댓글 2 좋아요 0 조회수 394

조인실습03.질문

미해결

데이터 분석 SQL Fundamentals

강사님! 안녕하세요. 수강하다가 질문이 생겨서 질문드립니다! 섹션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
  • postgresql
  • dbms/rdbms
kd03100 댓글 1 좋아요 0 조회수 410

섹션 1 , SQL_기본2 - 기출문제 풀이 8번 문제 정답 오타

해결됨

SQL 개발자 (SQLD) 자격증 따기 Part.2

섹션 1 , SQL_기본2 1강에서 다운로드 , 기출문제 풀이 강의에서 설명하는 "확인 문제(SQLD-PART3-SQL기본).hwp" 8번 문제 정답 오타가 있네요 TABEL -> TABLE

  • sql
ON K 댓글 1 좋아요 1 조회수 519

SQL Project Planning 풀이 관련 문의

미해결

[백문이불여일타] 데이터 분석을 위한 고급 SQL 문제풀이

SELECT start_date FROM projects WHERE start_date NOT IN(end_date) 로 작성하면 엔드데이트가 제외 안 되고 SELECT start_date FROM projects WHERE start_date NOT IN(SELECT end_date FROM projects) 서브쿼리로 작성해야지만 엔드데이트가 제외되는지 궁금합니다.

  • sql
전인수 댓글 2 좋아요 0 조회수 597

사용자별 월별 세션 접속 횟수의 구간별 분포 집계 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
  • postgresql
  • dbms/rdbms
  • 퍼포먼스-마케팅
  • 데이터-엔지니어링
박찬영 댓글 1 좋아요 0 조회수 538

리밋 입력 시 에러

미해결

[개념반]배워서 바로 쓰는 SQL 쿼리

안녕하세요 현재 수강중인 학생입니다. 연습문제중에 limit만 입력해서 런 에스큐엘하면 Erro in SQL: Syntax error in From clause. 라는 에러가 계속 발생되서 한번도 리밋 조건을 확인해볼수가없는데 제가 무엇을 잘못하고있는것인지 알 수 있을까요? 감사합니다. 아래는 제가 입력한 조건입니다. SELECT * FROM Customers limit 5 ;

  • sql
tori061211 댓글 2 좋아요 0 조회수 639

섹션 1번 4번문제 풀이

해결됨

[백문이불여일타] 데이터 분석을 위한 고급 SQL 문제풀이

GROUP BY를 쓰기 위해서는 SELECT절에 있어야 사용할 수 있는걸로 아는데 섹션1의 4번문제 Occupations풀이를 보면 SELECT절에서 rn을 지워도 런코드가 되는 이유가 궁금합니다.

  • sql
전인수 댓글 1 좋아요 1 조회수 302

섹션1 2번 문제풀이 강의

미해결

[백문이불여일타] 데이터 분석을 위한 고급 SQL 문제풀이

섹션 1의 2번 문제인 Contest Leaderboard 를 풀이할 때 1분 28초에 선생님께서 드레그하여 한 번에 띄어쓰기를 합니다. 이 때 사용하는 단축키가 뭔지 궁금합니다.

  • sql
전인수 댓글 1 좋아요 0 조회수 319

인기 태그

인프런 TOP Writers

주간 인기글