数据库的内连接和外连接

内连接:

两个或两个以上的表进行关联查询时,查询的结果集中 返回所有满足连接条件的行。

外连接:

两个或两个以上的表进行关联查询时,查询的结果集中 除了返回满足连接条件的行以外,还返回左(或右)表中不满足条件的行,这种连接称为左(或右) 外连接。

如果是左外连接,则连接条件中左边的表也称为 主表 ,右边的表称为 从表 。 如果是右外连接,则连接条件中右边的表也称为 主表 ,左边的表称为从表。

====================================================================

以员工表(employee)和部门表(department)表进行实验:

员工表(employee)

id

name

email

dept_id

1

tom

tom@qq.com

1

2

jerry

jerry@163.com

2

3

lucy

lucy@qq.com

4

jack

jack@gmail.com

1


部门表(department)

id

dept_name

1

开发部

2

测试部

3

销售部


内连接语法:

select e.name, d.dept_name from employee e
inner join department d
on e.dept_id = d.id`

数据库的内连接和外连接_内连接

使用上述的内连接语句查询后,左边的员工表作为主表,右边的部门表作为辅表,展示效果为:列出所有有部门的员工的信息。

使用上述的内连接语句查询后,没有部门的员工未显示在结果集中。


左外连接语法:

select e.name, d.dept_name from employee e
left join department d
on e.dept_id = d.id

数据库的内连接和外连接_内连接_02


使用上述的左外连接语句查询后,没有部门的员工显示在结果集中。

使用上述的左外连接后,左边的员工表作为主表,右边的部门表作为辅表,展示效果为:列出所有员工的部门信息


右外连接语法:

select  e.name, d.dept_name from employee e
right join department d
on e.dept_id = d.id

数据库的内连接和外连接_结果集_03

使用上述的右外连接后,右边的部门表作为主表,左边的员工表作为辅表,展示效果为:列出所有部门中的员工信息