oracle使用using关键字
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关键字的更多相关文章
- 如何查询oracle中的关键字
如何查询oracle中的关键字,执行: select * from v$reserved_words
- Oracle Start With关键字
Oracle Start With关键字 前言 旨在记录一些Oracle使用中遇到的各种各样的问题. 同时希望能帮到和我遇到同样问题的人. Start With (树查询) 问题描述: 在数据库中, ...
- 【oracle】Oracle中as关键字
在Oracle中as关键字不能用于指定表的别名 在Oracle中指定表的别名时只需在原有表名和表的别名之间用空格分隔即可 但as关键字可以用于指定列的别名 但在存储过程中如果列的别名与原有列名相同,在 ...
- Oracle中查询关键字select--from--where--group by--having--order by执行顺序
select--from--where--group by--having--order by 这6个查询关键字的执行顺序: 1.from组装来自不同数据源的数据:2.where基于指定的条件对记录行 ...
- Oracle中with关键字的使用
open p_cr1 for with sqla as (select d.*, (select c.STATICMONTH from ly_zg_jzfbtstatic c where c.ID = ...
- Oracle 实现 一个关键字 匹配多个 字段
有这么一个需求,满足只有一个输入框的条件下,支持不同数据列的搜索结果. 说白了,就是这个 输入框 既可以用来 搜索姓名,也可以搜索 年龄,地址等. 分析: 一般情况下,我们的一个输入框对应 数据库 ...
- oracle 使用ID关键字作列名导致索引失效
oracle表空间变更导致主键索引失效,重建索引即可
- Oracle数据库常用关键字以及函数
常用关键字 insert into---插入数据 delete---删除数据 update---更新一条数据 select---实际工作中尽量不要写* set---设置某些属性 where---给执行 ...
- (六)Oracle 的 oracle表查询关键字
参考:http://www.hechaku.com/Oracle/oracle_tables2.html 1.使用逻辑操作符号问题:查询工资高于500或者是岗位为manager的雇员,同时还要满足他们 ...
随机推荐
- Can't find model 'en'
在使用 nlp = spacy.load("en") 报错OSError: Can't find model 'en' 应该用 python -m spacy download e ...
- Junit4测试用例
一.题目简介 测试一元一次方程的求解 二.源码的github链接 https://github.com/liujing1994/test1 三.所设计的模块测试用例.测试结果截图 一元一次方程测试 ...
- Java提高篇(1)封装
三大特性之---封装 封装从字面上来理解就是包装的意思,专业点就是信息隐藏,是指利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体,数据被保护在抽象数据类型的内部,尽可能 ...
- 广商博客冲刺第六七天new
第四五天沖刺傳送門 第一版的網頁已經放到 云服務器(估計快到期了) 傳送門. (不怎么會玩服務器啊..求指教..目前問題如下: 1.我的電腦mysql密碼跟服務器的密碼不一樣..上傳的時候要把代碼里面 ...
- Android 學習之旅!(1)
就這樣就過去了一年加一個學期,現在是大二第二個學期而且是下半學期了,以前都是無所事事,沒事睡睡覺,打打遊戲就過去了,但是想到家境和以後的路,我還是決心自己找點東西學習下,以後出去還能有一技之長(雖然可 ...
- (Alpha)Let's-版本测试报告
测试中发现的Bug 我们在测试之前发布了新的版本Version1.1,发布新版本的同时也带来一些问题: 修复了上传图片画质问题的Bug 修复了搜索功能的部分Bug 增加了下拉刷新的功能 修复了部分界面 ...
- java基础知识点罗列
1:Java泛型 2:clone Java中的深拷贝(深复制)和浅拷贝(浅复制) Java中对Clone的理解 序列化和反序列化的概念 3:Java中有关Null的9件事
- Qt__自定义事件
#include <QApplication> #include <QEvent> #include <QObject> #include <QDebug&g ...
- .gitignore & .DS_Store
.gitignore & .DS_Store https://stackoverflow.com/questions/107701/how-can-i-remove-ds-store-file ...
- BZOJ3282Tree——LCT
题目描述 给定N个点以及每个点的权值,要你处理接下来的M个操作. 操作有4种.操作从0到3编号.点从1到N编号. 0:后接两个整数(x,y),代表询问从x到y的路径上的点的权值的xor和. 保证x到y ...