묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[백문이불여일타] 데이터 분석을 위한 기초 SQL
Weather Observation Station 12 질문
해당 문제에서 WHERE 쿼리 여러 많은 조건을 각각AND로 일일이 나열하셨는데 이걸 IN()처럼 간편하게 추출하는 방법은 없나요?
-
해결됨[백문이불여일타] 데이터 분석을 위한 기초 SQL
COLUMN에 대해 이해 안됨
여기서 문제에 칼럼을 가져오라고 하는데 맨 초반부 COLUMN이 세로 열이다라고 하셨는데 그렇게 따지면 필드랑 타입이 COLUMN 아닌가요? 설명에 모순이 있어 불편하네요.... 대체적으로 생초보에게는 어렵습니다.왜 갑자기 시티랑STATE가 COLUMN 인가요
-
미해결실습으로 손에 잡히는 SQLD의 정석(2과목)
학생,등록,수업 데이터세트 로드
안녕하세요..로드했는데 권한이 불충분하다고 뜨는데 이거 전에 로드 해야하는게 있었을까요...?
-
미해결실리콘밸리 데이터 리더가 알려주는 Airflow 기초
본문과 같은 메시지가 뜨면서, 어느 순간부터 계속 안되는데, 어떤 이유일까요 ㅠㅠ
[2025-04-07T14:51:04.313+0000] {taskinstance.py:3310} ERROR - Task failed with exceptionTraceback (most recent call last): File "/opt/airflow/dags/yfinance_to_snowflake_fullrefresh.py", line 56, in load raise e File "/opt/airflow/dags/yfinance_to_snowflake_fullrefresh.py", line 41, in load cur.execute(f"USE SCHEMA {schema};") File "/home/airflow/.local/lib/python3.12/site-packages/snowflake/connector/cursor.py", line 1087, in execute Error.errorhandler_wrapper(self.connection, self, error_class, errvalue) File "/home/airflow/.local/lib/python3.12/site-packages/snowflake/connector/errors.py", line 284, in errorhandler_wrapper handed_over = Error.hand_to_other_handler( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/airflow/.local/lib/python3.12/site-packages/snowflake/connector/errors.py", line 339, in hand_to_other_handler cursor.errorhandler(connection, cursor, error_class, error_value) File "/home/airflow/.local/lib/python3.12/site-packages/snowflake/connector/errors.py", line 215, in default_errorhandler raise error_class(snowflake.connector.errors.ProgrammingError: 002043 (02000): 01bb881b-0000-c602-0000-cde100062082: SQL compilation error:Object does not exist, or operation cannot be performed. During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/airflow/.local/lib/python3.12/site-packages/airflow/models/taskinstance.py", line 767, in executetask result = executecallable(context=context, **execute_callable_kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/airflow/.local/lib/python3.12/site-packages/airflow/models/taskinstance.py", line 733, in executecallable return ExecutionCallableRunner( ^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/airflow/.local/lib/python3.12/site-packages/airflow/utils/operator_helpers.py", line 252, in run return self.func(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/airflow/.local/lib/python3.12/site-packages/airflow/models/baseoperator.py", line 406, in wrapper return func(self, args, *kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/airflow/.local/lib/python3.12/site-packages/airflow/decorators/base.py", line 266, in execute return_value = super().execute(context) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/airflow/.local/lib/python3.12/site-packages/airflow/models/baseoperator.py", line 406, in wrapper return func(self, args, *kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/airflow/.local/lib/python3.12/site-packages/airflow/operators/python.py", line 238, in execute return_value = self.execute_callable() ^^^^^^^^^^^^^^^^^^^^^^^ File "/home/airflow/.local/lib/python3.12/site-packages/airflow/operators/python.py", line 256, in execute_callable return runner.run(*self.op_args, **self.op_kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/airflow/.local/lib/python3.12/site-packages/airflow/utils/operator_helpers.py", line 252, in run return self.func(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/airflow/dags/yfinance_to_snowflake_fullrefresh.py", line 62, in load cur.execute(f"REMOVE {table_stage}/{file_name}") File "/home/airflow/.local/lib/python3.12/site-packages/snowflake/connector/cursor.py", line 1087, in execute Error.errorhandler_wrapper(self.connection, self, error_class, errvalue) File "/home/airflow/.local/lib/python3.12/site-packages/snowflake/connector/errors.py", line 284, in errorhandler_wrapper handed_over = Error.hand_to_other_handler( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/airflow/.local/lib/python3.12/site-packages/snowflake/connector/errors.py", line 339, in hand_to_other_handler cursor.errorhandler(connection, cursor, error_class, error_value) File "/home/airflow/.local/lib/python3.12/site-packages/snowflake/connector/errors.py", line 215, in default_errorhandler raise error_class(snowflake.connector.errors.ProgrammingError: 090105 (22000): 01bb881b-0000-c619-0000-cde10006306e: Cannot perform STAGE RM. This session does not have a current database. Call 'USE DATABASE', or use a qualified name.Snowflake 세션에서 데이터베이스 또는 스키마가 제대로 설정되지 않아 발생한 문제로 보인다는데;;; 뭔가 실행에 이상이 있는건지;;;;
-
해결됨비전공자도 이해할 수 있는 MySQL 성능 최적화 입문/실전 (SQL 튜닝편)
페이지기반 페이지네이션 쿼리를 최적화하고 싶습니다.
게시판 비슷한 기능을 구현중인데 아무래도 커서기반보다는 페이지를 원하는대로 넘나들 수 있는 페이지기반 페이지네이션을 구현하고 싶어서 구현은 했는데 대용량 데이터에는 맞지 않은 듯해서 어떻게 최적화를 하면 좋을지 고민하고 있습니다.현재 저는 Postgres DB를 사용하고 있으며SQL를 전부 올리기보다 고민하고 있는 부분에 대해서만 간략히 적도록 하겠습니다.api에서는 SQL를 연속으로 두번 실행시키고 있습니다.1. 조건에 맞는 모든 ROW를 COUNT2. 1페이지당 사이즈와 현재 페이지로 OFFCET FETCH NEXT ROWS ONLY 절을 사용해서 ROW를 건너뛰고 검색을 하고 있는데지금 구현대로면 최악의 경우일때는 거의 DB 전체를 두번 조회하는거나 다름 없을 것 같습니다.사이드 프로젝트일때는 상관없을 것 같긴한데 실무에서는 어떤방식으로 최적화가 가능할까요?검색을 해보니 대용량 데이터에서는 커서기반으로 하라는 의견이 많은 것 같은데 그래도 페이지기반의 장점을 살리고 싶습니다.
-
해결됨실전 jOOQ! Type Safe SQL with Java
Routines 관련 질문
안녕하세요!이번에 jooq를 도입하게 되어 강의를 보며 천천히 따라해보고 있습니다.현재 Flyway + DDLDatabase(testcontainers 사용안함) 방식으로 dsl을 생성하는 것을 테스트하고 있는데요..flyway migration 파일(.sql)에 프로시저와 함수 생성문을 넣고 코드 생성을 실행 하니 상용 버전을 이용하라고 메시지가 나오며 실행이 안되길래 공식 문서를 확인해보니 오픈소스 에디션에서는 지원을 하지 않는다고 되어있더군요 ㅠㅠ 섹션2 - 생성된 DSL 구조 살펴보기 강의에서는 DB 스캔 방식이지만 Routines 클래스가 잘 생성되는 것을 볼 수 있는데 혹 강사님께서는 시 상용 버전을 사용하신 걸까요?? 아니면 DB 스캔 방식은 상용 버전 상관없이 Routines 클래스가 생성이 되는 걸까요?
-
미해결실습으로 손에 잡히는 SQLD의 정석(2과목)
환경 설정에서 오류가 나네요ㅠㅠ
이런 오류로 진행이 안됩니다.
-
미해결데이터 분석 SQL Fundamentals
섹션5 Group by 실습-01 강의 예제 질문
안녕하세요.섹션5의 두번째 강의인 Group by 실습-01 에서 다룬 예제에 대해 질문드립니다. -- 부서명 SALES와 RESEARCH 소속 직원별로 과거부터 현재까지 모든 급여를 취합한 평균 급여select b.empno, max(b.ename) as ename, avg(c.sal) as avg_sal from hr.dept ajoin hr.emp b on a.deptno = b.deptnojoin hr.emp_salary_hist c on b.empno = c.empnowhere a.dname in('SALES', 'RESEARCH')group by b.empnoorder by 1; 이 쿼리에서 b.ename을 집계함수에 넣지 않고 아래와 같이 group by에 넣어서 출력하는 방식으로 해봤는데 결과가 동일하게 나옵니다. select b.empno, b.ename, avg(c.sal) as avg_sal from hr.dept ajoin hr.emp b on a.deptno = b.deptnojoin hr.emp_salary_hist c on b.empno = c.empnowhere a.dname in('SALES', 'RESEARCH')group by b.empno, b.enameorder by 1; 두 쿼리 중 실무적으로 더 권장하는 방법이 있으신가요? 성능 혹은 기능 등의 차이가 있는지도 궁금합니다.
-
미해결실습으로 손에 잡히는 SQLD의 정석(2과목)
노랭이 39번 문제풀이 관계규칙
안녕하세요.수업에 배운내용과 다르게 알고있는 질문 일 수 있지만 궁금한사항이 있어 질문드립니다.학생과 수강신청관계가 N:M 관계가 아닌지 헷갈립니다. 하나의 학생은 여러개의 수강신청을 신청한다.하나의 수강신청은 여러명의 의해 신청하게된다여기서 N:M 관계가 아닌가요?
-
해결됨초보자를 위한 BigQuery(SQL) 입문
17번 문제 질문드립니다.
안녕하세요. 아래 코드를 작성하고 돌려보니 아래와 같이 결과가 나옵니다.SELECT trainer_id, pokemon_id, status, COUNTIF(status = 'Released'), COUNT(pokemon_id) FROM basic.trainer_pokemon WHERE trainer_id = 17 GROUP BY trainer_id, pokemon_id, status즉 예상되는 COUNTIF() 함수의 결과는 3,COUNT() 함수의 결과는 12 입니다.그러나 아래와 같은 코드를 돌려 집계한 결과, 다른 결과가 나옵니다.SELECT trainer_id, COUNTIF(status = 'Released'), COUNT(pokemon_id) FROM basic.trainer_pokemon WHERE trainer_id = 17 GROUP BY trainer_id ;왜 이런 문제가 발생하는지 모르겠습니다 ㅠ
-
미해결데이터 분석 SQL Fundamentals
섹션2 조인 기반 메커니즘에서 조인 실습 - 04 강의 예제 질문
안녕하세요.섹션2 조인 기반 메커니즘에서조인 실습 - 04 강의 중예제에서 질문이 있습니다. -- 고객명 Antonio Moreno이 1997년에 주문한 주문 상품 정보를 고객 주소, 주문 아이디, 주문일자, 배송일자, 배송 주소 및 -- 주문 상품 아이디, 주문 상품명, 주문 상품별 금액, 주문 상품이 속한 카테고리명, supplier명을 구할 것. select a.contact_name, a.address, b.order_id, b.order_date, b.shipped_date, b.ship_address, c.product_id, d.product_name, c.amount, e.category_name, f.contact_name as supplier_namefrom nw.customers ajoin nw.orders b on a.customer_id = b.customer_idjoin nw.order_items c on b.order_id = c.order_idjoin nw.products d on c.product_id = d.product_idjoin nw.categories e on d.category_id = e.category_idjoin nw.suppliers f on d.supplier_id = f.supplier_idwhere a.contact_name = 'Antonio Moreno'and b.order_date between to_date('19970101', 'yyyymmdd') and to_date('19971231', 'yyyymmdd') 이 예제에서 볼드친 product_id를 order_items 테이블이 아닌 products 테이블의 product_id로 끌어와도 괜찮은지 궁금합니다.결과는 동일하게 나오는데 혹시나 차이가 있는지 궁금합니다.
-
미해결이커머스 데이터로 시작하는 스토리형 SQL – BigQuery & Looker Studio 실습
섹션11 매출 대시보드 구성하기에서 강의 누락 질문
섹션11 매출 대시보드 구성하기에서첫번째 강의와 두번째 강의 사이에 강의 영상이 누락된게 있는 것 같습니다. 두번째 강의의 시작부에 강사님이 저번시간에 테마까지 변경해봤다고 하셨는데 첫번째 강의엔 테마 변경 강의 내용이 없습니다.이전에도 같은 내용의 질문을 누렸고, 검토해보겠다는 답변을 주셨는데 다시 들어가보니 아직도 동일하게 누락되어 있어 다시 질문드립니다. 빨리 완강하고 싶습니다ㅠ
-
해결됨실전 jOOQ! Type Safe SQL with Java
JOOQ 환경설정 중에 db 패스워드 관련 질문입니다.
강의에서도 그렇고 실제로 실습을 해봤을 때도 그렇고(저는 db를 로컬로 실행했습니다!) gradle 파일에 db root패스워드를 그대로 입력해야 하는 것 같은데.. :) 이 부분에 대해선 이후에 크게 문제가 없는걸까요 ㅠ ㅠ?!
-
미해결데이터 분석 SQL Fundamentals
섹션2 조인 실습 01 강의 질문
안녕하세요.섹션2 조인 실습 01 강의에서 질문이 있습니다. 조인 실습1의 예제들에서 강사님께서는 join을 사용하시는데 left join을 사용해도 괜찮은지 궁금합니다. 보통 조인 시 일반적으로 left join을 사용한다고 들어서요. 예를 들어 emp 테이블과 dept 테이블을 inner join할 경우 만약의 경우 emp 테이블에 존재하는 직원이 dept 테이블에서 누락되었다면 최종 join 테이블에도 그 직원이 누락될 수 있기 때문에 left join을 쓰는게 안전하지 않나 하는 생각이 들었습니다. 조인 실습1 예제의 4번째 예제에서 날짜 필터링 조건에서 to_date 함수를 쓰지 않고 fromdate >= '1983-01-01' 그냥 이처럼 써도 되는지 궁금합니다. 결과는 동일하게 나오지만 성능적 차이가 있거나 to_date 함수를 사용하는 것이 실무에서 많이 쓰는 방식인건지 궁금합니다. 조인실습1 문제4 - 저의 풀이부서명 SALES와 RESEARCH의 소속 직원들의 부서명, 직원번호, 직원명, JOB 그리고 과거 급여 정보중 1983년 이전 데이터는 무시하고 데이터를 추출하시오SELECTd.dname,e.empno,e.ename,e.job,esh.fromdate,esh.todate,esh.salFROM dept d JOIN emp e ON d.deptno = e.deptno JOIN emp_salary_hist esh ON e.empno = esh.empno WHERE d.dname IN ('SALES', 'RESEARCH')AND esh.fromdate >= '1983-01-01'ORDER BY d.dname, e.empno, e.ename, esh.fromdate;
-
해결됨실습으로 손에 잡히는 SQLD의 정석(2과목)
BETWEEN
안녕하세요. 궁금한게 있어서 질문드립니다.AND (sal>1200 AND sal<2500)일때 BETWEEN 쓰려면은AND sal BETWEEN 1300 AND 2500)으로 할 수 밖에 없나요? 초과 미만은 없나요?
-
미해결실무에 바로 쓰자! 이커머스 데이터로 배우는 실전 SQL 분석
섹션3 join(1) 데이터 연관관계 설정 자료 요청
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.<섹션3 - join(1) 데이터 연관관계 설정> 강의에서 첨부된 강의자료가 미흡합니다.첨부된 강의자료는 category_id가 아닌 아래와 같이 category명만 있습니다.일일이 매핑해서 치기엔 시간이 너무 많이 걸려 비효율적입니다.강의영상에서 나온 강사님이 가지고 계신 category_id 컬럼이 같이 포함된 엑셀 파일로 자료 첨부 부탁드립니다.
-
해결됨[백문이불여일타] 데이터 분석을 위한 중급 SQL 문제풀이
4번 문제
SELECT Person.firstname, Person.lastname, Address.city, Address.stateJOIN 후 특정 컬럼을 select할 때, 해당 테이블을 앞에 붙여주지 않아도 상관없을까요?
-
해결됨[백문이불여일타] 데이터 분석을 위한 고급 SQL
Top Earners 문제관련 질문
안녕하세요, Top Earners 문제 관련 질문 있습니다.저는 From절 서브쿼리를 사용해 보았는데제 풀이에 어떤 오류가 있는지 알고 싶습니다.제가 작성한 쿼리는 다음과 같습니다.SELECT MAX(tmp.earnings), COUNT(tmp.name) FROM (SELECT employee_id,name,months,salary,months*salary as earnings FROM Employee ) as tmp GROUP BY earnings ORDER BY earnings DESC LIMIT 1
-
미해결실습으로 손에 잡히는 SQLD의 정석(2과목)
변환형 함수
안녕하세요.궁금한 사항이 있어서 질문드립니다.문자형을 숫자형으로, 날짜를 문자형 등 바꾸는 이유가 있나요? 그리고 오라클에서도 cast(20 as varchar2(10)로 되는데 잘 안쓰여서 그런건가요?
-
미해결실리콘밸리 데이터 리더가 알려주는 Airflow 기초
yfinance 주식 읽어 오기 처음 중, no module named helpers 에러
airflow dags list를 하면 yfinance_to_snowflake_fullrefresh.py 에서 no module named helpers 에러가 떴습니다. pip3 install helpers 를 통해 설치를 했는데도, 동일한 에러가 발생하고 있습니다. (python은 homebrew 통해 설치했고, homebrew 설치 시에 패키지 전역 설치가 안된다는 문제가 있었는데, 이는 해결해서 helpers Install은 완료 했습니다.)