묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[리뉴얼] SQL 베이스캠프
노션
노션 링크는 어디서 찾을 수 있을까요? 처음부터 수강했는데 못찾겠어요ㅜㅜ
-
미해결SQL 개발자 (SQLD) 자격증 따기 Part.2
CASCADE CONTRAINT가 아니고 CASCADE CONTRAINTS입니다
구문 오류가 떴던 이유는 CASCADE CONTRAINT가 아니고 CASCADE CONTRAINTS이기 때문입니다.
-
미해결다양한 사례로 익히는 SQL 데이터 분석
수료증
수료증 주나요?
-
미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL 문제풀이
Placements에서 LEFT JOIN 뒤에 ON 조건
SELECT * FROM students s LEFT JOIN Friends f ON s.id = f.id위에 코드랑SELECT * FROM students s LEFT JOIN Friends f ON s.id = f.friend_id아래 코드 두 개로 해봤는데요. 아직도 JOIN 뒤에 ON 조건을 쓰는 게 헷갈려요.첫 번째 코드로 했을 때의 친구id랑 두 번째 코드로 했을 때의 친구id가 완전 달라지더라고요. 왜 그런건가요??
-
해결됨실무에 바로 쓰자! 이커머스 데이터로 배우는 실전 SQL 분석
쿼리 질문
데이터 join 시점부터 두 번 째줄 쿼리 문인 WHERE l = l 은 왜 넣는건가요? 무슨 의미인가요?
-
미해결SQL 개발자 (SQLD) 자격증 따기 Part.2
슨생님 ....
수업 초반에서는 RollBack이 DDL인 Alter에는 적용인 안되나보다 하다가 뒤에서는 롤백을 해서 Alter 한게 안 먹었다보다 하시고;;;;
-
미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
리트코드 사이트
리트코드 사이트 problem에 category항목이 노출되지 않는데 현재는 변경되었을까요?
-
해결됨SW 개발자를 위한 성능 좋은 SQL 쿼리 작성법
기한이
안녕하세요 sql 작성법 교육을 받고 있는 수강자입니다. 교육수강이 8월18일까지 인걸로 알고 있습니다.아직 부족한 내용이 있어 한달 연장 신청을 부탁드립니다. 연장이 되면, 남은기한까지 교육수강을 마무리하도록 하겠습니다. 감사합니다.
-
미해결[백문이불여일타] 데이터 분석을 위한 기초 SQL
커리어 관련질문
기획직무 SQL 활용능력을 보여주기 위해선생님 강의 중,고급과정을 듣고 SQLD 시험도 응시하려고 하는데해당 강의로도 준비가능할까요?아니면 별도의 SQLD 교재 기본서를 구매하여 같이 공부해야할까요?강의 쏙쏙 들어와서 잘듣고 있습니다. 감사합니다.
-
미해결SQL 개발자 (SQLD) 자격증 따기 Part.2
Truncate는 DDL아닌가요?
Truncate는 권한과 관련이 없는데 DCL 인 것이 이해가 가지 않아서 찾아보니 모든 문서에서 Truncate는 DDL이라고 나오네요. 이게 실수라면 너무 치명적 아닌가요;;;정말 중요한거라고 하시면서.... 갑자기 수업에 대한 신뢰가 와장창 ㅠㅜ
-
해결됨SQL 코딩테스트를 위한 첫 걸음
깃헙 데스크탑, MYSQL 워크벤치 연동
설명이 너무 생략되어 있어서 이해가 안됩니다.깃헙을 처음 써보는데중간에 생략한 부분이 많네요.윈도우 환경에서 다시 상세히 설명 부탁드립니다.
-
미해결다양한 사례로 익히는 SQL 데이터 분석
CLI로 ga_export.sql 쉽게 불러오기
안녕하세요 강사님, 오늘부터 새로 강의를 듣게 되었는데 완강 목표로 열심히 듣겠습니다 ㅎㅎ강의 초반 환경설정에서 ga_export.sql이 large text여서 Dbeaver에서 스크립트 실행할 때 java heap space 부족 에러가 발생하더라고요.이 때 터미널로 쉽게 불러올 수 있는 방법을 찾았고, 다른 수강생분들에게도 도움이 될 것 같아 공유드립니다.아래 스샷처럼 터미널에서 sudo -iu postgres psql 입력 후 \i [ga_export.sql이 위치한 경로] 를 입력하면 쉽게 ga 데이터를 불러올 수 있습니다.
-
미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
리트코드 184번문제
안녕하세요 184번을 풀다가 의문이 생겨서요저는 LEFT JOIN을 통해서 답을 얻으려고 했는데 답이 나오진 않더라구요 LEFT JOIN 을 통해서 답을 구할 수 있는 방법은 없나요..?SELECT de.name as Department, em.name as Employee, em.Salary FROM employee as em LEFT JOIN department as de ON em.departmentId=de.id WHERE salary = (SELECT MAX(salary) FROM employee) LIMIT 3;
-
미해결데이터 분석 SQL Fundamentals
with temp_01 as () 관련 질문입니당
안녕하세요 선생님혹시 with temp_01 as ()를 사용해야만 하는, 특정 상황이 있을까요?
-
미해결SQL 개발자 (SQLD) 자격증 따기 Part.1
속성의 특징과 다중값 속성
속성의 특징에 더이상 분리되지 않는 단위이고 하나의 값만 가진 다고 되어 있는데 그렇다면 다중값 속성 같은 것은 그것에 위배 되는 것 아닌가요?
-
해결됨비전공자의 전공자 따라잡기 - 데이터베이스,SQL
limit offset 단점
안녕하세요 제로초님.항상 질 좋은 강의 감사합니다.offset 방식으로 pagination 구현 시 데이터가 누락될 수 있다는 단점을 설명해주시면서soft delete 방식으로 구현 시에는 해당 이슈가 괜찮다고 설명해주셨는데요.soft delete 방식으로 구현 시에도 동일한 이슈가 발생할꺼라는 생각이 들어 질문을 남깁니다.soft delete 방식으로 구현 시에도 조회 쿼리를 날릴 때, deleteAt이 null인 값인 data들은 filter 되기 때문에 동일한 이슈가 발생할꺼 같은데 맞을까요?추가로 삭제 연산을 soft delete 방식으로 구현 시, on delete option을 "casecade"로 설정했다면 부모 row가 삭제되었을 때, 자식 row도 soft delete 처리가 되나요?아니면 set null 방식으로 처리가 되나요?
-
미해결데이터 분석 SQL Fundamentals
스칼라 서브쿼리 관련
안녕하세요, 강의 잘 듣고 있습니다.스칼라 서브쿼리를 성능문제로 지양해서 써야한다고 말씀하셨는데 혹시 더 구체적으로 알 수 있을지요?스칼라 서브쿼리나 다른 서브쿼리나 어차피 메인 테이블을 하나씩 읽으면서 조건으로 달리 테이블을 처리하는건 같지 않나요?DB입장에서 혹시 실행계획을 세울 때 어떻게 차이가 날까요?제대로 질문을 하였는지 잘 모르겠는데 답변 주시면감사하겠습니다.
-
미해결다양한 사례로 익히는 SQL 데이터 분석
컬럼의 뜻에 대해 질문 드립니다.
채널별 고유/주문 사용자 건수와 매출 금액 및 비율 SQL로 구하기 2 를 학습하면서/************************************ 채널별 고유 사용자 건수와 매출금액 및 비율, 주문 사용자 건수와 주문 매출 금액 및 비율 채널별로 고유 사용자 건수와 매출 금액을 구하고 고유 사용자 건수 대비 매출 금액 비율을 추출. 또한 고유 사용자 중에서 주문을 수행한 사용자 건수를 추출 후 주문 사용자 건수 대비 매출 금액 비율을 추출 *************************************/ with temp_01 as ( select a.sess_id, a.user_id, a.channel_grouping , b.order_id, b.order_time, c.product_id, c.prod_revenue from ga_sess a left join orders b on a.sess_id = b.sess_id left join order_items c on b.order_id = c.order_id where a.visit_stime >= (:current_date - interval '30 days') and a.visit_stime < :current_date ) select channel_grouping , sum(prod_revenue) as ch_amt -- 채널별 매출 --, count(distinct sess_id) as ch_sess_cnt -- 채널별 고유 세션 수 , count(distinct user_id) as ch_user_cnt -- 채널별 고유 사용자 수 --, count(distinct case when order_id is not null then sess_id end) as ch_ord_sess_cnt -- 채널별 주문 고유 세션수 , count(distinct case when order_id is not null then user_id end) as ch_ord_user_cnt -- 채널별 주문 고유 사용자수 --, sum(prod_revenue)/count(distinct sess_id) as ch_amt_per_sess -- 접속 세션별 주문 매출 금액 , sum(prod_revenue)/count(distinct user_id) as ch_amt_per_user -- 접속 고유 사용자별 주문 매출 금액 -- 주문 세션별 매출 금액 --, sum(prod_revenue)/count(distinct case when order_id is not null then sess_id end) as ch_ord_amt_per_sess -- 주문 고유 사용자별 매출 금액 , sum(prod_revenue)/count(distinct case when order_id is not null then user_id end) as ch_ord_amt_per_user from temp_01 group by channel_grouping order by ch_user_cnt desc;위 쿼리의 쿼리 뜻이 잘 이해가 안되어 질문 드립니다., sum(prod_revenue)/count(distinct user_id) as ch_amt_per_user -- 접속 고유 사용자별 주문 매출 금액, sum(prod_revenue)/count(distinct case when order_id is not null then user_id end) as ch_ord_amt_per_user이 두 항목은 각각 접속 고유 사용자별 주문 매출 금액,주문 고유 사용자별 매출 금액이라 명칭 되어 있는데, 어떤 의미를 가지고 있는 것인지 잘 이해가 되지 않아 질문 드립니다.접속 고유 사용자별 주문 매출 금액 : 사용자 대비 30일이내 매출 금액주문 고유 사용자별 매출 금액 : 주문 대비 30일 이내 매출 금액이렇게 이해를 하면 될런지요?
-
미해결다양한 사례로 익히는 SQL 데이터 분석
group by에 대해 질문 드립니다.
사용자별 월별 세션 접속 횟수의 구간별 분포 집계 SQL로 구하기 - 02위 과정을 학습하고 있습니다select month ,case when monthly_user_cnt = 1 then '0_only_first_session' when monthly_user_cnt between 2 and 3 then '2_between_3' when monthly_user_cnt between 4 and 8 then '4_between_8' when monthly_user_cnt between 9 and 14 then '9_between_14' when monthly_user_cnt between 15 and 25 then '15_between_25' when monthly_user_cnt >= 26 then 'over_26' end as gubun , count(*) as user_cnt from temp_01 group by month, case when monthly_user_cnt = 1 then '0_only_first_session' when monthly_user_cnt between 2 and 3 then '2_between_3' when monthly_user_cnt between 4 and 8 then '4_between_8' when monthly_user_cnt between 9 and 14 then '9_between_14' when monthly_user_cnt between 15 and 25 then '15_between_25' when monthly_user_cnt >= 26 then 'over_26' end order by 1, 2;위 쿼리에서 group by 항목이 이해가 잘 안되서 질문 드립니다.위와 같이 그룹을 지으면일자 + monthly_user_cnt 의 조합으로 그룹들이 만들어짐select에서select month ,case when monthly_user_cnt = 1 then '0_only_first_session' when monthly_user_cnt between 2 and 3 then '2_between_3' when monthly_user_cnt between 4 and 8 then '4_between_8' when monthly_user_cnt between 9 and 14 then '9_between_14' when monthly_user_cnt between 15 and 25 then '15_between_25' when monthly_user_cnt >= 26 then 'over_26' end as gubun위 쿼리로 넘어온 데이터(아직 컬럼으로 만들어지지 않은채 각 그룹별로 정의되어 넘어온 데이터)에 컬럼명을 붙여줌위와 같은 동작을 하는게 맞는지요?제가 이해하는게 맞는지 알고 싶습니다.
-
미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL 문제풀이
Set2 4번문제 질문 - New Companies
-조인에 대한 개념이 약간 헤깔려서 문의드립니다.-저는 아래와 같이 left outer join시에 senior_manger/MANGER/employee 테이블과의 조인 조건을 아래와 같이 상위의 CODE를 equal 조건으로 넣어야 정확히 일치하는 ROW를 조인할수 있는게 아닌지요?LEFT OUTER JOIN Lead_Manager LM ON (C.COMPANY_CODE=LM.COMPANY_CODE)LEFT OUTER JOIN Senior_Manager SM ON(LM.COMPANY_CODE=SM.COMPANY_CODE AND LM.LEAD_MANAGER_CODE=SM.LEAD_MANAGER_CODE)LEFT OUTER JOIN Manager M ON (SM.COMPANY_CODE=M.COMPANY_CODE AND SM.LEAD_MANAGER_CODE=M.LEAD_MANAGER_CODEAND SM.SENIOR_MANAGER_CODE=M.SENIOR_MANAGER_CODE)LEFT OUTER JOIN Employee E ON (M.COMPANY_CODE=E.COMPANY_CODE AND M.LEAD_MANAGER_CODE=E.LEAD_MANAGER_CODEAND M.SENIOR_MANAGER_CODE=E.SENIOR_MANAGER_CODEANDM.MANAGER_CODE=E.MANAGER_CODE)