SQL추가

JIWOO YUN·2023년 3월 9일
0

SELECT SQL 각 구문별 실행순서

  1. FROM, JOIN
  2. ON, WHERE
  3. 2차 테이블 완성
  4. GROUP BY
  5. 그룹함수
  6. 3차 테이블 완성(그룹작업이 있을 경우에만)
  7. HAVING 절
  8. 4차 테이블 완성
  9. ORDER BY
  10. LIMIT
  11. 고객(MYSQL 클라이언트, 대포적으로 sequel pro, sqlYog 등)에게 전달해준다.

INNER JOIN 을 하게 될경우

  • INNER JOIN 하는 둘의 테이블에 공통적으로 존재하는 값에 대해서만 JOIN 이된다.
  • INNER JOIN은 여러번 해도 된다.
  • 만약 둘 중 하나만 있는 값을 JOIN을 하고 싶은경우
    • LEFT JOIN OR RIGHT 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-으로 만들어서 테이블에 반영해준다.
profile
열심히하자

0개의 댓글