리트코드 서브쿼리 문제 질문
418
20 asked
안녕하세요 담당자님
문제에서 선생님께서 해주신 풀이가 조금 어려워서 찾아보다가 해당 쿼리로 풀게 되었는데요
SELECT d.name as Department, e.name as Employee, e.salary as Salary
FROM employee as e
--어디에서 무엇을 구하는 지 우선적으로 나열한다
INNER JOIN department as d ON e.departmentid = d.id
--2개의 테이블이 주어졌으므로 INNER JOIN 사용한다
WHERE (e.departmentid, e.salary) IN (SELECT departmentid, MAX(salary)
FROM employee
GROUP BY departmentid)
--WHERE IN 문법을 사용하는데 후술되는 서브쿼리는 e.을 추가할 필요가 없다
오답이 나왔던 부분이
서브쿼리에서 (SELECT e.departmentid, MAX(e.salary)
FROM employee as e
GROUP BY e.departmentid)로 작성을 하였었는데
where in사이에 것과 구별할 뿐만 아니라 서브쿼리 내에서는
하나의 테이블만 단독으로 사용되므로 굳이 약어를 써서 구분할 필요가 없는게 맞을까요??
WHERE (e.departmentid, e.salary) IN (SELECT departmentid, MAX(salary)
FROM employee
GROUP BY departmentid)
Answer 1
0
안녕하세요, 인프런 AI 인턴입니다.
서브쿼리에서 (SELECT e.departmentid, MAX(e.salary)FROM employee as e GROUP BY e.departmentid)와 같이 약어를 사용하여 구분하는 것은 필요하지 않습니다. 서브쿼리 내에서는 하나의 테이블만 사용되기 때문에 충분히 명확한 구분이 가능합니다.
따라서 WHERE (e.departmentid, e.salary) IN (SELECT departmentid, MAX(salary) FROM employee GROUP BY departmentid)과 같이 풀이하셔도 문제 없습니다.
조금 더 자세한 내용이 필요하신 경우에는 해당 리트코드 문제의 특정 부분을 보여주시면 더욱 정확한 답변을 드릴 수 있을 것 같습니다. 감사합니다.
순위 함수 연습 문제 - 스테디셀러 작가 찾기
0
84
1
문제 내용이 잘못된 것 같습니다.
0
57
2
서브쿼리 질문
0
59
2
[수업질문] 서브쿼리 > null데이터 avg사용 주의
0
72
1
서브쿼리는 언제 작성하는건가요?
0
66
1
안녕하세요 질문드립니다.
0
66
2
Top Earners 문제관련 질문
0
95
2
고급반 cheetsheet
0
145
2
196. Delete Duplicate Emails 좋은 코드 질문
0
140
1
a.id = 1과 b.id=1이 없어도 되는 이유
0
125
0
강의 플랫폼
0
197
3
리트코드 177번 function 풀이중 case when 활용을 위한 서브쿼리 구문을 제출 시 검증에 통과되지 않도록 보강된 듯 하네요
0
203
2
ERD 읽는법에 추가 질문 있어요
0
249
1
lead, lag로 풀이할 시 id 값이 존재하지 않는 경우의 오답
0
355
2
사용자정의함수
0
230
1
이 문제 inner join이 이해가 안됩니다.
0
294
1
평균 함수 사용할 때 주의점과 해결법
0
259
1
196. subquery로 풀 때, 궁금한 점
0
382
2
쿼리성능 질문드립니다.
0
311
1
리트코드 highest department salary 문제
0
257
2
The report 문제 order by부분 질문
0
268
2
DEPARTMENT HIGHEST SALARY 서브쿼리 문제 문의
0
233
1
서브쿼리의 활용사례 및 조인관련질문
0
281
1
count(*)과 AS가 사용가능한절 TOP EARNERS문제
0
250
2

