안녕하세요! 저는 이 문제를 select city from station where city like 'a%' or 'e%' or 'i%' or 'o%' or 'u%' 이렇게 풀었는데 답은 city like 'a% or city not like 'e%'....... 이런 식으로 풀었는데 둘의 차이가 무엇인지 알고 싶습니다.
안녕하세요 강사님, 조인 실습을 하다가 목적에 따라 FROM 과 JOIN에 들어가는 테이블이 다른 것을 알게되었는데 그 이유과 기준이 궁금합니다. "job이 SALESMAN인 직원정보와 직원이 속한 부서명을 가져오기" 의 예시에선 FROM emp JOIN dept로 조인을 하셨다면, "부서명 SALES와 RESEARCH의 소속 직원들의 부서명, 직원번호, 직원명, JOB 그리고 과거 급여 정보 추출"의 예시에선 FROM dept JOIN emp 로 조인을 하셨습니다. 감사합니다!
데이터 분석 sql fundamentals의 다운받은 자료는 한글이 깨지지 않던데, 지금 강의는 다운받고 압축을 풀어보면 주석에 있는 한글이 다 깨져 있습니다. 강의를 보면서 한글이 보일때마다 최대한 수정을 해보려 하는데... 강의에 안보이는 한글 주석들이 꽤 있습니다. 저만 그런건지 확인 부탁 드리고 싶습니다. 제 환경은 윈도우11, 반디집으로 압축을 풀었습니다.
어제 장문의 글을 올렸는데 이유는 모르겠으나 찾아볼수가 없어서 다시 작성을 합니다. 현재 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()
안녕하세요! 벌써 중급의 마지막 문제네요.. 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를 적용시키고 싶을 때는 위의 코드를 어떻게 변경해야 하나요?
1. One of the easiest things to check is growth, both because it's easy to measure and because most companies (Yammer included) track this closely already. In this case, you have to make it yourself, though. You'll notice that nothing has really changed about the growth rate—it continues to be high during the week, low on weekends: View Mode Analysis 이 부분에서 쿼리를 SELECT DATE(created_at) AS day, COUNT(*) AS all_users, SUM(CASE WHEN activated_at IS NOT NULL THEN 1 ELSE 0 END) AS activated_users FROM tutorial.yammer_users WHERE created_at >= '2014-06-01' AND created_at < '2014-09-01' GROUP BY DATE(created_at) ORDER BY DATE(created_at); 이런 식으로 작성했던데, 당일 활동 유무가 위의 growth에 어떤 점을 알려 줄 수 있는건가요? 가입자의 패턴와 가입한 날의 활동 유무의 패턴이 비슷하다는 걸 알려주는건가요? 근데 당일 가입자의 당일 활동 유무가 어떤 의미있는 패턴을 알려줄 수 있는 걸까요?
안녕하세요 항상 좋은 강의 감사합니다 symmetric pairs 문제에서 문제 초반 부에 xy 값이 같은 경우와 다른 경우로 나누어서 푸셨는데 저 같은 경우는 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 and f1.x < f2.x order by x 이 부분만 적고 xy가 같은 경우를 따로 만들어서 union해야 하는 지 생각을 하지 못했는데 강사님께서는 어떤 이유로(어떤 요소를 보고) xy값이 같은 경우와 다른 경우로 나누어서 풀어야 겠다고 생각하셨는지 알고 싶습니다. 감사합니다
-- 아래는 수행 오류 발생. 스칼라 서브쿼리는 단 한개의 결과 값만 반환해야 함. select a.* , ( select ename from hr.emp x where x.deptno=a.deptno) as ename from hr.dept a; 위의 테스트 결과가 에러가 나오는데 select ename from hr.emp x, hr.dept a where x.deptno=a.deptno 서브쿼리만 따로 출력해 보면 ename에 대한 하나의 컬럼 값만 나옵니다. 아무리 생각해도 1개 이상의 row나 1개 이상의 컬럼이 서브쿼리에서 반환되지 않고 모든 ename은 하나의 값만 가지고 있는걸 확인했는데, 왜 에러가 발생하는 것인지 잘 모르겠습니다.
-- 상관 서브쿼리로 구하기 select a.customer_id, a.contact _name, a.city , b.order_id, c.product_id, c.amount, d.product_name from nw.customers a join nw.orders b on a.customer_id = b.customer_id join nw.order_items c on b.order_id = c.order_id join nw.products d on c.product_id = d.product_id where c.amount >= ( select avg (y.amount) avg_amount from nw.orders x join nw.order_items y on x.order_id = y.order_id where x.customer_id =a.customer_id group by x.customer_id ) order by a.customer_id, amount; 이 쿼리에서 동작은 하나의 id가 서브쿼리에 넘어가 해당 id의 전체 amount의 avg가 반환되는 것으로 알고 있습니다. 그런데 이 동작이 수행될 때마다 서브쿼리는 join을 매번 수행해서 작업을 하는 것인지, 아니면 한번 만들어진 join을 사용해 모든 customer_id를 비교하여 정렬된 데이터의 avg를 반환하는 과정을 수행하는 것인지를 알고 싶습니다. 그리고 혹시나 해서 실행계획도 확인을 해봤는데 이러한 부분을 확인할 수 없더라고요. 제가 궁금해 하는 서브쿼리의 반복 처리에 대한 실행 여부를 확인할 수 있는 방법이 있는지도 알고 싶습니다.
-- 직원의 가장 최근 부서 근무이력 조회. 비상관 서브쿼리 select * from hr.emp_dept_hist_01 a where (empno, todate) in ( select empno, max (todate) from hr.emp_dept_hist_01 x group by empno); 위 설명을 하실때, 해당 서브쿼리는 XXX 서브 쿼리는 아니다 라고 말씀 하셨는데 제가 반복해서 들어도 어떤 말씀을 하는지 잘 안들려서 뭐라고 말씀 하셨는지 알고 싶습니다. 그리고 서브쿼리에 where절을 넣어 1건만 나오게 하셨는데, 그러면 in이 아니라 비교 연산자를 사용하는게 맞는거 아닌가요? 아니면 in을 사용하더라도 1건만 나오게 하는게 맞는 경우라 이해를 하면 되는걸까요?
이런 식으로 코드를 사용중입니다 from PyQt6.QtWidgets import * from PyQt6.QtCore import * class thread (Qthread): def __init__(self): super().__init__() def run(self): while True: mainbot_window.fun1() class UI (QWidget): def __init__(self): super().__init__() self.inits() self.T1 = thread() self.T1.start() def inits(self): print("각종 변수 설정") def fun1(self): print("run code") def main(args=None): global mainbot_window app = QApplication(sys.argv) mainbot_window = UI() mainbot_window.show() try: app.exec() except KeyboardInterrupt: pass if __name__ == '__main__': main() 여기서 global 변수를 사용하지 않고 싶습니다. 글로벌 변수를 사용하지 않고 Thread 에서 Qwidget 의 함수를 사용할 방법이 있을까요? 시도한것 thread 에서 pyqtsignal.emit 을 사용해서 시도해봤는데 ui가 검은 화면으로 뜬체 작동하지않습니다. Qthread 대신 Qtimer 를 사용 =>작동은 잘되나 ui를 표시하는데 약간의 딜레이가 생깁니다. 그래서 되도록이면 Thread를 사용하고싶습니다.
안녕하세요 3강 콘다 가상환경에서 비주얼 스튜디오 터미널에서 conda activate myST해도 터미널에 계속 PS로 표시되며 가상환경으로 들어가지 않습니다. cmd에서는 같은 명령어를 입력하면 들어가지는데 비주얼 스튜디오 터미널에서는 들어가지지 않는 것 같습니다. 뭐가 문제일까요?
안녕하세요! self join 리트코드 문제풀이 1 강의에서 inner join을 사용하셨는데, 지난 강의에서 inner join은 join했을 때 null값이 안 생기는 경우 쓰는 것이고 outer join(left, right join)은 null 값이 생기는 경우에 쓰는 것이라고 강의 내용을 이해했습니다. 그러면 이 경우는 inner join이 아닌 outer join을 해야 하는 것 아닌가요? 항상 좋은 강의 감사합니다
안녕하세요 섹션1. 집계함수 해커링크 문제풀이 강의 질문 드립니다. Average Population 문제의 내용이 변경되었다고 안내 되어 있는데 rounded down to the nearest integer해당 문장의 의미는 내림을 하라는 의미 아닌가요? round함수를 사용한 풀이가 나와있어 이해되지 않아 질문드립니다.
안녕하세요. 완강을 하고 전반적으로 복습을 하는 차원에서 다시 쿼리를 공부하고 있는데 3달이 아닌 전체 데이터세트를 가지고 한 번 해보고 싶어서요. 혹시 구글 애널리틱스 전체 데이터셋을 다운 받을 수 있는 방법이 있을까요 ? 제가 찾아보니까 날짜 하루하루 단위로 다운로드는 가능한데 1년치를 이렇게 다운받는 건 너무 일이 많은 거 같아서 질문드립니다.