묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨김영한의 실전 데이터베이스 - 기본편
실무에서 인덱스 설계는 보통 개발 어느 시점에 진행하나요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]영한님이 제시해주신 가이드라인을 보면서'모든 기능 요구사항을 기본적으로 구현한 후, 작성된 쿼리를 전반적으로 훑어보면서 인덱스를 설계' 하는 것이 가장 효율적일 것이라고 생각이 들었는데요.영한님은 실무에서 인덱스 설계는 보통 개발 어떤 시점에 진행하시는지 궁금합니다.
-
미해결김영한의 실전 데이터베이스 - 기본편
서브쿼리 메인쿼리 논리적 순서
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]강의에서 서브쿼리가 먼저 실행된다고 설명해주셨는데, 그럼 메인쿼리 입장에서는 WHERE절이 먼저 실행되는거 아닌가요? 메인쿼리 입장에서는 FROM절 -> WHERE절 실행이니까 FROM먼저 실행되고, 그 다음에 서브쿼리(서브쿼리 내에서도 논리적 실행 순서 동일)가 실행되는건지 아니면 서브쿼리 즉 메인쿼리 입장에선 WHERE절이 먼저 실행되는건지 궁긍합니다.
-
해결됨BigQuery(SQL) 활용편(퍼널 분석, 리텐션 분석)
최종 과제 제출
안녕하세요, 로그를 분석해서 글로 작성해보았습니다.혹시 가능하시다면 한번 보시고 개선하면 좋을 점을 알려주시면 공부를 이어가는 데 많은 도움이 될 것 같습니다!🙇♂노션 페이지 링크 남깁니다.https://www.notion.so/inflearn-app_logs-24eceb39ae70805f81abfee9aa86ebc2?source=copy_link고민되었던 부분장황하게 이것저것 설명은 했지만, 결국 도출한 결론은 '결제 경험이 있는 사용자의 재방문을 발생시켜서 결제 건수를 높여보자 ' 입니다. 재방문 사용자가 유입되도록 하고 행동을 지켜보자는 것인데,, 이러한 액션이 특별히 효과적일 것이라는 것을 로그로부터 미리 확인할 수 있는 방법이 있을까요..?구체적으로 어떤 집단에 액션을 수행하자는 결론을 도출하고 싶었는데 잘 되지 않은 것 같습니다
-
미해결[2026] 비전공자도 한 번에 합격하는 SQLD 올인원
Part 2 > Chapter 3 단원 정리 문제
문제 2번입니다.답지에는 3번으로 나와있는데 1번도 정답아닌가요?문제 4번입니다.답이 1번 같은데 답지에는 2번이라고 나와있습니다.조건이 CATEGORY = 'Electronics' 인데 모든 PRICE에 1.1이 곱해진거 같습니다. 문제 5번입니다.답이 1번 같은데 답지에는 1, 2번이라고 나와있습니다.
-
미해결[2026]비전공자도 한 번에 합격하는 SQLD Part2
챕터1. SQL 기본 단원정리문제 53번
먼저 유사한 질문이 있었는지 검색해보세요.서로 예의를 지키며 존중하는 문화를 만들어가요.잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.NAME, SUM(O.AMOUNT) 값이 아래같은데Alice, 800;Bob, NULL;Carol, 200; 정렬기준을 SUM(O.AMOUNT) DESC 이면 NULL 값이 가장 큰 값이니 Bob, NULL;Alice, 800;Carol, 200;가 답이 되어야 하는거 아닌가요? 정답이 없는듯한데 맞나요?
-
미해결[2026]비전공자도 한 번에 합격하는 SQLD Part2
챕터1. SQL 기본 단원정리문제 23번, 50번
먼저 유사한 질문이 있었는지 검색해보세요.서로 예의를 지키며 존중하는 문화를 만들어가요.잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 챕터1. 단원정리문제 23번WHERE PRICE NOT BETWEEN 20 AND 100조건일 경우 Mouse 15, Monitor 150 두 개 다 해당인듯한데 정답이 그럼 2, 3 둘 다 되는거 아닌가요. 50번ORDER BY D.DEPT_NAME으로 ASC정렬이면 Carol Finance; Alice Hr;Bob Null;이 순서가 맞는거 아닌가요?F -> H -> Null 은 가장 큰 값 아닌가요.
-
미해결[2026]비전공자도 한 번에 합격하는 SQLD Part2
챕터1. SQL 기본 단원정리문제 23번
먼저 유사한 질문이 있었는지 검색해보세요.서로 예의를 지키며 존중하는 문화를 만들어가요.잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 챕터1. 단원정리문제 23번WHERE PRICE NOT BETWEEN 20 AND 100조건일 경우 Mouse 15, Monitor 150 두 개 다 해당인듯한데 정답이 그럼 2, 3 둘 다 되는거 아닌가요.
-
미해결[2026] 비전공자도 한 번에 합격하는 SQLD 올인원
문제에 문제가 있는 것 같습니다.
Part 2 > Chapter 1 단원 정리 문제문제 57번입니다.쿼리문대로라면 2번이 답같은데 답지에는 1번이라고 나와있네요
-
해결됨김영한의 실전 데이터베이스 입문 - 모든 IT인을 위한 SQL 첫걸음(SQL부터 차근차근)
문제5번 - 함수 코드 중복 방지를 위한 방법 중 서브쿼리와 CTE의 차이
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]질문이 서론과 본론으로 구분되어 있으며, 실제 질문 내용은 본론에 있습니다! 서론안녕하세요 영한님.문제5번에서는 SUBSTRING_INDEX(email, '@', 1) 함수를 user_id와 id_length에서 두 번 반복해서 사용하게 됩니다.중복 문제를 개선하기 위해 초기에는 다음과 같이 CHAR_LEGNTH(user_id) AS id_length로 시도를 했으나 실패했습니다. -- 에러 발생 코드 SELECT email, SUBSTRING_INDEX(email, '@', 1) AS user_id, CHAR_LENGTH(SUBSTRING_INDEX(user_id) AS id_length FROM customers ;그 이유는 SELECT 절의 모든 표현식이 논리적으로 동시에 평가되기 때문이라고 판단했고, 이를 해결하기 위한 방법 중 서브쿼리와 CTE(Common Table Expression) 방식을 찾았고 이를 직접 적용해봤습니다. -- sol1. 서브 쿼리 SELECT email, user_id, CHAR_LENGTH(user_id) AS id_length FROM (SELECT email, SUBSTRING_INDEX(email, '@', 1) AS user_id FROM customers ) AS dt ;-- sol2. CTE WITH email_parts AS ( SELECT email, SUBSTRING_INDEX(email, '@', 1) AS user_id FROM customers ) SELECT email, user_id, CHAR_LENGTH(user_id) AS id_length FROM email_parts; 본론이 과정에서 "서브 쿼리와 CTE의 성능 차이가 있는가?"에 대한 의문이 들어서 리서치를 했으나 제 수준이 부족한 탓인지 이에 대한 명확한 답변을 찾지 못했는데요(현재 '상황에 따라 다르다' 수준으로만 이해한 상태입니다).혹시 실무에서는 서브 쿼리와 CTE 중 (성능, 가독성, 개발팀 관례 등의 이유로 인해) 무엇을 선호하는지 의견을 들을 수 있을까 싶어 질문 남깁니다!혹시 다음 강의에서 다루는/다룰 내용이라면 제가 추후에 해당 강의를 들을 때 학습하도록 하겠습니다!
-
해결됨BigQuery(SQL) 활용편(퍼널 분석, 리텐션 분석)
weekly retention 구하기 과제
weekly retention 구하기 과제 해 봤습니다. 처음에 알려주신대로 두 가지 방법 1) EXTRACT 과 2) DATA_TRUNC 을 써서 각각 해 봤는데 일을 자르는 기준이 달라서 그런지 첫 데이터는 값이 같은데 1주가 차이나는 시점부터 데이터들의 값이 미세하게 차이가 나더라구요.그리고 차이를 계산할 때도 INT 타입이라 DIFF_DATE 대신 그냥 컬럼끼리 빼는 방법으로 계산해야 됐습니다. 만약 이게 동일 년도 내에서만 해야하는 분석이라면 어떤 방법이 더 좋은지 궁금합니다. WITH base AS( SELECT DISTINCT user_id, user_pseudo_id, event_name, DATE(DATETIME(TIMESTAMP_MICROS(event_timestamp), 'Asia/Seoul')) AS event_date, DATETIME(TIMESTAMP_MICROS(event_timestamp), 'Asia/Seoul') AS event_datetime FROM `advance.app_logs` WHERE event_date BETWEEN '2022-08-01' AND '2022-11-03' ) , first_week_data AS( SELECT *, MIN(week_date) OVER(PARTITION BY user_pseudo_id) AS first_week FROM ( SELECT user_pseudo_id, event_date, -- DATETIME_TRUNC(DATE(event_date), WEEK(MONDAY)) AS week_date, EXTRACT(WEEK FROM event_date) AS week_date FROM base ) ), week_diff_data AS ( SELECT *, -- DATE_DIFF(week_date, first_week, WEEK) AS week_diff (week_date-first_week) AS week_diff FROM first_week_data ), first_week_value_data AS( SELECT *, FIRST_VALUE(user_cnt) OVER (ORDER BY week_diff) AS first_week_value FROM( SELECT week_diff, COUNT(DISTINCT user_pseudo_id) AS user_cnt, FROM week_diff_data GROUP BY ALL) ORDER BY week_diff ) SELECT *, ROUND(SAFE_DIVIDE(user_cnt, first_week_value),3) AS retention FROM first_week_value_data
-
미해결[2026] 비전공자도 한 번에 합격하는 SQLD 올인원
여기도 문제가 있는거 같습니다.
Part 2 > Chapter 1 단원 정리 문제문제 50번입니다.쿼리문대로라면 Carol: Finance; Alice: HR; Bob: NULL이 맞지 않나요?
-
미해결[2026] 비전공자도 한 번에 합격하는 SQLD 올인원
문제가 잘못된 것 같습니다.
Part 2 - Chapter 1 단원 정리 문제문제 23번이 잘못 되어있는거 같습니다.문제대로라면 Mouse와 Monitor가 정답 아닌가요?
-
미해결김영한의 실전 데이터베이스 - 기본편
중복제거
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]풀이 시간에SELECT distinct u.name, u.email FROM users u JOIN orders o on u.user_id = o.user_id WHERE o.quantity > 1;한 번의 주문으로 상품을 2개 이상 구매한 고객의 쿼리는 중복제거를 해주셨는데요,SELECT u.name AS 고객명, u.email AS 이메일 FROM users u JOIN orders o on u.user_id = o.user_id JOIN products p on o.product_id = p.product_id WHERE p.category = '전자기기''전자기기' 카테고리 상품을 한 번이라도 구매한 고객은 중복제거를 해주지 않았더라구요. 하나의 그룹에 고객이 두명이 나오는 게 이상해서이 경우 distinct 혹은 GROUP BY u.name, u.email을 추가해주어 중복제거 해주면 될까요? distinct 와 GROUP BY 중 어떤걸 사용하는 게 더 좋을까요? 집계함수를 사용하지 않으니 distinct가 더 나을까요?
-
미해결실습으로 손에 잡히는 SQLD의 정석(2과목)
노랭이문제분석 경로 - 페이지 없음 확인
노랭이 문제분석 경로 링크 : 사용 권한이 없거나 삭제 또는 이동되었을 수 있습니다. 링크를 확인하고 다시 시도하세요. - 페이지를 찾을 수 없음 이라는 창으로 뜨는데요, 경로 확인부탁드려요!https://empty-coriander-983.notion.site/750c3d6b636e46eb95059f475afdba22?v=c3cce66658c641c8a4240bac0382e736&pvs=4
-
미해결김영한의 실전 데이터베이스 - 기본편
아우터 조인 기준 테이블 우선순위
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]안녕하세요, 영한님.강의를 수강하던 중 아우터 조인과 관련하여 고민이 생겨 질문드립니다. 아우터 조인의 기준 테이블은 질문의 의도에 따라 선정해야 함을 배웠습니다. 그러나 LEFT JOIN 사용의 편의성과 1:N 관계에서 발생하는 행 중복을 피해야 한다는 원칙이 서로 충돌하는 상황에서 어떤 기준을 우선하여 테이블을 선정해야 할지 판단이 서지 않아 문의드립니다. 이 두 가지 원칙이 상충될 때, 어떤 기준으로 우선순위를 결정하고 쿼리를 설계해야 하는지 영한님의 실무 팁에 대해서 바쁘신 와중에 답변해주시면 진심으로 감사하겠습니다.
-
미해결김영한의 실전 데이터베이스 입문 - 모든 IT인을 위한 SQL 첫걸음(SQL부터 차근차근)
order 테이블 생성이 안되네요
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]스크린샷과 쿼리문은 다음과 같습니다..CREATE TABLE orders ( order_id INT AUTO_INCREMENT PRIMARY KEY, customer_id INT NOT NULL, product_id INT NOT NULL, quantity INT NOT NULL, order_date DATETIME DEFAULT CURRENT_TIMESTAMP, status VARCHAR(20) NOT NULL DEFAULT '주문접수', CONSTRAINT fk_orders_customers FOREIGN KEY (customer_id) REFERENCES customers(customer_id), CONSTRAINT fk_orders_products FOREIGN KEY (product_id) REFERENCES products(product_id));
-
미해결실습으로 손에 잡히는 SQLD의 정석(2과목)
학생, 등록, 수업 데이터세트 로드 오류
안녕하세요! 수강생입니다!권한이 불충분하다는 오류가 계속 발생합니다.오류 해결 방법을 모르겠어서 질문합니다..!
-
해결됨[백문이불여일타] 데이터 분석을 위한 중급 SQL
SQL 코딩테스트 질문
안녕하세요 에이블리 데이터분석가 포지션에 지원했고,SQL테스트를 대비하고자 강의를 구매해서 듣고 있습니다.혹시 [백문이불여일타] 데이터 분석을 위한 기초 SQL[백문이불여일타] 데이터 분석을 위한 중급 SQL[백문이불여일타] 데이터 분석을 위한 중급 SQL 문제풀이이렇게 3가지 강의를 반복하면 코테 대비에 적절한지, 아니면 고급SQL까지 수강할 필요가 있는지 문의드립니다.감사합니다. :)
-
미해결실습으로 손에 잡히는 SQLD의 정석(2과목)
ERD 그리기?
노랭이 34번 문제 해설보면, 주어젠 <아래>로 ERD그린것을 보았는데, 시험때도 그릴 수 있어야 하나요?그리고 <아래>로 ERD를 그렸을때 꼭 한가지 형태만 나오는건가요? 대체적으로 그렇게 생각하여 그릴 순 있지만, 경우에따라 다른 조건?(식별자?)의 형태로 그려질수도 있는건 아닌지 ... 궁금합니다.
-
미해결김영한의 실전 데이터베이스 입문 - 모든 IT인을 위한 SQL 첫걸음(SQL부터 차근차근)
ifnull()과 default 차이
ifnull(인자1, 인자2) 은 인자1이 null이면 인자2를 값으로 사용한다고 설명하셨는데요.이것을 보고 생각나는 것이 테이블 생성시에 필드에 지정하는 default 가 생각나는데요.이 default도 필드 값이 null이면 지정한 default값을 사용하는데 그렇다면 ifnull()과 default의 차이점은 뭔가요?당장 제 수준에서 생각나는건 ifnull()은 매 쿼리 작성할때 기본값을 유연하게 변경할 수 있다? 이정도일 것 같은데이것말고 특별한 차이점 같은 것이 있을까요?