묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결데이터 분석 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
Weather Observation Station 6 문제 관련하여
안녕하세요 선생님. 강의를 잘 듣고 있는 학생입니다.커뮤니티의 답변을 보니 IN에는 %를 사용할 수 없다고 봤습니다.그러면 Weather Observation Station 6번 문제의 쿼리를SELECT DISTINCT nameFROM stationWHERE city LIKE 'i.e.%' orcity LIKE 'a%' orcity LIKE 'e%' orcity LIKE 'i%' orcity LIKE 'o%' orcity LIKE 'u%';이 아니라SELECT DISTINCT cityFROM stationWHERE IN(city LIKE 'i.e.%', city LIKE 'a%', city LIKE 'e%', city LIKE 'i%', city LIKE 'o%', city LIKE 'u%');로 작성하는거는 IN에 %를 쓰는 것이 아니라 LIKE 안에 사용하는데도 에러가 나는 이유를 알고 싶습니다.또한 OR이 아니라 IN을 사용하여 해당 문제를 보다 효율적으로 쿼리를 작성할 수 있는 방법이 있는지 알고 싶습니다.
-
미해결데이터 분석 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
누적합 심화 질문있습니다
안녕하세요 강사님 누적합 심화내용 관련해서 질문드립니다. 성능면에서는 3가지 방법 중 어떤게 가장 좋나요? 윈도우 함수 사용 > 셀프조인 > 서브쿼리 순일까요?
-
미해결데이터 분석 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) 이렇게 해서 처리해도 될까요?
-
미해결
1064 오류 원인을 못 찾겠어요
위 이미지에서 출력 된 문자 : '('abcd1234'), mb_name = '이름', mb_nick =' 글쓴이가 생각하는 아마도 오류라고 생각되는 부분 : ('$admin_pass'), mb_name = '$admin_name', mb_nick = 이것저것 건드려봤지만 잘 모르겠네요;;
-
해결됨[백문이불여일타] 데이터 분석을 위한 고급 SQL 문제풀이
set2 - 1 같게 작성했는데 답이 이상합니다.
Set2 - 1번 문제 풀이를 보고 같게 작성 후 코드를 돌렸는데 답이 이상하게 나옵니다.SELECT city , length(city) lenFROM STATIONORDER BY len, cityLIMIT 1;SELECT city , length(city) lenFROM STATIONORDER BY len DESC, cityLIMIT 1이렇게 작성 후 돌리면 다음과 같이 나오네요왜 이럴까요...?submit code를 눌러도 오답이라고 뜹니다.
-
미해결데이터 분석 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
SUM(CASE ~) 단순화
꼭 각 월별로 쿼리를 짜야할까요?파이썬처럼 range 함수와 같이 순서대로 나열시키는 방법은 없을까요?
-
해결됨데이터 분석 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 데이터 분석
복원 관련 문의
기존 문의사항 보고 작성해주신 답편대로 다 따라햇는데ga_export 용량이 커서 스크립트 업로드가안돼요DBEAVER 용량을 20,000M 이상으로 키울 경우 DBEAVER 실행이안돼요..텍스트 에디터 사용하여 복+붙해도 용량이 크다고안됩니다.해결방법 알려주세요ㅠㅠㅠ
-
미해결갖고노는 MySQL 데이터베이스 by 얄코
대체 어디다 질문을 올리는겁니까? 상담도 정해진 질문만 받고…
🛑 이곳에 질문하지 마세요!!!질문은 강의페이지에 안내드린 방식으로 이메일로 보내주세요!⭐ 강의질문은 꼭 이렇게 보내주세요! | 얄코 (yalco.kr)
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part5: 데이터베이스
sinter
sinter 가 교집합이라고 하는데강의에서 읽기로 사용하는것 같아보입니다sinter faker:gudok 다른곳에서 찾아보면 이것이 교집합이라고 하는데 교집합이라면 아무것도 안나와야 하지 않나요? 왜 rookies 가 나오는거죠?
-
미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL 문제풀이
기한연장문의
안녕하세요죄송한데 강의를 거의 못들었는데 강의 기한이 모레까지라서요 ㅠㅠ강의 기한 조금만 연장 가능할까요?[백문이불여일타] 데이터 분석을 위한 중급 SQL 문제풀이[백문이불여일타] 데이터 분석을 위한 고급 SQL 문제풀이 강의 입니다 .. ㅠㅠ 감사합니다.!