MySQL学习之多表查询(六)

数据准备:

(1)部门表department

MySQL学习之多表查询(六)_第1张图片

(2)员工表staff

MySQL学习之多表查询(六)_第2张图片

一、交叉连接

     又称笛卡尔积连接,是两个或多个表之间的无条件连接。

格式一:SELECT <字段名> FROM <表1> CROSS JOIN <表2> [WHERE子句]

MySQL学习之多表查询(六)_第3张图片

格式二:SELECT <字段名> FROM <表1>, <表2> [WHERE子句] 

MySQL学习之多表查询(六)_第4张图片

二、内连接

      查询的是两个表的满足连接条件的所有数据。多个表内连接时,在 FROM 后连续使用 INNER JOIN 或 JOIN 即可。

格式:SELECT <字段名> FROM <表1> INNER JOIN <表2> [ON子句]

MySQL学习之多表查询(六)_第5张图片

三、外连接

1、左外连接

     又称为左连接,查询的是显示左表(from的那张表)所有数据,显示右表(left join的那张表)匹配的数据,不匹配的会显示为空。

格式:SELECT <字段名> FROM <表1> LEFT OUTER JOIN <表2>

MySQL学习之多表查询(六)_第6张图片

2、右外连接

     又称为右连接,查询的是显示右表(right join的那张表)所有数据,显示左表(from的那张表)匹配的数据,不匹配的会显示为空。

格式:SELECT <字段名> FROM <表1> RIGHT OUTER JOIN <表2>

MySQL学习之多表查询(六)_第7张图片

你可能感兴趣的:(mysql)