加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

毗连前提和毗连范例(内毗连,等值毗连,不等毗连,外毗连,左/

发布时间:2021-02-25 17:20:49 所属栏目:站长百科 来源:网络整理
导读:本文行使的数据来自《能干Oracle Database 12c SQL PL/SQL编程(第三版)》。这里用到了两张表,products和product_types,别离为产物表和产物范例表。 products 的数据展示如下: product_types 的数据展示如下: 毗连分为三中范例,即 内毗连,外毗连 和 自

  本文行使的数据来自《能干Oracle Database 12c SQL & PL/SQL编程(第三版)》。这里用到了两张表,products和product_types,别离为产物表和产物范例表。

  products的数据展示如下:

  

毗连前提和毗连范例(内毗连,等值毗连,不等毗连,外毗连,左/

  product_types的数据展示如下:

  

毗连前提和毗连范例(内毗连,等值毗连,不等毗连,外毗连,左/

  毗连分为三中范例,即内毗连,外毗连和自毗连。内毗连按照毗连前提差异,可以分为等值毗连和不等毗连。等值毗连中行使的是便是操纵符(=),不等毗连在毗连中行使除等号外的操纵符(<,>,BETWEEN等);外毗连按照保存数据的偏向,分为左外毗连、右外毗连和全外毗连。

  这里给出等值毗连和内毗连的较量:  

-- 内毗连
SELECT p.name,pt.name
FROM products p INNER JOIN product_types pt ON p.product_type_id = pt.product_type_id
ORDER BY p.name;
-- 等值毗连
SELECT p.name,pt.name
FROM products p,product_types pt WHERE p.product_type_id = pt.product_type_id ORDER BY p.name;

  两者查询的功效一样,查询的服从也一样,可以看出凡是环境下,内毗连是默认行使等值毗连的。

  二者的查询功效如下:

  

毗连前提和毗连范例(内毗连,等值毗连,不等毗连,外毗连,左/

  二者在时刻和空间的服从如下:

  

毗连前提和毗连范例(内毗连,等值毗连,不等毗连,外毗连,左/

?  等值毗连的一个非凡环境是天然毗连。天然毗连是按照两个表中同名的罗列办毗连的,由于在现实操纵中,常常必要明晰指出按照哪些列毗连,因此天然毗连很罕用。

  外毗连分为左外毗连、右外毗连和全外毗连。左外毗连保存左表的全部行(假如右表没有匹配行,取空值),右外毗连保存右表的全部行,全外毗连保存左表和右表的全部行(取不到则另一侧留空)。

  个中左外毗连可以通过LEFT JOIN,或在右表加(+)实现;个中右外毗连可以通过RIGHT JOIN,或在左表加(+)实现;(+)老是在被保存数据的另一侧呈现。

  全外毗连只能通过FULL JOIN实现,不存在双方(+)的写法。

-- 左外毗连
SELECT p.name,pt.name
FROM products p,product_types pt
WHERE p.product_type_id = pt.product_type_id(+)
ORDER BY p.name;

-- 左外毗连2
SELECT p.name,pt.name
FROM products p LEFT JOIN product_types pt ON p.product_type_id = pt.product_type_id
ORDER BY p.name;

-- 右外毗连
SELECT p.name,product_types pt
WHERE p.product_type_id(+) = pt.product_type_id
ORDER BY p.name;

-- 右外毗连2
SELECT p.name,pt.name
FROM products p RIGHT JOIN product_types pt ON p.product_type_id = pt.product_type_id
ORDER BY p.name

-- 全外毗连
SELECT p.name,pt.name
FROM products p FULL JOIN product_types pt ON p.product_type_id = pt.product_type_id
ORDER BY p.name

  自毗连一样平常用于有层级布局的,如员工表(查询某员工的上级都有谁),BOM(物料清单)等。这里暂不举例,后头再填坑。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读