ORACLE学习笔记——利用SELECT检索数据(五)

版权声明:学习分享,共同进步 https://blog.csdn.net/Andrew_jdw/article/details/82586441

连接查询

关系型数据库中允许表与表之间存在关系,利用这种关系可以查询出某种符合条件的数据。这些数据将是一套符合实际业务逻辑的数据,而数据中这些表和表之间的关系将不存在。连接分为内连接、外连接和全连接,还有一种叫做自连接,其中最常用的是内连接和外连接。

最简单的连接查询

最简单的连接查询是利用逗号完成的,它利用逗号把FROM后的表名隔开,这就构成了最简单的连接查询,但意义不大。

利用这种方式得到两个表的笛卡尔积,也就是说得到两个表中记录数的乘积。

笛卡尔积,就是一个表中的每一行和另一个表的每一行连接在一起而形成的新表,也就是查询结果。查询结果的记录数是这两个记录数的乘积。

内连接

也称为简单连接,它会把两个或多个表进行连接,只能查询出匹配的记录,不匹配的记录将无法显示出来。这种连接查询是平时最常用的查询。内连接中最常用的就是等值连接和不等值连接。

等值连接

连接条件中使用“=”连接两个条件列表。

功能一样,只是写法不一样。

不等值连接

就是在连接条件中使用“>”,“>=”,“<=”,“<”,“!=”,“<>”,“BETWEEN…AND…”,“IN”等连接两个条件列表,但这种方式通常需要和其他等值运算一起使用,否则检索出来的数据很可能没有实际意义。

内连接中的关键字“INNER JOIN”可以直接写成“JOIN”,系统会把“JOIN”识别成内连接。但是“ON”关键字不能省略。

自连接

把自身表的一个引用作为另一个表来处理,这样就能获取一些特殊的数据。

外连接

左外连接、右外连接、全外连接

左外连接

右外连接

全外连接

是左、右外连接的综合,它除了返回内连接匹配的数据外,也将返回两个表中不匹配的数据。

只需把left join或right join改成FULL JOIN。

(+)的使用

猜你喜欢

转载自blog.csdn.net/Andrew_jdw/article/details/82586441
今日推荐