数据库的内连接和外连接

数据库的内连接和外连接

内连接:

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

外连接:

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

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

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

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

员工表(employee)

id name email dept_id
1 tom [email protected] 1
2 jerry [email protected] 2
3 lucy [email protected]
4 jack [email protected] 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`

数据库的内连接和外连接_第1张图片
使用上述的内连接语句查询后,左边的员工表作为主表,右边的部门表作为辅表,展示效果为:列出所有有部门的员工的信息。

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

左外连接语法:

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

数据库的内连接和外连接_第2张图片
使用上述的左外连接语句查询后,没有部门的员工显示在结果集中。

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

右外连接语法:

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

数据库的内连接和外连接_第3张图片
使用上述的右外连接后,右边的部门表作为主表,左边的员工表作为辅表,展示效果为:列出所有部门中的员工信息

你可能感兴趣的:(数据库,mysql,sql)