- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 프로그램을 다운로드 하려고 하는데, 계속 해서 에러메세지가 뜹니다 ㅠ버전을 다 다르게 해봤는데도 안되네요.. 윈도우로 다운입니다. 마지막 인스톨링 화면에서 저렇게 에러메세지가 뜹니다.
강사님, 서브쿼리 실습 -01에서 다루셨던것 처럼 위의 3가지 방법(anayltic sql, 조인, 서브쿼리)은 다르지만 결국 같은 값이 나옵니다. 제 생각에는 가장 가독성이 좋은건 where절 서브쿼리 인거 같고, 조인은 불필요한 행까지 다 가져오므로 무거워 질거 같고, 개인적으로 analytic sql 사용시 가장 직관적으로 느껴지기에 이해하기 쉬워서 많이 쓰고 있습니다. 모로 가도 서울만 가면 되긴 하지만, ㅎㅎ 강사님께서 추천해주신다면 어떤걸 쓰는게 현실 업무 혹은 협업 과정에서 좋을까가 궁금해서 질문 드려봅니다!
강사님 exists와 in은 다중행 서브쿼리 작성시에 쓸수 있는 연산자라고 하셨는데, 사실 무슨 차이인지 잘 모르겠습니다.... 서브쿼리에서 존재하느냐는 exists고 in도 어떻게 보면 (존재하는)조건에 맞는 레코드를 가져오는거라서 말만 그렇지 솔직히 잘 구별하기 힘든데, 그냥 업무상에서 구분없이 써도 되나요...?
안녕하세요 M2 mac 환경입니다. mysql 및 mysql banch 설치하였고 mysql banch에서 실행 버튼만 누르면 자동으로 프로그램이 종료됩니다 ㅠ mysql 접속이 안되서 그런건가 하고 확인해보니까 mac시스템 설정에서 mysql에 들어가서 start mysql server을 클리하면 계속 start stop (초록 빨강)으로 깜빡거리는 현상도 있음을 발견햇어요 ㅠ 열심히 구글링했는데 도저히 해결책을 찾지 못해 글남겨요 ㅠ 8.0.32 arm64 설치했고요 ㅠ
안녕하세요 수업 질문입니다. 저만 그런건지 age index를 생성하기 전인데도 불구하고, age로 sort 할 경우 성능이 오히려 3배 가량 향상됩니다.. ㅜㅜ sort를 작성할 경우 수업과 동일하게 sort_key_generator는 나타나지 않고, documents returned도 0 으로 표기 됩니다. 하지만 explain 탭이 아닌 documents탭에서는 정렬방식이 적용 되어 문제없이 조회되는 걸로 보아 문법을 작성을 잘못 한것 같지않고, sort를 작성하면 explain이 제대로 나타나지 않아 헤매이고있습니다. index의 장점을 직접 체험하기 위해 데이터는 약 100만개 정도 생성한 상태로 따라해보는데, 의도와는 다른 현상이 나타나 질문드립니다!!
안녕하세요! 강의를 듣다가 궁금한것이 생겨서 문의 드립니다. -- 부서명 SALES와 RESEARCH 소속 직원별로 과거부터 현재까지 모든 급여를 취합한 평균 급여 select b.empno, max(b.ename) as ename, 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 b.empno order by 1; 여기서 왜 max(b.ename) 이라고 해야하는지 잘 이해가 안가서 문의 드립니다..! 감사합니다.
안녕하세요. 조인관련 실습을 하다가 궁금한점이 있어 문의드립니다. -- 직원명 SMITH의 과거 소속 부서 정보를 구할 것. 예제를 실행하려다 보니 저의 경우 일단 가장먼저 보이는 emp와 dept 테이블을 join하고 (JOIN순서는 상관 없다고 하셔서..) 나머지 테이블인 emp_dept_hist 테이블을 연결해주려 하다보니 아래와 같은 join 조건을 쓰게 되고 당연히 결과가 다르게 나오더라구요. 결과를 알고 보니 emp와 dept 테이블을 연결 안해야 하는게? 맞는거 같긴한데.. 제가 여러 테이블을 조인할때 어느 부분을 놓치고 있는 걸까요? ㅜ (ANSI가 아직 익숙하지 않아 일단 기존 방식으로 쿼리를 작성했습니다..) SELECT a.ename , c.fromdate , c.todate , b.deptno , b.dname FROM emp a, dept b, emp_dept_hist c WHERE a.deptno = b.deptno AND a.empno = c.empno AND b.deptno = c.deptno AND a.ename = 'SMITH' ;
date_part 나 justify_inteval, age 함수의 postgresql에서만 되는 걸로 확인이 됩니다. 같이 공부하고 있지만 저는 실제로 oracle을 사용하고 있기 때문에 오라클에서도 오늘날짜 - 입사 날짜를 하였을 때 근속년수가 xx년 x월 이렇게 나오게 하고 싶은데 extract(year from sysdate) - extract(year from hiredate)||'년' 으로 하면 년도만 나오는 방법만 생각이 나서요. 혹시 방법이 있다면 알려주시면 감사하겠습니다.
[리뉴얼] 처음하는 MongoDB(몽고DB) 와 NoSQL(빅데이터) 데이터베이스 부트캠프 [입문부터 활용까지] (업데이트)
안녕하세요 mongodb 수강 중 궁금한게 생겨서 질문드립니다. 현재 studio 3t로 데이터 입출력 하고있는데, putty로 우분투 접속 후 'sudo service mongod start' 후에 Studio 3T 접속한것과 putty를 실행하지 않고 Studio 3T 접속한 것의 차이를 모르겠습니다. 퍼티로 몽고DB 스타트를 하지 않아도 3T에서 데이터베이스 커넥트가 잘 되고 데이터 입출력도 잘 되더라구요 퍼티 실행 후 몽고DB start를 하는 이유가 무엇인가요?? 좋은 강의 잘 듣고있습니다 감사합니다!
DISTINCT 함수(거래처 목록, 중복 없이 뽑아주세요) 이 강의에서 과제를 내주셨잖아요? 거래내역의 입금 총액은? 이렇게요 . --거래내역의 총합 SELECT sum(amount) as total FROM transactions; 이걸 말씀하시는건지.. 아니면 제가 문제를 이해를 못하는건가요 ... 혹시 답을 적어주실수있나요 선생님의 과제 의도를 이해하고싶어서요
with temp_00 as ( select generate_series ('2016-08-02':: date , '2016-11-01':: date , '1 days':: interval ):: date as current_date ) select b. current_date , count ( distinct user_id) as dau from ga_sess a cross join temp_00 b where visit_stime >= (b. current_date - interval '1 days') and visit_stime < b. current_date group by b. current_date 위 SQL문에서 where visit_stime >= (b. current_date - interval '1 days') and visit_stime < b. current_date 이 부분이 이해가 가지 않습니다. current_date가 2016-08-02일 경우 visit_stime이 2016-08-02보다는 작아야 하고, 2016-08-01보다는 크거나 같다는 말인데.. 그럼 즉, 2016-08-01 00:00:00 ~2016-08-01 23:59:59 라는 건데요.. 그럼 이게 2016-08-01의 DAU가 아닌가요?.. select 절에서는 current_date로 group by를 해서 추출된 데이터는 2016-08-02의 DAU로 추출이 되더라구요.. 실제 csv파일로 받아서 보아도, 2016-08-01의 dau가 1569로 확인이 되는거 같기두 하구요.. with temp_00 as ( select generate_series ('2016-08-01':: date , '2016-11-01':: date , '1 days':: interval ):: date as current_date ) select b. current_date , count ( distinct user_id) as dau from ga_sess a cross join temp_00 b where visit_stime >= b. current_date and visit_stime < (b. current_date + interval '1 days') group by b. current_date with temp_00 as ( select generate_series ('2016-08-01':: date , '2016-11-01':: date , '1 days':: interval ):: date as current_date ) select b. current_date , count ( distinct user_id) as wau from ga_sess a cross join temp_00 b where visit_stime >= (b. current_date - interval '6 days') and visit_stime < (b. current_date + interval '1 days') group by b. current_date ; with temp_00 as ( select generate_series ('2016-08-01':: date , '2016-11-01':: date , '1 days':: interval ):: date as current_date ) select b. current_date , count ( distinct user_id) as mau from ga_sess a cross join temp_00 b where visit_stime >= (b. current_date - interval '29 days') and visit_stime < (b. current_date + interval '1 days') group by b. current_date ; 이렇게 구하는게 맞는거 아닌지 문의드립니다 !
select * from nw.orders where (customer_id,order_date) in ( select customer_id, max (order_date) from nw.orders group by customer_id) 이 쿼리를 날려도 customer_id 레벨이 M이라 LACOR이라는 value가 중복이 되는 건가요? 강의에선 메인 쿼리 레벨이 1이고 서브 쿼리 레벨이 M일 때 메인 쿼리 레벨이 1로 유지된다고 했는데, 이 쿼리처럼 메인 쿼리 레벨이 M이고 서브 쿼리 레벨이 1일 때도 메인 쿼리 레벨은 M으로 유지된다고 이해해도 괜찮을까요?
안녕하세요. 권철민 선생님. 저는 SQL을 업무에서 활용하고 싶은 직장인입니다. 선생님 강의로 SQL을 열심히 공부하고 있고 지금은 Analytic SQL을 수강 중인데요. 제 궁극적인 목표는 회사 데이터베이스에서 SQL로 데이터를 가져와 판다스 등으로 처리한 뒤 머신러닝으로 결과를 도출하는 것이라서 'Analytic SQL이 내게 필요할까?' 라는 생각이 들고 있습니다. 왜냐하면 다양한 계산들은 판다스에서 더 수월히 수행할 수 있을 것 같아서요. 혹시 제가 아직 지식이 부족하여 그런 것이고 제가 모르는 Analytic SQL의 장점이 있다면 조언 부탁드립니다.