묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[백문이불여일타] 데이터 분석을 위한 SQL 실전편 (무료 미니 코스)
데이터 접근이 불가하여 데이터를 요청 문의 드립니다.
안녕하세요! 다름이 아니라, 강의에서는 MODE 플랫폼을 통해 프로젝트 3개를 수행하고 있는데, MODE에서 진행하던 SQL Tutorial 게시글이 ThoughtSpot 플랫폼으로 옮겨지면서 게시글은 그대로인데 프로젝트에 필요한 데이터 다운로드가 불가능해졌습니다.강의에서는 확인 가능한 페이지가 아래와 같이 접근이 불가합니다. 강의에서 진행되는 아래 3가지 프로젝트에 필요한 데이터를 메일이나 다른 방법으로 받을 수 있을까요?- Investigating a Drop in User Engagement- Understanding Search Functionality- Validating A/B Test Results데이터리안 강의와 블로그를 통해 이직 준비에 많은 도움을 받고 있는데, 데이터를 받아 이 프로젝트를 진행해본다면 중요한 의의를 배울 수 있을 것이라 생각합니다. 부디 전달해주시면 정말 감사드리겠습니다!! 답변 부탁드립니다.
-
해결됨[백문이불여일타] 데이터 분석을 위한 기초 SQL
SQL제대로 공부하고 싶어서 수강했는데 SQLD시험에도 효과적일까요?
제목그대로 입니다.SQL 완전 노베이스라SQL제대로 공부하고 싶어서 수강했는데 SQLD시험에도 효과적일까요?
-
미해결IT 필수 지식 - 데이터베이스(Database) 와 SQL
강의자료가 다릅니다.
문혜영 교수님이 말씀하시는데, 강의 자료는 박대근 교수님의 파일입니다. 강의자료 재업로드 부탁드립니다.
-
미해결[2026] SQLD 문제가 어려운 당신을 위한 노랭이 176 문제 풀이
DIVIDE 인지 어떻게 판단할 수 있나요?
"비선호 컨텐츠 엔티티에 등록된 데이터에 대해서는 추천을 수행하지 않아야한다."이 부분은 LEFT JOIN 을 하고 IS NULL 로도 체크가 가능하지 않을까 생각이 드는데, 설명에서 저 구분은 DIVIDE 이기 때문에 NOT EXISTS 로 해야된다고 하셨는데, 판단 이유가 궁급합니다!
-
미해결데이터 분석을 위한 SQL 문제풀이 (Advent of SQL 2024)
게임을 10개 이상 발매한 게임 배급사 찾기
WITH STAT AS( SELECT publisher_id, name FROM games GROUP BY publisher_id, name HAVING COUNT(*) >=10 ) SELECT A.name FROM STAT AS A JOIN companies AS B ON A.publisher_id = B.company_id mysql로 이렇게 작성하니까 답이 하나만 나오는데, 강사님이 작성한 코드SELECT name FROM( SELECT publisher_id, COUNT(*) AS CNT FROM games GROUP BY publisher_id HAVING CNT>= 10 ) AS A JOIN companies AS B ON A.publisher_id = B.company_id이것과 차이가 뭔지 궁금합니다
-
해결됨[백문이불여일타] 데이터 분석을 위한 기초 SQL
수강기한
sql 강의 수강 도중에 기한이 3개월에서 무제한으로 변경되었지만, 내 학습에서는 여전히 3개월 기한이 있습니다. 현재 강의 무제한으로 제공되는데 해당 강의를 무제한 기한으로 이용할 수 있는지 문의드립니다
-
미해결김영한의 실전 데이터베이스 입문 - 모든 IT인을 위한 SQL 첫걸음(SQL부터 차근차근)
MySQL 설치 질문 드립니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.MySQL 설치 중인데, 스크린샷과 같이 중간에 4번째 항목 X표시 되면서 더 이상 설치가 안되네요.
-
미해결IT 필수 지식 - 데이터베이스(Database) 와 SQL
강의자료가 다른거 같아요.
강의자료가 수업 내용과 다른거 같습니다.
-
미해결IT 필수 지식 - 데이터베이스(Database) 와 SQL
강의자료 확인 요청
안녕하세요, 좋은 강의 잘 듣고 있습니다.다름이 아니라, 강의 자료가 본 강의와 무관한 것으로 올라가 있는 것 같습니다. 확인 한번 부탁드립니다!
-
미해결다양한 사례로 익히는 SQL 데이터 분석
쿼리 질문있습니다!!
selectgenerate_series('2016-08-02'::date, '2016-11-01'::date, '1 day'::interval)::dateascurrent_date)위의 쿼리로 series를 생성하신 이유가selectdate_trunc('day', visit_stime)::dateascurr_datefromga_sessgroupbydate_trunc('day', visit_stime))이 쿼리로 temp_00을 생성하면 11-01 일자의 dau를 구할수 없어서 인지 궁금합니다!
-
미해결데이터 분석 SQL Fundamentals
join 관련 질문 (inner join, left join)
inner join과 left join에 대해서 이론적으로는 이해가 되는데 실제 테이블 관계 설정시 조인을 사용해야하는 상황에 대해서 아직 감이 잘 잡히지 않습니다.강사님께서 조인을 선택해서 사용하실때 기준이 있을까요?? left join을 할시, 기준이 되는 테이블(부모 테이블) 붙이는 테이블(자식 테이블)로 이해를 했습니다. 부모테이블의 경우 집합레벨 1, 자식테이블 집합레벨 M으로 이해하는게 맞을까요??
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
order_item 테이블 (order_id, product_id) 유니크 제약조건 누락
안녕하세요. 항상 좋은 강의 잘 듣고 있습니다. 다름이 아니라, 강의 및 강의 자료에 누락된 부분이 있는 것 같아 글 남깁니다.[물리적 모델링 - 실습] 파트에서 테이블 정의서 및 DDL 스크립트를 작성하는 부분에 order_item 테이블이 order_id와 product_id를 각각 외래키로 들고 있는데, 앞선 강의에서 설명해주신 바에 따르면, 주문 항목 데이터 저장 시, 특정 주문에 대한 특정 상품 하나가 여러 번 중복으로 저장되는 걸 방지하기 위해, (order_id, product_id)에 UNIQUE 제약조건을 만들어야 된다라고 하셨는데, 그 부분이 빠진 것 같습니다.감사합니다.
-
미해결데이터 분석 SQL Fundamentals
배치에서 full outer join을 쓴다고 하셨는데 예시를 알 수 있을까요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 배치에서 full outer join을 쓴다고 하셨는데 예시를 알 수 있을까요?배치에서 쓰인다는게 잘 와닿지가 않습니다.
-
미해결데이터 분석 SQL Fundamentals
Madrid에 살고 있는 고객이 주문한 주문 정보를 구할것. 실습 질문드립니다
안녕하세요 해당 강의 2분 50초 정도에서 궁금한 것이 있습니다. 고객이 한 번도 주문을 하지 않은 경우에도 고객정보는 조회가 되어야하기 때문에 left outer join을 쓰는 이유는 이해가 되는데요.그 다음 주문접수 직원정보를 구해야 할 때 left join을 하는 부분이 이해가 되지 않습니다. 저는 join key를 b와 c 테이블에 대해서 하니까 b와 c간의 join으로 생각이 되어서 inner join을 걸었었는데요. 이건 사실 customers와 employees 간의 outer join이니까 left outer join을 써야하는걸까요?
-
미해결실리콘밸리 데이터 리더가 알려주는 기초 SQL
강의 교안 제공 문의
안녕하세요 강사님! 정말 명강입니다....감탄하면서 잘 듣고 있습니다! 다름이 아니라, 혹시 강의 교안은 따로 제공이 될까요?코랩 실습파일은 있는데, 강의 교안 다운 링크가 없어서요 혹시 강의 교안 pdf로 제공되는지 문의드립니다!
-
미해결3시간 완성, 비개발자를 위한 최소한의 SQL
구글 시트 링크
구글 시트 링크가 혹시 잘못되었을까요? 알려주신 링크를 입력하였는데 시트가 안나옵니다.
-
해결됨초보자를 위한 BigQuery(SQL) 입문
섹션 별 퀴즈
질문이 있는 경우 다음과 같이 시도해보고 공유해주세요구글에 검색한 후, 어떤 결과가 나왔는지그 결과를 토대로 어떤 시도를 했는지? 시도에서 어떤 과정이 진행되지 않았는지데이터를 추출하는 과정에 대한 고민은 Input / Output을 작성해주세요 안녕하세요.시작 전에 문제를 풀고 강의를 수강하라고 하셨는데말씀주신 문제가 섹션별로 나와있는 퀴즈를 말씀하신걸까요?
-
미해결실리콘밸리 데이터 리더가 알려주는 Airflow 기초
forloop으로 task 정의시 task_id 정해지는 로직
안녕하세요. 49강 수강 중 질문이 있습니다. for table_name in TABLES.keys(): extract_from_postgres(postgres_schema, table_name) >> load_to_snowflake(snowflake_schema, table_name)현재 강사님이 주신 이 코드 기준 테이블 2개 tasks 2개 해서 총 4개의 tasks가 airflow tasks list의 결과로 반환되었는데요, 이때의 결과물인 tasks_id가 어떻게 만들어지는지 궁금합니다.조금 더 정확히는 forloop으로 task를 정의할 때 어떤 식으로 DAG가 이 task의 개수를 세고 네이밍을 하는지 궁금합니다.혼자 테스트를 해보고 싶어서 임의의 테이블 하나를 postgres:production에 추가하고 코드내부의 TABLES 딕셔너리에 제가 추가한 테이블의 스키마를 추가하였습니다. 이때 테이블이 총 3개가 되었으므로 airflow tasks list의 결과가 총 6개가 될 것으로 예상하였는데 여전히 4개로 나옵니다. 제가 놓친 부분이 있을까요?현재 production schema아래 3개의 테이블이 있는 상태입니다.airflow=# SELECT table_name FROM information_schema.tables WHERE table_schema = 'production' AND table_type = 'BASE TABLE' ORDER BY table_name; table_name ------------------------ session_timestamp user_session_channel user_session_channel_2 (3 rows)감사합니다. 학습 관련 질문을 상세하게 남겨주시면 더 좋습니다. 예를 들어 이해가 안 가는 부분이 있다고 하면 강의에서 어느 부분인지 어떤 부분이 이해가 안되는지 등등 추가 정보가 큰 도움이 됩니다. 그리고 에러가 난다면 어떤 에러 메시지가 나오는지 같이 공유해주세요. 혹시라도 유사한 질문이 있었는지 먼저 확인 부탁 드리겠습니다. 서로 예의를 지키며 존중하는 문화를 만들어갔으면 하고 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결성공적인 SQL 인젝션 공격을 위한, SQL 기본 문법
화면 크기에 대하여
강의 영상을 보면서 따라하기에는 터미널 화면이 너무 작네요. 그냥 눈으로만 볼 수 있을 뿐...따라하면서 배우기는 어려운 강의라고 생각됩니다.
-
미해결실전 jOOQ! Type Safe SQL with Java
안녕하세요 FetchGroups에서 Multiset방식 사용하면 어떤가 해서 물어봅니다
안녕하세요 공부하다가 보니FetchGroups방식으로 했을때 Map으로 반환되고 DTO로 변환해야하는 오버헤드가 발생하는데요Multiset방식으로 하면 1:N 관계에서 바로 DTO로 반환 할 수 있는데요코드 보기가 조금은 더 복잡해 보이지만 WHERE절이 있을때 현재 테이블 데이터와 인덱스 상으로는 성능적으로 더 괜찮은거 같아서 multiset방식은 강의에 없어서 어떤지 궁금해서 여쭤봅니다 public List<ActorFilmography> findActorFilmographyWithMultiset(ActorFilmographySearchOption searchOption) { final JFilmActor FILM_ACTOR = JFilmActor.FILM_ACTOR; final JFilm FILM = JFilm.FILM; return dslContext.select( ACTOR, DSL.multiset( DSL.select(FILM.fields()) .from(FILM) .join(FILM_ACTOR) .on(FILM.FILM_ID.eq(FILM_ACTOR.FILM_ID)) .where( FILM_ACTOR.ACTOR_ID.eq(ACTOR.ACTOR_ID), containsIfNotBlank(FILM.TITLE, searchOption.getFilmTitle()) ) ).convertFrom(r -> r.into(Film.class)) ) .from(ACTOR) .where( containsIfNotBlank(ACTOR.FIRST_NAME.concat(" ").concat(ACTOR.LAST_NAME), searchOption.getActorName()) ) .fetch(record -> new ActorFilmography( record.value1().into(Actor.class), record.value2() )); }WHERE 조건 포함 시 성능 비교 fetchGroups 방식 (cost=405, rows=609) Film 필터링 먼저 → FilmActor 조인 → Actor 필터링 1. film 테이블 스캔 (1000 rows) └─ LIKE '%COMMANDMENTS EXPRESS%' → 111 rows 2. film_actor 인덱스 조회 (idx_fk_film_id) → 609 rows 3. actor PRIMARY KEY 조회 → 609 rows └─ LIKE '%LOLLOBRIGIDA%' → 1 row (최종) 특징: - Film 조건이 선택적이면 먼저 필터링하여 조인 범위 축소 - 하지만 Actor 필터링은 마지막에 수행 (비효율) - 609개 row가 네트워크 전송 → 애플리케이션에서 1개로 그룹핑 --- multiset 방식 (cost=20.2 + 13.3 × filtered_actors) Actor 필터링 먼저 → 각 Actor의 Film 서브쿼리 1. actor 테이블 스캔 (200 rows) └─ LIKE '%LOLLOBRIGIDA%' → 1 row (필터링 후) 2. 필터링된 1개 actor에 대해 서브쿼리 실행: - film_actor PRIMARY KEY 조회 (27.3 rows 추정) - film PRIMARY KEY 조회 (27.3번) - LIKE '%COMMANDMENTS EXPRESS%' → 1개 매칭 특징: - Actor 조건을 먼저 적용하여 서브쿼리 실행 횟수 최소화 - 필터링된 1개 Actor만 네트워크 전송 (JSON 포함) - Film 필터링은 각 actor 서브쿼리 내부에서 수행 --- 실제 Total Cost 계산 fetchGroups Total: 405 네트워크 전송: 609 rows (Actor + Film 중복 포함) 애플리케이션 처리: Map 생성 + Stream 변환 multiset Total: 20.2 + (13.3 × 1) = 33.5 네트워크 전송: 1 row (Actor + JSON array) 애플리케이션 처리: JSON 역직렬화 결론: WHERE 조건이 있으면 multiset이 압도적으로 유리 (405 vs 33.5)FetchGroups는 Actor를 나중에 필터링하고 multiset은 actor를 먼저 필터링해서 1개에 대한 film을 여러개 가져와서 현재 데이터에서는 더 유리한데 일반적인 사용법이 궁금합니다