Oracle数据库中的连接查询

连接查询
连接查询指的是多张数据库进行连接然后查询数据,连接查询又分为内连接查询和外连接查询。
内连接查询
内连接的特点:只有满足条件的数据才会被显示。
demo:查询雇员的编号,姓名,职位,薪资,部门位置和部门编号。
先在emp表中添加一条数据:
在这里插入图片描述
在这里插入图片描述
开始查询

在这里插入图片描述
或者
在这里插入图片描述
Oracle数据库中的连接查询_第1张图片
我们可以看到添加进去的二哈没有被查询到,dept表中的40号部门也没有显示,这是因为这是一个内连接查询,只有满足过滤条件的数据才会被显示,而二哈的deptno字段为null,40号部门的雇员人数为0,不满足过滤条件。
外连接查询
外连接查询的特点:可以控制不满足条件的数据是否显示。外连接又分为左外连接查询,右外连接查询和全外连接查询。
左外连接:
demo:
在这里插入图片描述

Oracle数据库中的连接查询_第2张图片
可以看到,emp表中的二哈信息显示出来了。
右外连接:
在这里插入图片描述
Oracle数据库中的连接查询_第3张图片
dept表中40号部门的数据信息也显示出来了。
可以在过滤条件中使用(+)来实现左或者右外连接查询,但这是Oracle特有的方式,MySQL中是不能使用的。
通用的外连接查询
左外连接:使用 LEFT OUTER JOIN 实现,在 ON 后面去掉笛卡儿积;
右外连接:使用 RIGHT OUTER JOIN 实现,在 ON 后面去掉笛卡儿积;
全外连接:使用 FULL OUTER JOIN 实现,在 ON 后面去掉笛卡儿积;
demo:
在这里插入图片描述
Oracle数据库中的连接查询_第4张图片
连接查询是从多张数据表中查询数据,会产生笛卡儿积,在数据量大的时候不要使用。

你可能感兴趣的:(Oracle)