묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
- 
      
        
    미해결업무에 바로 쓰는 SQL 튜닝BNL Join 사용SELECT EMP.emp_id, EMP.first_name, EMP.last_name, GRADE.grade_nameFROM GRADE, EMP; -- 카테시안 곱 mariadb로 실습을 진행했는데 hash join이 쓰이는게 아니라flat, BNL join을 사용한다고 되어 있네요?BNL Join은 MySQL이 인덱스가 없거나 사용할 수 없는 상황에서 기본적으로 사용하는 비효율적인 조인 알고리즘이라는데 원인이 무엇일까요?grade 테이블을 hash join table로 사용하지 않네요? 
- 
      
        
    해결됨[백문이불여일타] 데이터 분석을 위한 기초 SQLCEIL, FLOOR 함수 질문- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.CEIL함수와 FLOOR함수 또한 소수점에서도 올림과 내림이 가능한가요?ex) SELECT CEIL(5.55, 2) => 5.56 이런식으로 가능한지 궁금하네요해커랭크하고 w3school 에서는 에러나더라구요 
- 
      
        
    미해결[리뉴얼] 처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지]실습 코드 깃허브 업로드안녕하세요! 데이터분석 직무로 SQL 수업을 듣게 되었습니다! 혹시 실습하면서 정리한 코드 깃허브에 업로드가 가능할까요? - 강의 영상에 대한 질문이 있으시면, 상세히 문의를 작성해주시면, 주말/휴일 제외, 2~3일 내에 답변드립니다 (이외의 문의는 평생 강의이므로 양해를 부탁드립니다.)- 강의 답변이 도움이 안되셨다면, dream@fun-coding.org 로 메일 주시면 재검토하겠습니다. - 괜찮으시면 질문전에 챗GPT 와 구글 검색을 꼭 활용해보세요~- 잠깐! 인프런 서비스 운영(다운로드 방법포함) 관련 문의는 1:1 문의하기를 이용해주세요. 
- 
      
        
    미해결FastAPI 완벽 가이드docstring이 안 먹혀요docstring이 안 먹혀요..AI한테 물어봐도 해결이 안되네요 왜 저는 docstring이 안보일까요?? 다른거 summary 나 tags, description은 다 해결가능합니다. 
- 
      
        
    해결됨[백문이불여일타] 데이터 분석을 위한 중급 SQLCASE WHEN 쿼리 오류 문의안녕하세요!'CASE를 활용한 테이블 피봇(난이도 상)' 수업 수강중, 쿼리 오류가 발생하여 글 남깁니다 ㅠㅠ강의에서 작성해주신 쿼리 그대로 작성하였는데 'An unspecified error occurred.' 라는 오류가 발생합니다.어떻게 해결할 수 있는지 알 수 있을까요?감사합니다 🙂 
- 
      
        
    미해결데이터 분석 SQL FundamentalsDbeaver오류Dbeaver 설치하고 영상처럼 sql연결하였더니 연결오류라고 나옵니다어떤걸 해결해야할까요- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 
- 
      
        
    미해결비전공자도 이해할 수 있는 MySQL 성능 최적화 입문/실전 (SQL 튜닝편)강의 질문 있습니다having에 있는 쿼리문을 where문으로 바꿔서 최적화 시키는 것은 이해가 갔습니다. 강의에는 인덱스 사용이 없어서 제가 한번 적용시켜보려고 멀티 컬럼(year, semester) 이렇게 넣고 explain 해보니 ref와 eq_ref가 떴는데도 불구하고 속도는 차이가 별반 다를게 없네요(2초 후반)인덱스를 어떻게 넣어야할지 알려주시면 감사합니다 
- 
      
        
    미해결[리뉴얼] 처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지]sql_safe_updates 옵션sql_safe_updates 옵션때문에 강의처럼 쿼리문을 작성할 경우, 업데이트가 되지 않습니다. 이 부분은 끄고 진행해도 되나요? 그리고 현업에서 보통 끄고 데이터 작업을 하는지 궁금합니다 
