• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

리트코드 184번 테이블 2개

22.12.01 16:00 작성 조회수 155

0

SELECT d.Name AS Department, e.Name AS Employee, e.Salary AS Salary
FROM Department d, Employee e
WHERE e.DepartmentId = d.Id AND e.Salary IN (SELECT MAX(Salary) FROM Employee WHERE DepartmentId = d.Id)

다른 풀이 중에, 테이블을 조인하지 않고 풀었던 예제가 있는데, 잘 이해가 안됩니다 ㅠㅠ FROM절에 2개의 테이블(행과 열이 일치하지 않는)을 나란히 쓸 경우 어떻게 작동되는걸까요?

답변 1

답변을 작성해보세요.

0

이렇게 두 테이블을 붙이는 것도 일종의 조인입니다.
CROSS JOIN 방식이고, 이 쿼리처럼 콤마로 연결할 수도 있고
FROM department d CROSS JOIN Employee e
이렇게 쓸 수도 있어요.

d의 모든 열과 e의 모든 열이 서로서로 붙은 결과물을 낸다고 생각하시면 됩니다.
SELECT * FROM department d, Employee e로 output을 직접 확인해 보시면 좋을 것 같습니다!