mysql 外连接(左left join、右 right join)、内连接(inner join)、自连接(table1 t1 table1 t2)
内联(inner join):返回两表的集合
1 | SELECT t1.name, t2.salary |
左外连接(left join):以左表为基准,如果 ON 或 USING 中的右表没有匹配的行,则将 LEFT JOIN 所有列设置为的行,右表则是 NULL
1 | SELECT left_tbl.* FROM left_tbl LEFT JOIN right_tbl ON left_tbl.id = right_tbl.id |
右外连接(right join):以右表为基准,如果 ON 或 USING 中的左表没有匹配的行,则将 right JOIN 所有列设置为的行,左表则是 NULL
1 | SELECT left_tbl.* FROM left_tbl RIGHT JOIN right_tbl ON left_tbl.id = right_tbl.id |