리트코드 사이트
미해결
[백문이불여일타] 데이터 분석을 위한 중급 SQL
리트코드 사이트 problem에 category항목이 노출되지 않는데 현재는 변경되었을까요?
- sql
172만명의 커뮤니티!! 함께 토론해봐요.
미해결
[백문이불여일타] 데이터 분석을 위한 중급 SQL
리트코드 사이트 problem에 category항목이 노출되지 않는데 현재는 변경되었을까요?
해결됨
SW 개발자를 위한 성능 좋은 SQL 쿼리 작성법
안녕하세요 sql 작성법 교육을 받고 있는 수강자입니다. 교육수강이 8월18일까지 인걸로 알고 있습니다. 아직 부족한 내용이 있어 한달 연장 신청을 부탁드립니다. 연장이 되면, 남은기한까지 교육수강을 마무리하도록 하겠습니다. 감사합니다.
미해결
[백문이불여일타] 데이터 분석을 위한 기초 SQL
기획직무 SQL 활용능력을 보여주기 위해 선생님 강의 중,고급과정을 듣고 SQLD 시험도 응시하려고 하는데 해당 강의로도 준비가능할까요? 아니면 별도의 SQLD 교재 기본서를 구매하여 같이 공부해야할까요? 강의 쏙쏙 들어와서 잘듣고 있습니다. 감사합니다.
미해결
SQL 개발자 (SQLD) 자격증 따기 Part.2
Truncate는 권한과 관련이 없는데 DCL 인 것이 이해가 가지 않아서 찾아보니 모든 문서에서 Truncate는 DDL이라고 나오네요. 이게 실수라면 너무 치명적 아닌가요;;; 정말 중요한거라고 하시면서.... 갑자기 수업에 대한 신뢰가 와장창 ㅠㅜ
해결됨
SQL 코딩테스트를 위한 첫 걸음
설명이 너무 생략되어 있어서 이해가 안됩니다. 깃헙을 처음 써보는데 중간에 생략한 부분이 많네요. 윈도우 환경에서 다시 상세히 설명 부탁드립니다.
미해결
다양한 사례로 익히는 SQL 데이터 분석
안녕하세요 강사님, 오늘부터 새로 강의를 듣게 되었는데 완강 목표로 열심히 듣겠습니다 ㅎㅎ 강의 초반 환경설정에서 ga_export.sql이 large text여서 Dbeaver에서 스크립트 실행할 때 j ava heap space 부족 에러 가 발생하더라고요. 이 때 터미널로 쉽게 불러올 수 있는 방법을 찾았고, 다른 수강생분들에게도 도움이 될 것 같아 공유드립니다. 아래 스샷처럼 터미널에서 sudo -iu postgres psql 입력 후 \i [ga_export.sql이 위치한 경로] 를 입력하면 쉽게 ga 데이터를 불러올 수 있습니다.
미해결
[백문이불여일타] 데이터 분석을 위한 고급 SQL
안녕하세요 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 ()를 사용해야만 하는, 특정 상황이 있을까요?
미해결
SQL 개발자 (SQLD) 자격증 따기 Part.1
속성의 특징에 더이상 분리되지 않는 단위이고 하나의 값만 가진 다고 되어 있는데 그렇다면 다중값 속성 같은 것은 그것에 위배 되는 것 아닌가요?
해결됨
비전공자의 전공자 따라잡기 - 데이터베이스,SQL
안녕하세요 제로초님. 항상 질 좋은 강의 감사합니다. 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 데이터 분석
사용자별 월별 세션 접속 횟수의 구간별 분포 집계 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 문제풀이
-조인에 대한 개념이 약간 헤깔려서 문의드립니다. -저는 아래와 같이 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_CODE AND 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_CODE AND M.SENIOR_MANAGER_CODE=E.SENIOR_MANAGER_CODE AND M.MANAGER_CODE=E.MANAGER_CODE)
미해결
[백문이불여일타] 데이터 분석을 위한 기초 SQL
안녕하세요 ! order by 해커랭크 문제풀이 2 강의에서 select name from students where marks > 75 order by right (name,3) and ID 이렇게 order by에서 컴마 대신에 and를 썼는데 둘의 차이가 무엇인가여? 감사합니다
미해결
[백문이불여일타] 데이터 분석을 위한 기초 SQL
안녕하세요! 저는 이 문제를 select city from station where city like 'a%' or 'e%' or 'i%' or 'o%' or 'u%' 이렇게 풀었는데 답은 city like 'a% or city not like 'e%'....... 이런 식으로 풀었는데 둘의 차이가 무엇인지 알고 싶습니다.
미해결
데이터 분석 SQL Fundamentals
안녕하세요 강사님, 조인 실습을 하다가 목적에 따라 FROM 과 JOIN에 들어가는 테이블이 다른 것을 알게되었는데 그 이유과 기준이 궁금합니다. "job이 SALESMAN인 직원정보와 직원이 속한 부서명을 가져오기" 의 예시에선 FROM emp JOIN dept로 조인을 하셨다면, "부서명 SALES와 RESEARCH의 소속 직원들의 부서명, 직원번호, 직원명, JOB 그리고 과거 급여 정보 추출"의 예시에선 FROM dept JOIN emp 로 조인을 하셨습니다. 감사합니다!
미해결
다양한 사례로 익히는 SQL 데이터 분석
데이터 분석 sql fundamentals의 다운받은 자료는 한글이 깨지지 않던데, 지금 강의는 다운받고 압축을 풀어보면 주석에 있는 한글이 다 깨져 있습니다. 강의를 보면서 한글이 보일때마다 최대한 수정을 해보려 하는데... 강의에 안보이는 한글 주석들이 꽤 있습니다. 저만 그런건지 확인 부탁 드리고 싶습니다. 제 환경은 윈도우11, 반디집으로 압축을 풀었습니다.
미해결
다양한 사례로 익히는 SQL 데이터 분석
어제 장문의 글을 올렸는데 이유는 모르겠으나 찾아볼수가 없어서 다시 작성을 합니다. 현재 sqlalchemy의 문법 강제성의 이유로 2.0.0 버전 이후로는 사용하신 방법으로는 실행이 되지 않습니다. 이에 2.0.0 이전 버전으로 다운그레이 하거나 (저는 이 방법이 통하지 않아 다른 방법을 찾아봤습니다) 다음과 같은 방법을 사용하면 됩니다. 제가 참고한 해외 커뮤니티들에서 제시하는 사용 방법으로는 모든 query에 text() 함수를 사용해 반환된 값을 read_sql_query에 사용하라고 되어 있었는데 테스트 해 보니 현재 작성된 쿼리 스트링으로 사용해도 문제가 없었습니다. import pandas as pd from sqlalchemy import create_engine, text conn_string = 'postgresql://postgres:1324@localhost:5432/inflearn' conn = create_engine(conn_string) postgres_engine = conn.connect()
미해결
[백문이불여일타] 데이터 분석을 위한 중급 SQL
안녕하세요! 벌써 중급의 마지막 문제네요.. SELECT X, Y FROM functions WHERE X =Y GROUP BY X, Y HAVING COUNT(*) > 1 UNION SELECT f1.X, f1.Y FROM functions AS f1 INNER JOIN functions AS f2 ON f1.X = f2.Y AND f1.Y = f2.X WHERE f1.X < f1.Y ORDER BY X ASC 위의 코드에서 전체 ORDER BY를 해주려면 맨 마지막에 써야 한다는 건 이해했어요! 근데 만약에 UNION 해줄 때 둘 중 하나의 쿼리에만 ORDER BY를 적용시키고 싶을 때는 위의 코드를 어떻게 변경해야 하나요?