SELECT *
FROM table1, table2
WHERE table1.id = 1003 AND table1.id = table2.id
#table1.id = 1003 where condition
#table1.id = table2.id = join condition
SELECT *
FROM table1 [INNER] JOIN table2 ON table1.id = table2.id
WHERE table1.id = 1003
#join condition 과 where condition이 분리되어 있다.
#ON의 경우 joined table의 attribute명이 동일하다면 USING으로 사용 가능
#FROM table1 [INNER] JOIN table2 USING(id)
SELECT *
FROM table1 [INNER] JOIN table2 ON [join_condition]
SELECT *
FROM table1 LEFT [OUTER] JOIN table2 ON [join_condition]
FROM table1 RIGHT [OUTER] JOIN table2 ON [join_condition]
FROM table1 FULL [OUTER] JOIN table2 ON [join_condition]
#MySQL에서는 FULL OUTER JOIN은 지원하지 않는다.
SELECT *
FROM table1 NATURAL [INNER] JOIN table2
#table1의 attributes id, name, team_id
#table2의 attributes tema_id, name
FROM table1 [INNER] JOIN table2 ON table1.team_id = table2.team_id AND table1.name = table2.name
#AND
FROM table1 [INNER] JOIN table2 USING(team_id, name)
# NATURAL OUTER JOIN도 가능
MySQL에서의 cross join