Oracle多表查询(复习)

笛卡尔积

SQL> select * from emp,dept;

基本原理:
两个表如果笛卡尔集运算

(1)行数是两个表行数相乘的结果
(2)列是两个表合集

特点:

连接条件被忽略。
第一个表中的所有的行与第二个表中的所有行相连接。

避免笛卡尔积:在WHERE子句中加入条件。
连接的类型:

相等连接
比较连接(θ连接)的一种特例,它的连接谓词只用了相等比较

这里写图片描述

非相等连接
在筛选条件中加入大小比较等判断条件

这里写图片描述

外连接
连接可依据连接表保留左表, 右表或全部表的行而进一步分为
左外连接

这里写图片描述

 右外连接

这里写图片描述

 全连接.

这里写图片描述

自连接
构建一个查询, 它试图找到这样的记录: 
每条记录包含工人和经理
不过, 这里所有信息都在一张单独的大表里.

这里写图片描述

猜你喜欢

转载自blog.csdn.net/wangyeshun/article/details/82717341