55,000원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
리트코드에서 제가 작성한 쿼리의 결과를 안보여줘요.
제가 작성한 쿼리의 결과를 안보여줘서 머리속에서 상상이 안 되는 아웃풋들은 어떻게 하면 좋을까요?
- 미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
해커랭크 top earner
2가지의 풀이 방법을 알 수 있었습니다-- 1번 풀이 : 서브쿼리 select salary * months as earnings , count(*) from employee where salary * months = (select max(salary*months) from employee) group by earnings -- 2번 풀이 : order by , limit select salary * months as earnings , count(*) from employee group by earnings order by earnings desc limit 1궁금한 사항은 두가지 방법 중 어느 코드의 성능이 더 좋게 평가 되는지 궁금합니다.
- 미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
서브쿼리 날짜 공백
서브쿼리 이론 설명 강의에서 날짜 공백이 있을 시, 집계가 되지 않아 평균값을 낼 때, 해당 날짜가 포함되지 않을 수 있다고 설명해주셨습니다(서브쿼리 강의 7분 즈음)이때 어떤 방식으로 해결하는 것이 좋은가요?
- 미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
해커랭크 challenges 풀이 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하세요! 해커랭크 Challenges 문제에 대해서DELETE를 이용한 풀이로는 불가능한지 질문 드립니다!위의 쿼리에서 WHERE절부터는 어떤 식으로 작성해야할 지 감이 잡히지 않아서 우선은 제가 생각한 내용으로 채웠습니다!엉성한 질문이지만 답변해주시면 정말 감사하겠습니다!ㅠㅠ
- 미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
'^[aeiou].*'와 '^[aeiou]' 중 어떤 걸 사용해도 상관없을까요?
안녕하세요.정규표현식 문제를 풀다 의문이 생겨 문의드립니다.'CITY가 모음으로 시작하는 CITY를 출력하라'강의에서 '^[aeiou].*'로 알려주셨는데 .*는 뒤에 0개 이상의 어떤 문자가 들어와도 괜찮다는 것이니 '^[aeiou]'로 생략해도 문제가 없는 것인지 궁금합니다. 제가 생각했을 때 둘의 차이는 좀 더 자세히 표현한 정도라고 생각합니다. 이게 맞는지 궁금합니다.답변해주셔서 미리 감사합니다.
- 미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
Challenge 문제 질문
안녕하세요. 강의 잘 듣고 있습니다. Challenge 문제에서 선생님이 써주신 코드 중 질문있어 글 남깁니다. 첫째줄에 ,SELECT hackers.hacker_id, hackers.name, count(*) Challenges_created라고 써져있는데 여기서 count(*)이 아니고 count(challenge_id) as challenges_created라고 써도 되지 않나요? 혹시 차이가 있다면 무슨 차이인지 알고 싶습니다.
- 미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
리트코드 184번 문제
안녕하세요! :)열심히 수강하고 있는 학생입니다! 다름 아니라, 알려주신 방법대로 풀이 했는데, 아래 부분이 잘 이해가 안 가서요 ㅠㅠ 혹시 답변 부탁 드려도 될까요? 감사합니다!<풀이> SELECT C.name as Department ,A.name as Employee ,A.salary as Salary FROM Employee A INNER JOIN (SELECT departmentId ,MAX(salary) as max_salary FROM Employee GROUP BY 1) B ON A.departmentId = B.departmentId AND A.salary = B.max_salary INNER JOIN Department C ON A.departmentid = C.id<질문> 위 풀이에서, "ON A.departmentId = B.departmentId" 이 부분이 잘 이해가 안 갑니다. Alias 'A'로 지정한 테이블에서 분명 C.name, A.name, A.salary만 가져왔는데, 어떻게 존재하지도 않은 A.departmentId를 활용하여 B.departmentId와 매칭 시킬 수 있나요?
- 미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
email 컬럼 중복 조건
안녕하세요,강사님. 질문이 있어 글 남깁니다.리트코드 문제에서 작성하신 서브쿼리는 Email을 가지고 GROUP BY를 하고 해당 GROUP BY에서 최소값을 가지는 ID를 조회하는 쿼리인데,그럼 여기서 Email이 중복인지에 대한 조건은 따로 작성할 필요가 없는 것일까요? GROUP BY가 중복은 제외라는 의미도 포함되어 있는걸까요?
- 미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
누적합 심화 질문있습니다
안녕하세요 강사님 누적합 심화내용 관련해서 질문드립니다. 성능면에서는 3가지 방법 중 어떤게 가장 좋나요? 윈도우 함수 사용 > 셀프조인 > 서브쿼리 순일까요?
- 미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
리트코드 177번 3번째 풀이 DISTINCT 와 LIMIT 의 순서
LeetCode 177 번에서 LIMIT, OFFSET 을 사용해서 문제를 풀라고 하셨을때DISTINCT 와 LIMIT 를 같이 쓰셨던데 그것들 중 뭐가 먼저 작동하는지 작동 순서가 궁급합니다. 아래는 강사님의 풀이입니다CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT BEGIN SET N = N-1; RETURN ( SELECT DISTINCT Salary FROM Employee ORDER BY Salary DESC LIMIT 1 OFFSET N ); END그리고 아래의 데이터가 input 이라고 생각해보면처음 제 생각은 이랬습니다 ORDER BY -> LIMIT -> DISTINCT 순대로 실행된다면N=2 일때 우선 ORDER BY Salary DESC 를 진행해도 Salary 값이 같으므로 100, 100 그대로일 것이고, 여기서 LIMIT 를 하면 1개만 가져와서 100 이 될겁니다. 거기서 DISTINCT 를 해도 100 이 될거고요 근데 결과가 그렇게 나오지 않는 걸 보면 위의 제가 생각했던 순서가 틀린거겠죠?ORDER BY -> DISTINCT -> LIMIT 가 맞나요?N = 2 일때 ORDER BY Salary DESC 를 진행해도 Salary 값이 같으므로 100, 100 그대로일 거고, 여기서 DISTINCT 를 하여 100 이 되고, LIMIT 를 하면 데이터가 1개이므로 2번째로 큰 Salary 를 구할 수 없어서 null 이 되는 것인가요? ORDER BY, DISTINCT, LIMIT 의 작동 순서를 알고싶습니다
- 미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
leetcode 184 문제 쿼리 질문 드립니다.
안녕하세요! leetcode 184. Department Highest Salary 풀이영상 잘 봤습니다. 풀이영상 보기 전에 계속 답이 틀리다가 결국 성공한건 아래의 쿼리인데, 아무리 생각해도 비효율적인 쿼리처럼 보여서요! 풀이영상처럼 푸는 방법말고 with 문과 이너쿼리를 사용하는데 좀 더 간결하게 작성할 수 있는 방법이 있을까요?with dd as ( select d.name as name, max(e. salary) as max_salary from Employee e join Department d on e.departmentID = d.id group by d.name) select d.name as Department, e.name as Employee, e.salary as Salary from Employee e join Department d on e.departmentID = d.id join dd on dd.name = d.name where e.salary = dd.max_salary
- 미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
정규표현식 해커랭크 Weather Observation Station 11
안녕하세요해커랭크의 Weather Observation Station 11 문제 관련 질문드리려고 합니다. 시작과 끝이 모음이 아닌 city 이름만 출력하는 문제인데요SELECT DISTINCT CITYFROM STATIONWHERE CITY REGEXP '^[^aeiou].*[^aeiou]$'[ ] 안에 ^ 표시가 포함하지 않는다는 조건이라 해당 코드로 작성했더니 정답이 아니라고 떠서 regexr 페이지에서 테스트 해봤는데 여기서는 제대로 작동하더라구요! SELECT DISTINCT CITYFROM STATIONWHERE CITY NOT REGEXP '^[aeiou].*[aeiou]$'혹시나 해서 [ ] 안 ^ 대신 REGEXP 앞에 NOT을 써보았는데 이 코드는 제대로 작동했습니다. ^조건과 NOT이 차이가 있나요??
- 미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
해커랭크 Top Earners 질문!
안녕하세요! 해커랭크 Top Earners 문제에 관해 질문드리겠습니다. where 절에 서브쿼리를 사용할 때,select salary*months as earnings, count(*)from employeewhere salary*months = (select max(salary*months) from employee) 위의 코드를 작성했을때 group by 없이는 집계함수를 사용할 수 없다는 오류가 뜨는데, select count(*)from employeewhere salary*months = (select max(salary*months) from employee) select 에 count만 출력했을 때는 문제 없이 코드가 실행됩니다!count 단독으로 출력할 때는 전체 갯수만 파악하지만 salary*months 까지 같이 출력할 때는 해당 salary*months에 맞게 count를 해야해서 집계함수를 사용해야 하는 걸까요? 어짜피 max값만 가져와서 출력하는데도 group by를 꼭 사용해야 하는걸까요?
- 미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
풀이대로 해서 Run 할 때는 괜찮은데 Submit 하면 오류가 나옵니다.
똑같이 작성했는데도 위와 같이 나오네요. 확인 부탁드려요.
- 미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
Self primary key를 이용한 delete 질문
Where p1.id > p2.id 조건을 delete하는 의미는 p1.id 3, p2.id 1 인 경우만 delete 되어야 하는데, p1.id 1, p2.id 3 / p1.id 3, p2.id 3 은 왜 delete가 되나요?
- 미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
질문이 있습니다!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하세요. 저는 실무에서 백엔트개발자로 일하고 있는 학생입니다. 다름이 아니라 제가 SQL을 이용해 amchart나 hichart등을 만들기위해 수강을 하였는데요수업내용이 너무 좋아서 매우 만족스럽습니다.하지만 제 실무chart에서 사용되는 데이터는 json 형태인 경우가 많았는데요.이 경우 찾아보니 사용자정의 함수를 만들어 json형태로 출력하는 예제를 보았고 또는 계층형쿼리라는걸 사용해서 출력하는걸 보았는데 뭐가 맞는지 잘 모르겠어요.chart에서 사용하는 쿼리를 더 학습하려면 어떻게 해야할까요?예를들어name: "Root", children: [ { name: "First", children: [ { name: "A1", value: 100 }, { name: "A2", value: 60 }, { name: "A3", value: 30 } ] }, { name: "Second", children: [ { name: "B1", value: 135 }, { name: "B2", value: 98 }, { name: "B3", value: 56 } ] }, { name: "Third", children: [ { name: "C1", value: 335 }, { name: "C2", value: 148 }, { name: "C3", value: 126 }, { name: "C4", value: 26 } ] }, { name: "Fourth", children: [ { name: "D1", value: 415 }, { name: "D2", value: 148 }, { name: "D3", value: 89 }, { name: "D4", value: 64 }, { name: "D5", value: 16 } ] }, { name: "Fifth", children: [ { name: "E1", value: 687 }, { name: "E2", value: 148 } ] } ]}; 이런형태의 select의 결과를 받아올 수 있을까요?
- 해결됨[백문이불여일타] 데이터 분석을 위한 고급 SQL
DELETE 명령어 예제 (리트코드 196)에 대한 추가 설명 부탁드립니다.
DELETE 리트코드 문제풀이 + 섹션 3 서브쿼리 맛보기 강좌에서는 리트코드 196을DELETE FROM personWHERE Id NOT IN (SELECT sub.min_id FROM (SELECT Email, MIN(Id) AS min_idFROM personGROUP BY Email) sub); 로 표현했는데요, 서브 쿼리가 결국 하나의 테이블이 된다는 건데 해당 테이블을 'sub'로 봐서 select 문에서 sub.min_id라고 컬럼명을 넣어주신 것 같은데현재 DML 요약 내용을 보면temp로 서브쿼리를 묶었는데 select 문에 선택된 컬럼엔 Id로만 들어가서요 그리고 서브쿼리 내에 GROUP BY 1이라고 표현된 건 서브쿼리에 컬럼명 첫번째 것을 선택하라는 의미인가요? 이해가 안되서 강의와 문장을 한참 번갈아봤네요 ㅜㅜ 답변 부탁드립니다.
- 미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
동일쿼리 작성 시 오류
안녕하세요! 수업 너무 재미있게 듣고 있습니다 선생님이 알려주신 쿼리와 동일하게 작성하였으나 작성 시 RROR 1241 (21000) at line 1: Operand should contain 1 column(s) 라는 오류가 떠서 혹시 원인을 알 수 있을까요?
- 미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
리트코드 180번 질문입니다
궁금한 것이 생겼는데요이 문제를 꼭 셀프조인을 해야 풀수 있는 건가요?그리고단순히 3번 연속 넘버의 값이 같다고 조건만 써주면 어떻게 되는지 궁금합니다
- 미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
해커랭크 Challenges with 구문없이 풀었는데
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. table 상의 존재 오류가 발생합니다. 구문 자체에 있어서 단독으로 서브쿼리 시 이런 오류를 해결하려면 with 절이 꼭 필요한지 궁금합니다.ms-sql, mysql 전부 실행했습니다.