SELECT SQL 각 구문별 실행순서
INNER JOIN 을 하게 될경우
//2번 조인가능
INNER JOIN (
SELECT E.deptId AS id,
MAX(E.salary) AS maxSalary
FROM emp AS E
GROUP BY E.deptId
) AS D
ON E.id = D.id
INNER JOIN dept AS D2
on e.deptid = D2.id;
LEFT JOIN 과 RIGHT JOIN의 경우 테이블의 주체자가 누구인지만 생각해주면 거의 같다.
FROM dept AS D
LEFT JOIN emp AS E
FROM dept AS D
RIGHT JOIN emp AS E
위의 from의경우 왼쪽의 테이블인 dept 가 주체로 만들어져서 dept의 컬럼을 메인으로 해서 만들어진다.
반대로 right 는 emp 테이블이 주체로 만들어져서 emp 컬럼을 주체로 만들어진다.
만약 이렇게 만들게 될 경우
IFNULL(E.name, "-") AS `사원명`
-> 만약 E.name 테이블에 값이 있는경우 E.name을 보내고 없는경우 NULL을 -으로 만들어서 테이블에 반영해준다.