55,000원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 해결됨데이터 분석 SQL Fundamentals
postgresql 다운로드 오류
안녕하세요 선생님! postgresql 설치 중 경고창이 뜨고, 서비스창에서 postgre가 보이지 않아 문의드립니다!이렇게 오류가 떠서 구글링한 후 https://dba.stackexchange.com/questions/10241/postgresql-the-database-cluster-initialization-failed 이 해결방법 따라해봤는데 같은 오류가 계속 납니다 다른 해결방법이 있을까요?ㅜㅜ
- 미해결데이터 분석 SQL Fundamentals
row_numbers 사용시에는 null 처리 문제
-- 고객정보와 고객이 처음 주문한 일자의 주문 일자와 그때의 배송 주소, 배송 일자 추출을 풀때 row_numbers로 첫번째 주문일자를 추출했더니 null이 제외되더군요. 그래서 select a.customer_id, a.contact_name , b.order_date as first_date, b.ship_address, b.shipped_date, b.rnum from nw.customers a left join (select * , row_number() over (partition by x.customer_id order by x.order_date ) as rnum from nw.orders x ) b on a.customer_id = b.customer_id where rnum=1 or rnum is null;으로 'rnum is null'을 넣어주었더니 order_date가 null인 고객 정보도 출력이 되었습니다. row_numbers()로 순위를 매길때 null은 그냥 순위매김에서 제외되는 건가요?위의 코딩이 맞는(효율적인) 방식인지 궁금합니다.
- 미해결데이터 분석 SQL Fundamentals
subquery에서 table 이름 지정 문제
선생님 비상관 subquery에서 table 명을 지정해주어야 하는 이유가 꼭 있을까요?선생님 코드는 from hr.emp_dept_hist_01 x 라고 지정해주셨었는데,select * from hr.emp_dept_hist_01 where (empno, todate) in (select empno, max(todate) as todate from hr.emp_dept_hist_01 x group by empno) ;비상관이면 없어도 되지 않을까하는 생각을 했습니다.select * from hr.emp_dept_hist_01 where (empno, todate) in (select empno, max(todate) as todate from hr.emp_dept_hist_01 group by empno) ;
- 미해결데이터 분석 SQL Fundamentals
서브쿼리: 고객이 가장 최근에 주문한 주문 정보 추출 관련
안녕하세요, 선생님. 하루에 한번은 질문을 드리는거 같은데 자세하게 답변주셔서 항상 감사드립니다. -- 고객이 가장 최근에 주문한 주문 정보 추출를 아래와 같이 풀어도 결과값은 같더라구요. select * from nw.orders a where order_date in (select max(b.order_date) from nw.orders b where b.customer_id =a.customer_id );(아래는 예제 코드)select * from nw.orders where (customer_id, order_date) in (select customer_id, max(order_date) from nw.orders group by customer_id);where...in 은 비상관쿼리의 다중행, where existx (...)은 상관쿼리의 다중행 반환에 사용된다는 것을 배웠기 때문에 저렇게 하면 안되는 거 같은데 왜 안될까 궁금합니다.
- 미해결데이터 분석 SQL Fundamentals
where절 서브쿼리 관련 질문
안녕하세요, 선생님 항상 친절하고 자세한 답변 감사드립니다.강의 자료 중 select *from hr.emp_salary_hist awhere todate = (select max(todate) from hr.emp_salary_hist x where a.empno = x.empno);여기서 where a.empno = x.empno 이 부분은 왜 필요한건가요? select * from hr.emp_salary_histwhere todate = (select max(todate) from hr.emp_salary_hist ) ; 이것도 결과는 같기도 하고 같은 데이터에서 값을 찾는거라 굳이 where a.empno = x.empno 이 왜 필요한지 잘 모르겠습니다. 감사합니다.
- 미해결데이터 분석 SQL Fundamentals
Dbeaver오류
안녕하세요, 강사님.다름이 아니라, 강사님과 코드를 동일하게 작성했음에도 불구하고dbeaver에서 데이터 결과값이 자꾸 나오지 않아 문의 드립니다.계속 아래에 데이터 없음이 뜨는 데 이를 어떻게 해결할 수 있을까요ㅜㅜ감사합니다.
- 미해결데이터 분석 SQL Fundamentals
max(lpad(....)) 사용시의 오류 가능성
실습코드 'first_value_last_value_Analytic_실습'의 마지막"-- 연속된 데이터 흐름에서 값이 Null일 경우 바로 값이 있는 바로 위의 데이터를 가져 오기." 와 관련된 질문입니다(아마도 실습코드는 있는데 본 강의에서는 다루지 않으신 듯합니다). (예제코드)temp_04 as (select *, max(lpad(rnum::text, 6, '0')||daily_sum) over (order by ord_date rows between unbounded preceding and current row) as temp_strfrom temp_03 order by ord_date)dayily_sum자체를 일정한 자리수로 padding을 해주고 난 뒤 처리해도 되지 않을까 생각해봤습니다.temp_04 as (select *, max(lpad(rnum::text, 6, '0')||lpad((daily_sum)::text,6, '0' )) over (order by ord_date rows between unbounded preceding and current row) as temp_strfrom temp_03 order by ord_date) 이렇게 해서 처리해도 될까요?
- 미해결데이터 분석 SQL Fundamentals
round 에러
select product_id, product_name , unit_price, round(sum(unit_price) over (order by unit_price),2) as unit_sumfrom products ; 실행시 "SQL Error [42883]: 오류: round(real, integer) 이름의 함수가 없음"sum(unit_price) over (order by unit_price)의 자료형이 real인 것은 확인이 되는데 왜 에러가 나는걸까요?
- 해결됨데이터 분석 SQL Fundamentals
스칼라 서브쿼리 실습 - 01 : 질문 있습니다!
안녕하세요 선생님, 강의 너무 재밌게 복습하고 있는 수강생입니다.질문이 있어서 글을 씁니다. " 스칼라 서브쿼리 실습 - 01 " 강의 07:10 에서 아래 쿼리에 문제가 있다고 알려주십니다.select a.*,(select avg(sal) from hr.emp x where x.deptno = a.deptno) dept_avg_salfrom hr.emp a;그리고 그 과정에서 M:N join 결과물을 예로 들어서 왜 그런 지를 알려주시는데요, 여기서 의문이 생겼습니다."스칼라 서브쿼리 실습 - 01 " 바로 이전 강의에서 스칼라 서브 쿼리는 메인 쿼리의 각 레코드 별로 연산이 수행된다는 걸로 기억합니다. 그 말은...(select avg(sal) from hr.emp x where x.deptno = a.deptno)위 스칼라 서브쿼리가 hr.emp 테이블의 각 레코드 별로 연산이 수행된다는 걸로 전 이해합니다.그런데 07:10 때는 이걸 조인의 결과물로 설명하시면서 좋지 않은 쿼리라고 알려주십니다.각 레코드 별로 연산을 수행한다고 생각하면 사실 저 서브쿼리가 잘못된 쿼리 같지가 않다고 저는 생각하는데, 그게 아닌가요? 조인을 통해서 스칼라 서브쿼리를 좋은지 아닌지를 판단해야 되는 건가요??
- 미해결데이터 분석 SQL Fundamentals
to_date 포맷관련 질문드립니다.
안녕하세요. 강사님.평소 궁금하고 잘 안됬던 부분들을 학습할 수 있어서 열심히 수강중입니다. 기초적인 질문이나 개념을 잡기 위해 문의드립니다. select to_date('2022-01-01', 'yyyy-mm-dd');select to_date('2022-01-01', 'yyyy/mm/dd');select to_date('2022/01/01', 'yyyy/mm/dd');select to_date('2022/01/01', 'yyyy-mm-dd'); 위 네가지 모두 결과값으로는 to_date2022-01-01 로 나오던데요. to_date() 라는 것은 구성에 대한 부분일 뿐date에 대한 db관리나 출력시의 포맷과는 무관한 것인가요??
- 미해결데이터 분석 SQL Fundamentals
rows between unbounded preceding and current row 관련 질문
집계 Analytic SQL에서 rows between unbounded preceding and current row 관련 질문 드립니다. sum(amount) over (partition by order_id order by line_prod_seq) as cum_sum_by_orderid sum(amount) over (partition by order_id rows between unbounded preceding and current row) as cum_sum_by_orderid21의 경우와 2의 경우가 값이 같은데partition이 되어 있고 윈도우 설정이 어차피 상위 row에서 부터 누적되는 값이라면 'order by line_prod_seq'이 없어도 되지 않나 하는 생각이 듭니다. 그럼에도 불구하고 'order by line_prod_seq'을 굳이 명시해줘야 하는 이유가 있을까요? 어떤 데이터의 경우 이 부분이 없으면 문제가 생길 수 있나요?
- 미해결데이터 분석 SQL Fundamentals
to_char와 date_part
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.order_date에서 년, 월, 일을 to_char로 추출하셨는데 date_part와의 결과는 동일하더라구요. 두 명령어의 차이가 무엇인가요?ㅍ
- 미해결데이터 분석 SQL Fundamentals
timestamp연산질문
timestamp 연산을 하다가 이상한 점을 발견했습니다.select to_timestamp('2024-01-01 01:00:00', 'yyyy-dd-mm hh24:mi:ss')-to_timestamp('2023-01-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss') as diff_timestamp;resultdiff_timestamp365 days 01:00:00그런데select to_timestamp('2024-01-11 01:00:00', 'yyyy-dd-mm hh24:mi:ss')-to_timestamp('2023-01-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss') as diff_timestamp;resultdiff_timestamp670 days가 됩니다. timestamp 두번째의 경우 670일이라고 결과값을 나왔습니다, 375일이 맞는 답인데 말입니다.제가 뭐를 놓친걸까요?
- 해결됨데이터 분석 SQL Fundamentals
1997년 이후에 단 한건도 주문하지 않은 고객 정보
안녕하세요. 강의 듣고 실습문제를 따로 풀어보고 있는데요1997년 이후에 단 한건도 주문하지 않은 고객 정보에 대해저는 아래와 같이 인라인뷰를 안쓰고 바로 left 조인으로 했는데요.이렇게 풀이를 해도 상관없을까요? 실행결과 자체는 같은데 혹시 먼가 빠뜨리거나 잘못생각하고 있는게 있나 궁금해서 문의드립니다. 풀이SELECT *FROM NW.customers ALEFT JOIN NW.orders BON A.customer_id = B.customer_idAND B.order_date >= TO_DATE('19970101', 'YYYYMMDD')WHERE B.customer_id IS NULL 정답select *from nw.customers aleft join (select customer_id from nw.orderswhere order_date >= to_date('19970101', 'yyyymmdd')group by customer_id) b on a.customer_id = b.customer_idwhere b.customer_id is null;
- 미해결데이터 분석 SQL Fundamentals
상관서브쿼리에서 서브쿼리내부 GROUP BY 생략가능 여부
안녕하세요. 강의실습을 진행하다가 궁금한 사항이 있어 문의드립니다. 가장최근 급여정보를 비상관으로 풀이한 쿼리를 보면 서브쿼리내에 GROUP BY가 생략된 것 같아서요 select * from hr.emp_salary_hist a where todate = (select max(todate) from hr.emp_salary_hist x where a.empno = x.empno); 서브쿼리내 where a.empno = x.empno에 의해 group by 가 없어도 직원별 max(todate)를 가져오게 된건가요? 그러면 아래의 쿼리에서도 group by를 생략해도 되는건가요?-- 2건 이상 주문을 한 고객 정보select * from nw.customers awhere exists (select 1 from nw.orders x where x.customer_id = a.customer_idgroup by customer_id having count(*) >=2);
- 미해결데이터 분석 SQL Fundamentals
dbeaver 환경설정 문제
안녕하세요! 처음으로 dbeaver 을 사용하는데 sql추출하는 곳의 글꼴 크기가 너무 작아 구글을 통해 환경설정을 하려고 했습니다. 근데 보통 설정>모양>색상및 글꼴>기본>텍스트 글꼴 하면 된다고 나오는데... 저한테는 텍스트 글꼴 목록자체가 나오지 않습니다. 이부분에 대해서도 구글링을 해보았지만 해답이 나오지 않습니다. 혹시 선생님께서 알고 계시다면 알려주시면 감사하겠습니다...!
- 미해결데이터 분석 SQL Fundamentals
postgre sql 다운로드 에러 ..
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 프로그램을 다운로드 하려고 하는데, 계속 해서 에러메세지가 뜹니다 ㅠ버전을 다 다르게 해봤는데도 안되네요..윈도우로 다운입니다. 마지막 인스톨링 화면에서 저렇게 에러메세지가 뜹니다.
- 미해결데이터 분석 SQL Fundamentals
anayltic sql, 조인, 서브쿼리 셋중 어떤걸 쓰던 상관이 없나요?
강사님, 서브쿼리 실습 -01에서 다루셨던것 처럼위의 3가지 방법(anayltic sql, 조인, 서브쿼리)은 다르지만 결국 같은 값이 나옵니다.제 생각에는 가장 가독성이 좋은건 where절 서브쿼리 인거 같고, 조인은 불필요한 행까지 다 가져오므로 무거워 질거 같고, 개인적으로 analytic sql 사용시 가장 직관적으로 느껴지기에 이해하기 쉬워서 많이 쓰고 있습니다.모로 가도 서울만 가면 되긴 하지만, ㅎㅎ 강사님께서 추천해주신다면 어떤걸 쓰는게 현실 업무 혹은 협업 과정에서 좋을까가 궁금해서 질문 드려봅니다!
- 미해결데이터 분석 SQL Fundamentals
다중행 서브쿼리에서 in과 exists 차이
강사님 exists와 in은 다중행 서브쿼리 작성시에 쓸수 있는 연산자라고 하셨는데, 사실 무슨 차이인지 잘 모르겠습니다.... 서브쿼리에서 존재하느냐는 exists고in도 어떻게 보면 (존재하는)조건에 맞는 레코드를 가져오는거라서 말만 그렇지 솔직히 잘 구별하기 힘든데, 그냥 업무상에서 구분없이 써도 되나요...?
- 미해결데이터 분석 SQL Fundamentals
join 관련
안녕하세요!강의를 듣다가 궁금한것이 생겨서 문의 드립니다.-- 부서명 SALES와 RESEARCH 소속 직원별로 과거부터 현재까지 모든 급여를 취합한 평균 급여select b.empno, max(b.ename) as ename, avg(c.sal) as avg_sal --, count(*) as cntfrom hr.dept a join hr.emp b on a.deptno = b.deptno join hr.emp_salary_hist c on b.empno = c.empnowhere a.dname in('SALES', 'RESEARCH')group by b.empnoorder by 1; 여기서 왜 max(b.ename) 이라고 해야하는지 잘 이해가 안가서 문의 드립니다..!감사합니다.