55,000원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
max 값을 정의할 때, SELECT를 통해서 한번 더 구해주는 이유가 궁금합니다.
안녕하세요. 이번 강의 내용 중 문의드릴 내용이 있습니다. having절 또는 where절에서 challenges_created의 최대값에 대해 정의를 하는 함수를 짤 때, whrere challenges_created = max(challenges_created)가 아닌 whrere challenges_created = (SELECT max(challenges_created) FROM counter) 인 이유가 궁금합니다. max값을 구할 때는 반드시 다시 서브쿼리를 통해 추출을 해야하는건지요?
- 해결됨[백문이불여일타] 데이터 분석을 위한 고급 SQL
데이터가 기록이 되지 않은 경우는 어떻게 해결하나요?
안녕하세요 6분 25초경' 데이터가 없는 경우 해결방법'에 대한 질문입니다. date열의 값이 NULL이라면 다른 질문에서 답변해 주신 대로 ISNULL() 혹은 COALESCE() 함수를 사용하면 될 것 같은데요. 수업에서의 예시처럼 행(레코드) 자체가 기록이 되지 않은 경우라면 어떻게 해결해야하나요?
- 미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
FROM절 Sub Query 실행시 Sub Query 밖에 WHERE 절 써도 효과적으로 SELECT 되는지 알고 싶습니다.
삭제된 글입니다
- 미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
DML 과정에서 질문이 있습니다.
안녕하세요. 해당 강의를 처음부터 듣고있는 강의생입니다. DML 강의를 듣는중 궁금하게 생겨서 질문드립니다. DELETE나 UPDATE INSERT 같은 구문을 사용할때 , 쿼리를 통해 return 값에만 적용이 된는게 맞는지요? 원래 기본 DB에는 영향이 없는지 질문드립니다. 감사합니다.
- 미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
id 가 증가하는 숫자가 아니고 uuid나 문자열이라면 어떻게 접근해야되나요
문제에서는 id가 점차 증가해서 아이디가 작은값 이외를 지웠는데 문자열이라면 크고 작고를 비교할수가없는데 어떻게접근해야되나요?
- 미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
The Report : 다른 CASE문 했더니 NULL이 거꾸로 적용돼요
시도1. SELECT CASE s.Name WHEN g.Grade < 8 THEN "NULL" ELSE s.Name END 8,9,10 GRADE인 경우가 NULL, 8 미만은 이름이 나옴 => FAIL 시도2. SELECT CASE s.Name WHEN g.Grade < 8 THEN "NULL" ELSE s.Name END 강의와 똑같이, 8,9,10 GRADE인 경우 이름, 8 미만은 NULL 나옴 => SUCCESS 강의 : SELECT CASE WHEN g.Grade < 8 THEN NULL ELSE s.Name END as name, 질문 : 왜 동일한 CASE문인데 저의 시도에서는 grade >= 8 해야 강의의 grade <8 과 같은 결과가 나오나요?
- 미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
후속강의 질문드려요~
안녕하세요 이제 고급 문제풀이반만 앞두고 잇는데요 혹시 이후에 후속강의 들은 언제쯤 나올까요? [백문이불여일타] 데이터 분석가의 업무를 위한 SQL 이 강의가 언제쯤 나올지 궁금합니다!
- 미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
delete dupicate emails 질문드려요
안녕하세요 맨 밑에 분과 같은 질문인데요 WHERE절 조건이 p1.Id>p2.Id 에 해당하는 것이 지워지면 조인한 결과에서 1,3번 째 행이 남은 것 같은데 1 | john@example.com | 1 | john@example.com 1 | john@example.com | 3 | john@example.com (삭제) 2 | bob@example.com | 2 | bob@example.com 3 | john@example.com | 1 | john@example.com (삭제) 3 | john@example.com | 3 | john@example.com (삭제) 맨밑에분한테 설명해주신 것을 보면 ID 3 에 해당하는 행이 다 지워졌다고 해주 신 것 같은데 그럼 남은 값은 1,3번행 (2,4,5 값이 지워지고) 1,3번 값이 output 으로 나오는게 맞나요?
- 미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
[백문이불여일타] 데이터 분석을 위한 고급 SQL | 서브쿼리 | 7분 27초
강사님께서 date 컬럼에서 날짜가 빠져있을 수 있다고 말씀해주셨습니다. 그럴때 AVG()를 계산할때 조심하라고 말씀해주셨습니다. 예를 들어 강사님이 말씀해주신 쿼리로 작성한다면 아래와 같은 결과가 나온다고 말씀해주셨습니다. 1. 날짜가 공백이 없는 상태:(7+1+3+2+4+3+2)/ 7 2. 날짜가 공백이 있는 상태:(7+1+2+4+3+2)/6 3. 실제 원하는 "날짜가 공백이 있는 상태":(7+1+0+2+4+3+2)/7 조심하라고만 말씀해주시고 어떻게 쿼리를 작성할떄 조심해야할지 스크립트를 보여주시지 않아 stackoverflow를 찾아봐도 찾기가 힘들어 질문을 남깁니다.
- 미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
[백문이불여일타] 데이터 분석을 위한 고급 SQL | [심화] DELETE 문제풀이 + DELETE with INNER JOIN
단계: [백문이불여일타] 데이터 분석을 위한 고급 SQL 수업명:[심화] DELETE 문제풀이 + DELETE with INNER JOIN 런타임:10분 24초 아래 사진 첨부 강사님께서 적어주신 where p1.Id>p2.Id코드의 의미는 p1의 Id가 p2의 Id보다 큰 열을 지운다는 의미입니다만. 제가 빨간 표시 해둔 부분은 p1과 p2과 같습니다. - p1의 Id가 p2의 Id보다 큰 열을 지운다는 코드에서- 어떻게 p1이 p2와 같은열이 삭제가 될 수 있는지 여쭤보고싶습니다.
- 미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
NULL 처리
강사님 안녕하세요. 1. 저는 다음과 같이 코드를 작성했어요. CREATE FUNCTION getNthHighestSalary (N INT) returns INT BEGIN RETURN( SELECT DISTINCT MIN(salary) FROM employee ORDER BY salary DESC LIMIT O, N); END 큰 순서대로 0번 이후부터 (1번부터) N개 나열 후 최소값을 찾을 생각이었는데, 자꾸 200이 아닌 100이 나옵니다. 아무래도 ORDER BY DESC가 제대로 작동하지 않는 것 같은데 이유가 뭘까요?? 2. LIMIT에서 결과가 나오지 않으면 NULL을 돌려주기때문에 서브쿼리에서 IF문/CASE문을 안써도 된다고 하셨는데,(6:00) 이 부분이 잘 이해가 안가요. CASE문 쿼리 (함수 부분은 생략하겠습니다) SELECT CASE WHEN count(sal.salary) <n THEN null ELSE min(sal.salary) END FROM (SELECT DISTINCT salary FROM employee ORDER BY salary desc LIMIT n) as sal) 와 LIMIT OFFSET 쿼리 SELECT DISTINCT salary FROM employee ORDER BY salary DESC LIMIT 1,N 은 크게 다를 것 없는 것 같은데, 첫번째는 NULL 나오게 하려고 서브쿼리 & CASE WHEN 처리를 하는 반면, 두번째는 그냥 NULL이 나온다고 하시는데 왜 두개가 다른건지 잘 모르겠습니다.
- 미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
JOIN 누적합 질문
강사님 안녕하세요. JOIN 활용한 누적합에서 (7:42) 2개 슬라이드를 보여주셨는데요, 첫번째 슬라이드에서는 ------e1부분------ ------e2부분------ ID Name Kg Line ID Name Kg Line A Joe 70 1 A Joe 70 1 A Jim 91 2 A Jim 91 1 A Jim 91 2 A Jim 91 2 A Henry 59 3 A Henry 59 1 A Henry 59 3 A Henry 59 2 A Henry 59 3 A Henry 59 3 처럼 이름들이 반복적으로 적혀있었는데, 두번째 슬라이드에서는 ID Name Kg Line CumSum A Joe 70 1 70 A Jim 91 2 161 A Henry 59 3 220 으로 한번만 나오는 이유는 무엇인지요? SELECT에서 * 대신 e1 칼럼들만 선택한 것 뿐인데 (첫번째의 e1부분에서도 이름들이 여러번 적혀있잖아요...??) 행 갯수가 적어지는 이유가 궁금합니다!
- 미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
196번 예제 문제 관련 질문입니다.
안녕하세요. 위 196번 예제 문제에서 두가지 방법으로 풀이를 해주셨습니다. 만약 100만 ROWS 정도의 대량의 데이터에서 예제와 같은 쿼리를 실행한다면 서브쿼리와 조인문 중, 어떤 쿼리를 사용해야 좋은지 질문드립니다. 감사합니다~
- 미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
WHERE 서브쿼리
강사님 안녕하세요. WHERE - IN 서브쿼리 질문 드립니다. 저는 group by가 쓰이면 select 절에는 꼭 기준 컬럼이 함께 들어가야 한다고 알았거든요. 그런데 where -in 서브쿼리 안에는 group by가 사용되어도 기준 컬럼이 안들어가도 되는 것 같더라고요. 예를 들면 아래처럼요. SELECT EMPNO, ENAME, DEPTNO, SAL FROM EMP WHERE SAL IN (SELECT MAX(SAL) FROM EMP GROUP BY DEPTNO); 서브쿼리는 이 법칙에서 예외인지요??
- 미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
리트코드 문제
select b.name as Department, a.Name as Employee, b.salary as Salary from employee as a inner join (select b.name, a.departmentId, max(salary) as salary from employee as a inner join Department as b on a.DepartmentId = b.Id group by b.name, a.departmentId) b on 1=1 and a.salary = b.salary 위와 같이 문제를 풀면 답은 나오는데 리드코트에서 요구하는 답은 아닌가봐요 혹시 어떤 차이가 있는지 알 수 있나요?
- 미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
The report 관련 질문드립니다.
안녕하세요, 강의 듣기 전 혼자 풀어보았는데요 저는 우선 between join 한 aa 테이블을 만들고, grade가 8 이상인 테이블 bb, grade가 8 미만인 테이블 cc를 만들어 각각 order by 조건을 건 뒤 union을 통해 합쳐주는 쿼리문을 작성했습니다. bb 테이블, cc 테이블의 결과를 각각 확인해보면 정답과 일치하는데 이 둘을 union으로 합치기만 하면 결과가 정답과 다르게 나오네요.. 어디서 문제가 발생했는지 알고싶습니다.. ㅠㅠ with aa as ( select s.name, g.grade, s.marks from students as s, grades as g where s.marks between g.min_mark and g.max_mark ) select * from ( select * from aa where grade >= 8 order by grade desc , name asc ) bb UNION select * from ( select case when grade <= 7 then name = null end , grade, marks from aa where grade between 1 and 7 order by grade desc, marks asc ) cc
- 미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
Order by 질문
안녕하세요 혹시 그 order by를 쓸때 여기서 저희가 order by grade desc, name, s.marks 이렇게 사용을했는데 이럴경우는 그러면 시스템에서 먼저 grade desc을 처리하고 그리고 나온 결과에서 다시 name 으로 order by를 실행한뒤 다시 그 output을 가지고 s.marks order by를 진행하게 되는 개념인가요?
- 미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
#질문
고객(고객ID(PK),고객명,나이) 추천컨텐츠(고객ID(FK),컨텐츠ID(FK),추천대상일자) 비선호컨텐츠 (고객ID(FK),컨텐츠ID(FK),등록일시) 컨텐츠(컨텐츠ID,컨텐츠명) 위와 같은 테이블4개가 존재 [설명]매일 배치작업을 통해 고객에게 추천할 컴텐츠를 새엉하고 고객에게 추천서비스를 제공한다. 추천컨텐츠 엔티티에서 언제 추천을 해야하는지를 정히하는추천대상일자가 있어 해당일자에만 컨테츠를 추천해야한다. 또한 고객이 컨텐츠를 추천 받았을 떄 선호하는 컨테츠가 아닌 경우에는 고객이 비선호 컨텐츠롤 분류하여 더 이상 추천 받기를 원하지 않는다 그러므로 우리는 비선호 컨텐츠 엔티티에 등록된 데이터에 대해서는 수행을 하지 않아야 한다. 위 설명을 참고해서 아래와 같은 쿼리를 작성할 수 있을때 , #custid#에서 #은 어떤 용도로 쓰이는지 궁금합니다. SELECT C.컨텐츠ID, C.컨텐츠명 FROM 고객 A Inner Join 추천컨텐츠 B ON (A.고객ID = B.고객ID) Inner Join 컨텐츠 C ON (B.컨텐츠ID = C.컨텐츠ID) WHERE A.고객ID= #custid# AND B.추천대상일자 = TO_CHAR(SYSDATE, 'YYYY.MM.DD') AND NOT EXIST (SELECT X.컨텐츠ID FROM 비선호컨텐츠 X WHERE X.고객ID = B.고객ID);
- 해결됨[백문이불여일타] 데이터 분석을 위한 고급 SQL
서브쿼리 Top Earners 풀이에 관한 질문
안녕하세요, 항상 강의 잘 듣고 있습니다! 서브쿼리 해커랭크 문제풀이 중 궁금한 것이 있어 질문드립니다. 1. Having절 서브쿼리를 이용한 풀이에서, HAVING earnings = (SELECT MAX(months*salary) FROM employee) 대신에 HAVING earnings = MAX(earnings) 를 사용하니 조건이 적용되지 않고 전체 로우가 출력 되더라고요. 제가 보기엔 같은 내용인 것 같은데 풀이해주신 쿼리문과 어떤 차이가 있는지 궁금합니다ㅜㅜ 2. FROM에 서브쿼리를 적용하여 풀이할 수 있을까요? 저는 이 문제를 처음에 풀이할 때 FROM 절에 서브쿼리를 넣어 이렇게 작성했는데, 'Invalid use of group function 오류가 나오더라구요.. 찾아보니 집계함수를 중첩해서 사용할 수 없다는 뜻 같은데 어떤 의미인지 잘 이해가 안되어서ㅠㅠ 혹시 설명해주실 수 있을까요? 다른 문제 풀 때도 같은 오류가 반복되어서 제가 이 부분을 이해 못하고 있는 것 같아 질문드립니다 좋은 강의 감사드립니다! 덕분에 닉네임을 향하여 한걸음씩... 내딛어가고있어요 😂😂😂
- 미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
강의 소리가 안들립니다
중급강의 조금전까지 잘 들었어요 문제가 있나요?