소개
데이터 분석가, 데이터리안 강의 기획자 입니다 :)
데이터리안에 대해서 더 알아보고 싶다면 👉 https://datarian.io/about
기획 강의
1. [백문이불여일타] 데이터 분석을 위한 고급 SQL
2. 공식 문서로 배우는 판다스(Pandas)
강의
전체 2수강평
- 문제 풀이가 많은 도움이 되었습니다.
이택민
2024.09.23
1
- 좋아요! 엔지니어 수준의 고급 SQL 비중이 좀 더 많으면 좋겠어요!
starbee
2024.07.10
1
- 좋아요!!!..^^
장기호
2024.06.21
1
게시글
질문&답변
2023.10.13
업데이트 구문
안녕하세요, 답변 드립니다.DML 관련 리트코드 문제에서 동일한 오류가 발생하고 있는데, 아마 test case에 문제가 있는 것으로 추정됩니다. Run Code 대신 Submit을 바로 해보시는 것을 권장드립니다. 만약 쿼리에 오류가 없다면, Accepted 되는 것을 확인하실 수 있습니다 :)
- 3
- 1
- 238
질문&답변
2022.05.20
셀프조인에서 LEFT vs INNER JOIN 차이
안녕하세요, 답변 드립니다. 우선 질문 주신 내용은 경우에 따라 다르며, 이 문제에서는 INNER JOIN 으로 SELF JOIN 을 하는 것과 LEFT JOIN 으로 SELF JOIN 을 하는 것의 결과가 동일합니다. 여기에서는 person 이라는 테이블의 email 컬럼으로 SELF JOIN 을 하였는데요, joinkey로 사용되는 두 컬럼에 동일한 값이 들어있기 때문에 INNER JOIN 과 LEFT JOIN 의 차이가 없습니다. 결과가 달라지는 경우는, 들어있는 값이 다른 컬럼을 joinkey로 사용하여 SELF JOIN 을 한 경우입니다. 아래 참고 문서에서 관련 예시를 보실 수 있으며, 같은 조건으로 INNER JOIN 을 했을 때와 LEFT JOIN 을 했을 때 결과에 차이가 있는 것을 확인 하실 수 있습니다. [MySQL TUTORIAL] MySQL Self Join 이해에 도움이 될 수 있도록 LEFT JOIN 관련 문서도 함께 전달 드립니다 :) [MySQL TUTORIAL] MySQL LEFT JOIN
- 0
- 1
- 710
질문&답변
2022.05.19
누적합 질문입니다.
안녕하세요, 답변 드립니다. GROUP BY 혹은 ORDER BY 절에는 SELECT 절에 적는 컬럼명 대신 숫자를 적을 수도 있습니다. 해당 설명의 GROUP BY 1,2,3,4는 Line 컬럼의 값을 의미하는 것이 아니라, SELECT 절에 적힌 컬럼을 의미합니다. 따라서 설명의 GROUP BY 1,2,3,4 는 GROUP BY e1.Id, e1.Name, e1. kg, e1.Line 과 같은 의미입니다. 본 내용은 영상의 8:25 부분에서도 설명을 들으실 수 있습니다 :)
- 0
- 1
- 230
질문&답변
2022.05.19
e.salary = dh.max_salary 이걸 왜 해야하나요? ㅠㅠ
안녕하세요, 답변 드립니다 :) 우선 dh 서브쿼리를 만든 이유는 각 부서별로 salary의 최댓값을 알기 위함인데요. 1) 각 부서별로 2) 최대 salary에 해당하는 3) 직원의 정보를 가져와야하기 때문에, department 와 max_salary를 기준으로 dh 와 employee 테이블과 JOIN 하였고, SELECT 절에서 그 직원의 name, salary 값을 가지고 왔습니다. 즉, dh 서브쿼리는 부서별 최대 salary를 알기 위해 사용하였고, 여기에서 알게 된 부서별 최대 salary를 다시 employee 테이블과 JOIN 하여 그 부서에서 해당 salary를 가진 직원의 정보를 가지고 오는 문제였습니다.
- 1
- 1
- 242
질문&답변
2022.05.13
해커랭크 Top Earners 문제 답답합니다 ㅜㅜ
안녕하세요, 답변 드립니다. 우선 MySQL 에서는 GROUP BY, HAVING, ORDER BY 절에서 Alias 를 사용하실 수 있고 WHERE 절에서는 사용하실 수 없습니다. WHERE 절에서 사용할 수 없는 이유는 쿼리 실행 순서와 관련이 있는데요, WHERE 절이 실행된 이후에 SELECT 절이 실행되기 때문에 SELECT 절에서 정의한 Alias는 WHERE 절에서 사용할 수 없습니다. [MySQLTUTORIAL] MySQL Alias MySQL에서는 SQL 표준 문법과 다르게, HAVING 절이 FROM (JOIN), WHERE, GROUP BY, SELECT 이후에 실행됩니다. 따라서 HAVING 절에서는 SELECT 절에서 정의한 Alias를 사용해주셔야 합니다. [MySQLTUTORIAL] GROUP BY [MySQLTUTORIAL] HAVING 참고 하실 문서를 첨부하였으니 이해에 도움이 되길 바라겠습니다 :)
- 2
- 3
- 329