- 
      
        
    미해결업무에 바로 쓰는 SQL 튜닝select_type 에서 'simple' 경우 각각의 테이블이 '드라이빙' 또는 '드리븐' 인지 어떻게 알수 있나요?안녕하세요. 우선 좋은 강의 만들어주셔서 정말 감사합니다 :)select_type 에서 'simple' 경우 각각의 테이블이 '드라이빙' 또는 '드리븐' 인지 어떻게 알수 있나요? 5-2. 실행계획 항목(1) -> 05:40 영상을 확인해보면 실행계획에서 table 필드 값 "e" 하고 "s" 가 있는데요.여기서 질문 2가지가 있습니다.질문1: 여기서 각각의 테이블이 '드라이빙' 또는 '드리븐' 인지 어떻게 알수 있나요?(실행 계획 통해 조회된 데이터 순서대로 판단하면 되는것인지... 궁금하네요.. 그런데 이걸로 100% 판단하기에 조금 어렵다고 들어서요...)질문2:만약 테이블 "e" 가 드라이빙 테이블이라고 가정시실질적으로 쿼리 수행할때 테이블 "e" 에 대한 where 절 조건을 이용해서 먼저 필터링 한다음에테이블 "s" 하고 조인 수행을 하는것인지 궁금 합니다.즉 드리아빙 테이블 조건절 이용해서 최대한 필터링 하고그다음 드이븐 테이블하고 조인을 수행하는지 궁금합니다. 
- 
      
        
    미해결장래쌤과 함께하는 쉽고 재미있는 SQL 이야기create view안녕하세요 선생님. Create 구문을 작성했는데 선생님 자료와 달리 0row affected. 라고 나오며 데이터 결과가 없는 걸로 나옵니다. create에 커서를 대면 create is not vaild at this position, expection EOF, ";"라고 나오는데 이것과 관계가 있을까요? 아니면 제가 어떤 구문을 잘못 작성한 것일까요? 확인 부탁드리겠습니다. 
- 
      
        
    미해결데이터 분석 SQL Fundamentals직원 별 가장 높은 매출14:38초 예제에서 직원별 개별 상품 매출액, 직원별로 가장 높은 매출 대비 개별 상품 매출 비율 구하기 with temp_01 as( select employee_id ,sum(amount)as sum_by_emp_prod --직원별 개별 상품 매출액 -- ,max (amount) as max_emp --직원 별 가장 높은 매출 from orders a join order_items b on a.order_id=b.order_id group by employee_id )select sum_by_emp_prod,sum_by_emp_prod/max(sum_by_emp_prod)over(partition by employee_id) from temp_01; group by할때 왜 product_id도 group by하나요? 직원별 개별 상품인데 employee_id와 그룹바이 하면 되는거 아닌가여 ? 직원별로 가장 높은 매출을 max(sum_by_emp_prod)over(partition by employee_id) 이렇게 구하셧는데 with절에서 group by로 해서 with temp_01 as( select employee_id ,sum(amount)as sum_by_emp_prod --직원별 개별 상품 매출액 ,max (amount) as max_emp --직원 별 가장 높은 매출 from orders a join order_items b on a.order_id=b.order_id group by employee_id ) 이렇게 구하면 안되나여? 
- 
      
        
    미해결데이터 분석 SQL Fundamentals강의순서대로 실습코드순알려주세요.복습할려는데..실습코드순서를 모르겟어요 
- 
      
        
    미해결FastAPI 완벽 가이드connection pool과 관련해 질문을 드립니다.sqlalchemy 강의 내용에 보면 connection pool에 대한 이론과 실습 설명이 있었습니다.헌데 비동기를 이용하여 하나의 connection pool만 사용하는 것으로 실습과 코드가 마무리 되더군요.제가 생각할 때, connection pool을 제대로 사용하기 위해서는 사용 가능한 모든 pool 을 병렬로 처리해야 하지 않을까란 생각이 들었습니다.하지만, 비동기 병렬 처리를 하게 되면 트랜잭션 락으로 인해 race condition 상태 등의 더 복잡한 문제가 발생할거 같은데, 사용하는게 맞는가란 생각도 들었습니다.이에 아래와 같은 질문을 드리려 합니다.1. 실무에서 사용시 connection pool로 할당한 수만큼 비동기 병렬로 처리를 하는게 맞는지요?2. 만약 맞다면, 트랜잭션 락은 어떻게 구현하여 사용하는게 일반적인지요?혹은, 예제와 달리, fastapi에서는 요청이 들어오는대로 각각의 connection pool에 할당을 하고 10개가 넘는 경우는 대기를 하다 반환된 pool에 배치되는건지요? 
- 
      
        
    해결됨SW 개발자를 위한 성능 좋은 SQL 쿼리 작성법USE EPlanHeap 구문 실행 오류안녕하세요.예제 스크립트 실행 중 오류가 확인되어 문의드립니다. EPlan 테이블 생성 구문을 이용하여 Eplan 테이블은 정상적으로 생성된 듯 보이나, 예제 구문 중USE EPlanHeap 선택 시 EPlanHeap라는 테이블이 존재하지 않는다는 오류가 발생하고 있습니다 MSSql에는 테이블에 대한 Heap를 생성하는 별도의 구문이 존재하는 것이 맞을까요?EPlanHeap 테이블이 테이블 생성 구문이 정상적으로 실행되면 생성되는 테이블이 맞을까요?해당 테이블이 생성되었는지 확인할 수 있는 방법이 있을까요?확인 부탁드립니다. 감사합니다 :) 
