`
cuiyaoonan2000
  • 浏览: 25704 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

oracle natural using join 区别

 
阅读更多

一.Oracle Natural join

<span style="font-size:12px;">create table test_table_A(id number primary key,name varchar(32));
create table test_table_B(id number primary key,name varchar(32),des varchar(32));
select *from test_table_A;
select *from test_table_B;
insert into test_table_A(id, name) values(1,'cuiyaonan20 a');
insert into test_table_A(id, name) values(2,'cuiyaonan200 a');
insert into test_table_A(id, name) values(3,'cuiyaonan2000 a');
insert into test_table_A(id, name) values(4,'cuiyaonan2000@163.com a ');

insert into test_table_B values(1,'cuiyaonan20 a','des 1');
insert into test_table_B values(2,'cuiyaonan200 a','des 2');
insert into test_table_B values(3,'cuiyaonan2000 a','des 3');
insert into test_table_B values(4,'cuiyaonan20 b','des 1');
insert into test_table_B values(5,'cuiyaonan200 b','des 2');
insert into test_table_B values(6,'cuiyaonan2000 b','des 3');</span>

 在pl/sql中运行如上实例代码

 

然后执行:

select *from test_table_a natural join test_table_b;

 显示结果为:



 

这就是自连接,A表与B表 如果有同名字段,且字段类型一致,就会整合判断内容是否相等相等就做笛卡尔积.

 

一.Oracle using join

执行如下代码:

select *from test_table_a join test_table_b using(name);

 显示结果为:



 非常明显,using就是相对于natural而言制定了 一列进行匹配(前提条件一致,字段同名,类型一致)

  • 大小: 3.2 KB
  • 大小: 3.1 KB
1
0
分享到:
评论

相关推荐

    oracle-join用法

    本文将深入探讨Oracle的JOIN用法,包括内连接(INNER JOIN)、外连接(LEFT JOIN, RIGHT JOIN, FULL JOIN)以及自然连接(NATURAL JOIN),并结合实例进行说明。 1. **内连接(INNER JOIN)**: 内连接返回两个表中满足特定...

    Oracle学习笔记

    - 新增了交叉连接 (`CROSS JOIN`)、自然连接 (`NATURAL JOIN`)、使用列名称指定连接 (`USING`) 和基于条件的连接 (`ON`) 等多种连接方式。 - 交叉连接会返回两个表的笛卡尔积;自然连接则基于两个表中相同的列进行...

    oracle 多表联接查询

    6. **自然联接(Natural Join)** #### 三、等值联接(Equijoin) 等值联接是最常见的联接方式之一,它用于连接两个表中具有相同值的记录。通常用于连接具有相同字段的不同表。 **语法:** ```sql SELECT column...

    oracle多表连接技巧

    FROM emp NATURAL JOIN dept; ``` 在这个例子中,`emp` 表和 `dept` 表通过相同的列进行了连接。 ##### 4. 交叉连接(Cross Join) 交叉连接就是不指定任何连接条件的连接,其结果是笛卡尔积。 **示例**: ```sql ...

    oracle数据库所有操作总结.doc

    - 自然连接(NATURAL JOIN):基于共享的列自动连接,如`NATURAL JOIN`。 - `USING`子句:指定连接列,如`JOIN USING(deptno)`。 - `ON`子句:自定义连接条件,如`JOIN ON emp.deptno=dept.deptno`。 5. **子...

    Oracle连接多个表PPT教案.pptx

    此外,我们还可以使用JOIN关键字的其他形式来实现相等连接,包括NATURAL JOIN、JOIN...USING和JOIN...ON。NATURAL JOIN会自动识别并连接具有相同名称和定义的字段的表。JOIN...USING则基于指定的列名进行连接,如`...

    oracle数据库基础

    SQL标准自1999年以来不断发展,Oracle数据库也支持这些标准,例如CROSS JOIN(产生笛卡尔积)、NATURAL JOIN(基于共享列自动匹配)、USING子句以及ON子句定义连接条件。例如: ```sql -- CROSS JOIN SELECT * FROM...

    Oracle 10g中的高级SQL函数

    除了基本的内连接和外连接,Oracle 10g还提供了自连接和交叉连接,以及更高级的 `JOIN` 语法,如 `NATURAL JOIN`, `USING` 关键字。 九、子查询 子查询可以在查询中嵌套,用于过滤、聚合或比较。Oracle 10g还支持...

    Oracle记事本

    - 示例:`SELECT a.id, a.name, b.id, b.name FROM table1 a NATURAL JOIN table2 b;` - **USING**:指定连接时使用的列。 - 示例:`SELECT a.id, a.name, b.name FROM table1 a JOIN table2 b USING (id);` 以上...

    oracle 9i笔试题a

    NATURAL JOIN 和 JOIN...USING 不支持不等连接,OUTER JOIN 通常用于包含所有记录,但不一定会形成不等连接。 6. 只返回 `DEPT` 表中而没有在 `EMP` 表中列出的部门号,正确查询是 b:`SELECT deptno FROM dept ...

    Oracle10g 知识总结

    1. CROSS JOIN产生笛卡尔积,NATURAL JOIN基于共同列自动匹配,JOIN...USING和JOIN...ON用于指定连接条件。 2. 子查询可以出现在WHERE、FROM和HAVING子句中,单行单列子查询与字段比较,多行单列子查询配合IN、ANY、...

    Oracle Pl SQL 04.pptx

    在SQL:1999标准中,引入了更明确的JOIN语法,如**交叉连接(Cross join)**、**自然连接(Natural join)**和**使用子句(USING clause)**,以及全外连接的表达方式。而在Oracle 8i及之前的版本中,连接语法略有...

    oracle多表查询PPT课件.pptx

    6. **连接的类型**:除了上述的等值、非等值和外连接,还有交叉连接(Cross join)、自然连接(Natural join)和使用`USING`子句的连接。自然连接是基于相同列名自动进行的等值连接,而`USING`子句则可以更简洁地...

    ORACLE_多表连接与子查询2[定义].pdf

    - SQL1999规范引入了更灵活的连接方式,包括`CROSS JOIN`(生成笛卡尔积)、`NATURAL JOIN`(基于相同列名自动连接)、`JOIN ... USING`(指定连接列)以及`JOIN ... ON`(自定义连接条件)。 - **交叉连接(Cross...

    oracle题库4教程教

    在使用NATURAL JOIN时,如果想要限制JOIN条件中的列数量,可以使用USING子句。 ### 5. 使用WHERE子句过滤查询结果 - **场景**: 给定一个名为`CUSTOMERS`的表,其中包含客户ID、姓名、地址等字段。需要查询特定条件...

    oracle超牛笔记

    SELECT * FROM emp e JOIN dept d USING (deptno); ``` #### ON子句 - **定义**:允许自定义连接条件。 - **语法**: ```sql SELECT * FROM emp e JOIN dept d ON (e.deptno = d.deptno); ``` ### 分组与聚合...

    Oracle课程文档2

    - **使用USING子句创建连接**:在`NATURAL JOIN`子句创建等值连接时,可以使用`USING`子句指定等值连接中需要用到的列。 - **使用ON子句创建连接**:自然连接中是以具有相同名字的列为连接条件的,可以使用`ON`子句...

    魔乐在线Oracle笔记超经典.doc

    4. **自然连接(NATURAL JOIN)**:自然连接根据两个表中相同名字的列自动进行匹配和连接。例如: ```sql SELECT * FROM emp NATURAL JOIN dept; ``` 5. **USING子句**:USING子句允许指定用于连接的列名,简化了...

Global site tag (gtag.js) - Google Analytics