oracle使用using关键字
sql/92标准可以使用using关键字来简化连接查询,但是只是在查询满足下面两个条件时,才能使

用using关键字进行简化。
1.查询必须是等值连接。
2.等值连接中的列必须具有相同的名称和数据类型。
例如:使用using关键字,如下:

select emptno,ename,sal,deptno,dname from emp e inner join dept d using(deptno);
SQL> select e.empno,e.ename,e.sal,deptno,d.dname from
2 emp e inner join dept d using(deptno); EMPNO ENAME SAL DEPTNO DNAME
---------- ---------- ---------- ---------- --------------
7369 SMITH 800 20 RESEARCH
7499 ALLEN 1600 30 SALES
7521 WARD 1250 30 SALES
7566 JONES 2975 20 RESEARCH
7654 MARTIN 1250 30 SALES
7698 BLAKE 2850 30 SALES
7782 CLARK 2450 10 ACCOUNTING
7788 SCOTT 3000 20 RESEARCH
7839 KING 5000 10 ACCOUNTING
7844 TURNER 1500 30 SALES
7876 ADAMS 1100 20 RESEARCH
7900 JAMES 1800 30 SALES
7902 FORD 3000 20 RESEARCH
7934 MILLER 1300 10 ACCOUNTING
7935 XIAOXUE 5000 20 RESEARCH

已选择 15 行。
如上述的结果与自然连接的结果相同。

使用using关键字简化连接时,需要注意以下几点:
1.使用emp表和dept表中的deptno列进行连接时,在using子句和select子句中,都不能为deptno列指定表名或表别 名。
2.如果在连接查询时使用了两个表中相同的多个列,那么久可以在using子句中指定多个列名,形式如下:

select... from table1 inner join table2
using(column1,column2)

上述的语句相当于下面的语句:

select... from table1 inner join table2
on table1.column1=table2.column2
and table1.column2=table2.column2;

如果对多个表进行检索,就必须多次使用using关键字进行指定,形式如下:

select... from table1
inner join table2 using(column1)
inner join table3 using(column2);

上述的语句相当于下面的语句:

select... from table1,table2,table3
where table1.column1=table2.column1
and table2.column2=table3.table2;

oracle使用using关键字的更多相关文章

  1. 如何查询oracle中的关键字

    如何查询oracle中的关键字,执行: select * from v$reserved_words

  2. Oracle Start With关键字

    Oracle Start With关键字 前言 旨在记录一些Oracle使用中遇到的各种各样的问题. 同时希望能帮到和我遇到同样问题的人. Start With (树查询) 问题描述: 在数据库中, ...

  3. 【oracle】Oracle中as关键字

    在Oracle中as关键字不能用于指定表的别名 在Oracle中指定表的别名时只需在原有表名和表的别名之间用空格分隔即可 但as关键字可以用于指定列的别名 但在存储过程中如果列的别名与原有列名相同,在 ...

  4. Oracle中查询关键字select--from--where--group by--having--order by执行顺序

    select--from--where--group by--having--order by 这6个查询关键字的执行顺序: 1.from组装来自不同数据源的数据:2.where基于指定的条件对记录行 ...

  5. Oracle中with关键字的使用

    open p_cr1 for with sqla as (select d.*, (select c.STATICMONTH from ly_zg_jzfbtstatic c where c.ID = ...

  6. Oracle 实现 一个关键字 匹配多个 字段

    有这么一个需求,满足只有一个输入框的条件下,支持不同数据列的搜索结果. 说白了,就是这个 输入框  既可以用来 搜索姓名,也可以搜索 年龄,地址等. 分析: 一般情况下,我们的一个输入框对应 数据库 ...

  7. oracle 使用ID关键字作列名导致索引失效

    oracle表空间变更导致主键索引失效,重建索引即可

  8. Oracle数据库常用关键字以及函数

    常用关键字 insert into---插入数据 delete---删除数据 update---更新一条数据 select---实际工作中尽量不要写* set---设置某些属性 where---给执行 ...

  9. (六)Oracle 的 oracle表查询关键字

    参考:http://www.hechaku.com/Oracle/oracle_tables2.html 1.使用逻辑操作符号问题:查询工资高于500或者是岗位为manager的雇员,同时还要满足他们 ...

随机推荐

  1. 《Linux内核》第七周 进程的切换和系统的一般执行过程 20135311傅冬菁

    进程的切换和系统的一般执行过程 一.内容总结与分析 进程调度与进程调度时机 进程调度需求的分类: 第一种分类方式: I/O -bound(频繁进行I/O,通常会花很多时间等待I/O操作) CPU-bo ...

  2. Linux内核第五节 20135332武西垚

    20135332武西垚 在MenuOS中通过添加代码增加自定义的系统调用命令 使用gdb跟踪调试内核 简单分析system_call代码了解系统调用在内核代码中的处理过程 由于本周实验是在Kali虚拟 ...

  3. 趟坑:使用pip安装TensorFlow

    这几天在安装TensorFlow,看了很多教程,方法也试了几种. 最后还是用pip安装成功的,过程如下. 1.安装ubuntu后在  系统设置-软件与更新-附加驱动 里,更新N卡驱动. (N卡官网下载 ...

  4. git心得与总结

    任何文件在Git库中都有四种状态:未跟踪状态untracked.跟踪状态tracked(未修改状态unmodified.已修改状态modified.暂存状态staged),由于文件的上述四种状态,在使 ...

  5. Github以及推广

    非常抱歉,我忘记在这个博客上发一遍了,之前是我同学代发,而我忘记把链接给发过来... Github: http://www.cnblogs.com/case1/p/5060015.html 推广: h ...

  6. 第三个Sprint ------第二天

    主界面代码 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns: ...

  7. Node url模块

    const url = require("url");var u = "https://www.jd.com:443/ad/index?uname=qd";// ...

  8. spring学习总结(一)_Ioc基础(上)

    最近经历了许许多多的事情,学习荒废了很久.自己的目标成了摆设.现在要奋起直追了.最近发现了张果的博客.应该是一个教师.看了他写的spring系列的博客,写的不错.于是本文的内容参考自他的博客,当然都是 ...

  9. BZOJ4785 ZJOI2017树状数组(概率+二维线段树)

    可以发现这个写挂的树状数组求的是后缀和.find(r)-find(l-1)在模2意义下实际上查询的是l-1~r-1的和,而本来要查询的是l~r的和.也就是说,若结果正确,则a[l-1]=a[r](mo ...

  10. day29 上周复习

    上周内容回顾 初始面向对象 class 类名(父类1,父类2): 静态属性 = "" # 静态属性,类方法 def __init__(self): # 初始化方法 def func ...