안녕하세요? 주문별 연관 상품 추출 SQL에서 SELECT a.order_id, a.product_id, b.product_id from ga.order_items a join ga.order_tems b on a.order_id = b.order_id where a.product_id <> b.product_id 위 코드와 같이 where 절 안에서 같은 product_id가 조인 되는 경우를 filtering 하였습니다. 혹시 join 조건절에서(아래 sql과 같이) filtering 하지 않고 where 절에서 하는 이유가 있을까요? SELECT a.order_id, a.product_id, b.product_id from ga.order_items a join ga.order_tems b on a.order_id = b.order_id and a.product_id <> b.product_id
이메일 주소가 yalco@yalco.kr 가 맞을까요? 아무튼 SQL 설치하려는데 윈도우의 경우 윈도우의 경우 MySQL Installer for Windows로 한 번에 설치 하라 되어 있고 이에 보니 32비트라 되어 있으나 저의 컴퓨터는 64비트 입니다. 그냥 저 다운로드 받는 경로에서 workbench / community server 를 개별로 다운받으면 되는지요... 그렇다면 sample database는 어느 경로에서 받으면 되는 걸까요 확인 부탁드립니다.
Dbeaver 에서 강의처럼 콘센트 누르고, 엔드포인트 복사해와서 붙여넣기하고, admin 입력 비밀번호 입력 헀는데 계속 저렇게 뜹니다 ㅠㅠ 어떻게 해야하나요 - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 강사님 섹션 1 7강 / 1시간 21분 조인(Join) - 조인 기반 메커니즘 에서 join 실습 3의 9:32부분에서 질문있습니다. select c.*,o.order_id ,o.order_date ,o.ship_name from nw.customers c join nw.orders o on c.customer_id = o.customer_id join nw.employees e on e.employee_id = o.employee_id join nw.shippers s on o.ship_via = s.shipper_id where c.city = 'Berlin'; 이러한 sql문에서 nw.orders가 나머지 테이블이랑 비교했을때 unique한 부분이므로 1:m관계에서 1의역할 즉 uniq한 index인건 알겠습니다. 강사님 말씀중에 order level의 집합이라는 말씀이 정확히 무슨 의미인지 궁금합니다. 일단은 1:M의 관계에서는 테이블이 M을 기준으로 배열되는걸로 알고있는데 여기서 order 레벨의 집합이라는건 어떤 의미로 해석이 되는지 궁금합니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 상관 서브 쿼리와 단순 비교 연산자 강의에서 직원 급여 이력에서 가장 최근 급여 이력을 호출해라 문제를 봤습니다. 강사님께서는 설명해주실 때 select * from hr.emp_salary_hist a where todate = (select max(todate) from hr.emp_salary_hist x where x.empno= a.empno) 쿼리로 설명해주셨습니다. 그런데, 그냥 select max(todate) from emp_salary_hist; 로 최근 날짜 직원 급여 이력을 뽑으면 안되는걸까요?? 왜 서브쿼리로 셀프 조인을 하는 건지 궁금합니다.
처음에 sudo apt-get install php7.3-mysql 입력 후 다음과 같은 에러가 나옵니다. Err:1 http://ppa.launchpad.net/ondrej/php/ubuntu bionic/main amd64 php7.3-mysql amd64 7.3.9-1+ubuntu18.04.1+ deb.sury.org +1 404 Not Found [IP: 185.125.190.52 80] E: Failed to fetch http://ppa.launchpad.net/ondrej/php/ubuntu/pool/main/p/php7.3/php7.3-mysql_7.3.9-1+ubuntu18.04.1+deb.sury.org+1_amd64.deb 404 Not Found [IP: 185.125.190.52 80] E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing? 그 후 모든 과정을 거쳐 새로고침을 하면 다음과 같은 화면과 함께 아래와 같이 오류가 나타납니다. 172.17.0.1:51430 [500]: /?t=1695604917124 - Uncaught Error: Call to undefined function mysqli_connect() in /workspace/tsetsql/index.php:9 Stack trace: #0 {main} thrown in /workspace/tsetsql/index.php on line 9
안녕하세요, [Group By 절에 가공 컬럼 및 case when 적용 실습] 강의 2:18쯤 나오는 화면인데요, hiredate에서 연도만 추출하고 싶을 때 데이터 타입을 그대로 날짜로 두지 않고 굳이 to_char를 활용해서 문자로 바꿔주는 이유가 무엇인지 궁금합니다. 감사합니다.
-- 4. 강의별 평균 학점, 꿀강의 TOP 3 조회 SELECT courses.title AS "강의명", ROUND(AVG(grade_points.point), 2) AS "평균 학점" FROM courses JOIN grades ON grades.course_id = courses.id JOIN grade_points ON grade_points.grade = grades.grade GROUP BY courses.title ORDER BY AVG(point) DESC LIMIT 3 ; -- 서브쿼리 이용 답 SELECT courses.title AS "강의명", ggul_courses.round AS "평균 학점" FROM courses JOIN ( -- 강의별_평균학점 SELECT course_id, ROUND(AVG(grade_points.point), 2) FROM grades JOIN grade_points ON grade_points.grade = grades.grade GROUP BY course_id HAVING AVG(point) > ( -- 모든_강의의_평균_학점 SELECT AVG(point) FROM grades JOIN grade_points ON grade_points.grade = grades.grade ) ORDER BY AVG(point) DESC LIMIT 3 ) AS ggul_courses ON ggul_courses.course_id = courses.id ; 일반 JOIN이용과 서브쿼리 이용 결과가 다르게 출력되는데 서브쿼리 안에서 정렬을 했지만 최종 결과는 정렬이 되지 않네요? 왜 그런건가요..? 이러면 JOIN이 더 나은 걸까요?
-- 3. 평균 학점이 3.5미만인 학생은? SELECT students.nickname AS "닉네임", ROUND(AVG(grade_points.point),2) AS "평균 학점" FROM students JOIN grades ON grades.student_id = students.id JOIN grade_points ON grade_points.grade = grades.grade GROUP BY students.nickname HAVING 3.5 > AVG(grade_points.point) ; -- 서브 쿼리 이용 답 SELECT students.nickname AS "닉네임", avg_grade_point.round AS "평균 학점" FROM students JOIN (-- 학생별_평균_학점 SELECT student_id, ROUND(AVG(point), 2) FROM grades JOIN grade_points ON grade_points.grade = grades.grade GROUP BY student_id HAVING AVG(point) < 3.5 ) AS avg_grade_point ON avg_grade_point.student_id = students.id ; 서브 쿼리를 이용하려고 생각하는 게 좋을까요? 단순히 JOIN만 사용해서 할 수 있으면 JOIN만 써도 괜찮을까요..? 현업에서는 어떤 걸 더 많이 쓰게 될지 궁금합니다!
안녕하세요 강사님 group by + distinct를 비교해보다 이유는 모르겠지만 위에 distinct를 넣은 것은 day 컬럼이 자동으로 정렬이 되었고 아래의 distinct를 넣지 않은 컬럼은 정렬 되지 않았습니다 아래도 역시 distinct 를 넣으니 자동 오름차순이 되었습니다 ( count ( DISTINCT oi.order_id)) 혹시 그 이유가 궁금합니다 또, order by 처리 시 쿼리 속도가 느려진다는 말이 있는데 이런식으로 order by 를 넣지 않고 자동 정렬 되는 것이 있다면 쿼리 속도 향상에 도움이 될까요? 쿼리문 자동 정렬 SELECT date_part ( 'day', o.order_date) AS DAY , sum (amount) AS sum_amount , count ( DISTINCT o.order_id) AS daily_ord_cut FROM orders o , order_items oi WHERE 1 = 1 AND o.order_id = oi.order_id GROUP BY date_part ( 'day', o.order_date) ORDER BY 1 ; 정렬 안됨 SELECT date_part ( 'day', o.order_date) AS DAY , sum (amount) AS sum_amount , count ( oi.order_id) AS daily_ord_cut FROM orders o , order_items oi WHERE 1 = 1 AND o.order_id = oi.order_id GROUP BY date_part ( 'day', o.order_date);
안녕하세요, 강사님 수업을 들은 후에 DBeaver로 쿼리를 따라해보면서 복습을 하고 있습니다. 그런데 이상하게도 강사님과 동일한 쿼리를 입력하여도 저는 중복으로 값이 나오는 현상이 때때로 있습니다. 예를 들어 아래의 between 문법의 경우, 행의 갯수는 총 12개가 되어야 맞는데 저는 중복이 되어서 24개가 되네요. select a.*, b.grade as salgrade, b.losal, b.hisal from hr.emp a join hr.salgrade b on a.sal between b.losal and b.hisal; 처음엔 제가 쿼리를 잘못 입력한줄 알았는데, 동일한 쿼리인데도 이런 경우가 가끔 발생하더라구요. 앞에 제가 연습하면서 수행했던 쿼리의 캐시값이 남아서 이렇게 되는 것일까요? 원인을 알아서 해결하고 싶습니다 ㅠㅠ
안녕하세요, 우선 저는 M1 아이맥을 활용하고 있습니다. 2강 5분 31초쯤 PostgreSQL을 실행하고 DBeaver에 PostgreSQL 연결하는 과정(?)을 설명해주셨는데, 제 맥에서는 보여주신 것과 같은 명확한 PostgreSQL 프로그램이 안 보이더라구요. 여기서 어떤 걸 실행해야 하는지 알 수 있을까요? 그래서 현재로서는 PostgreSQL 프로그램을 실행하지 못했고, 그래서인지 DBeaver에서도 연결하려고 하니 다음과 같은 오류가 뜹니다. 빨리 배우고 싶은 마음인데 설치 작업부터 막혀서 ㅠㅠ 도움 부탁드립니다.