- 
      
        
    미해결실습으로 손에 잡히는 SQLD의 정석(2과목)아 정말 짜증나네docker 처음 접해본 사람인데..왜 이렇게 설명을 무성의 하게하는건지 모르겠네요 대부분 사용자가 원도우 사용자일텐데원도우에서도 똑같다고 말하고 넘어가면 끝인가파일은 어디서 받아야한다고만 써놓고 깃도 들어가보니 다운도 안되고 내가 무식한건 알겠찌만..좀 돈받고 하는거면 좀 편하게 설명해줘야하는거 아닌가 
- 
      
        
    미해결FastAPI 완벽 가이드put, patch, delete에 대해 질문 드립니다.학습 중에 fastapi는 get과 post만 지원하기 때문에 별도로 미들웨어를 이용해 put, patch, delete를 구현해야 한다고 이해를 하게 되었습니다.헌데 다른 학습 웹 문서나, gpt에게 여러 요청을 통해 확인을 하는 과정에서 app. 혹은 @router. 을 사용해 이미 지원되는 put, patch, delete를 사용할 수 있다고 설명을 하는 것을 확인할 수 있었습니다.제가 학습 영상에 대해 이해를 잘못하고 있는 것인지 혹 놓친게 있는지 알고 싶어 질문을 드립니다. 
- 
      
        
    미해결데이터 분석 SQL Fundamentalsm:n inner join일 경우 cross조인과 동일하게 동작되는건가요?강의 9:53에 inner join을 했을때 m:n이라서 empno가 7369 인 행이 6건이 출력되었습니다. m:n인 경우 inner join은 cross join와 동작이 동일한걸까요?둘의 차이점이 멀까요? 
- 
      
        
    미해결시니어 백엔드 개발자가 알려주는 데이터베이스 개론 & SQL요청사항이 있습니다!너무 좋은 강의 무료로 제공해주셔서 감사합니다.혹시 강의자료를 공유받을 수 있을까요? 복습할 때 있으면 도움이 많이 될 것 같아 여쭤봅니다! 
- 
      
        
    해결됨초보자를 위한 BigQuery(SQL) 입문총 정리 문제 풀이 4번 질문 있습니다.안녕하세요. 선생님,총 정리 문제 풀이 4번을 강의를 보면서 쿼리를 따라 작성해봤는데 결과가 pokemon_cnt: 1, avg_level: 42.0으로 다르게 나오네요.. 몇 번을 다시 새로 써도 똑같은 결과가 나옵니다 ㅠㅠWITH winner_cnts AS ( SELECT winner_id, COUNT(winner_id) AS win_cnt FROM basic.battle WHERE winner_id IS NOT NULL GROUP BY winner_id ), top_winner AS ( SELECT wc.winner_id AS trainer_id, wc.win_cnt, t.name AS trainer_name FROM winner_cnts AS wc LEFT JOIN basic.trainer AS t ON wc.winner_id = t.id ORDER BY wc.win_cnt DESC LIMIT 1 ) SELECT tw.trainer_id, tw.trainer_name, tw.win_cnt, COUNT(tp.pokemon_id) AS pokemon_cnt, ROUND(AVG(tp.level),2) AS avg_level FROM top_winner AS tw LEFT JOIN basic.trainer_pokemon AS tp ON tw.trainer_id = tp.id WHERE tp.status IN("Active", "Training") GROUP BY tw.trainer_id, tw.trainer_name, tw.win_cnt 
- 
      
        
    해결됨초보자를 위한 BigQuery(SQL) 입문총 정리 문제 풀이 2번 방출 여부 상관안녕하세요. 선생님, 2번 문제에 질문있습니다.2. 각 포켓몬 타입1을 기준으로 가장 많이 포획된(방출 여부 상관없음) 포켓몬의 타입1, 포켓몬의 이름과 포획 횟수를 출력해주세요.위 문제에서 만약에 방출 여부를 판단하고 풀어본다면 어떻게 나오는지 궁금해서 풀이를 해보았습니다. 아래 쿼리대로 풀면 될까요?WITH result AS ( SELECT pokemon_id, status, SUM(CASE WHEN status IN('Active', 'Training') THEN 1 ELSE 0 END) AS status_pokemon_cnt FROM basic.trainer_pokemon GROUP BY pokemon_id, status ORDER BY status_pokemon_cnt DESC ) SELECT type1, kor_name, status_pokemon_cnt FROM result LEFT JOIN basic.pokemon AS p ON result.pokemon_id = p.id LIMIT 1 
