oracle使用using关键字

转载自:http://www.2cto.com/database/201503/384694.html


oracle使用using关键字

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

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

例如:使用using关键字,如下:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
select emptno,ename,sal,deptno,dname from emp e inner join dept d using(deptno);
sql> select e.empno,e.ename,e.sal,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 SALES
7566 JOnes 2975 RESEARCH
7654 MARTIN SALES
7698 BLAKE 2850 SALES
7782 CLARK 2450 10 ACCOUNTING
7788 SCott 3000 RESEARCH
7839 KING 5000 ACCOUNTING
7844 TURNER 1500 SALES
7876 AdamS 1100 RESEARCH
7900 JAMES 1800 SALES
7902 FORD RESEARCH
7934 MILLER 1300 ACCOUNTING
7935 XIAOXUE RESEARCH

已选择 15 行。
如上述的结果与自然连接的结果相同。
使用using关键字简化连接时,需要注意以下几点:
1.使用emp表和dept表中的deptno列进行连接时,在using子句和select子句中,都 不能为deptno列指定表名或表别 名
2.如果在连接查询时使用了两个表中相同的多个列,那么就可以在using子句中指定多个列名,形式如下:
?
2
select... from table1 inner join table2
using(column1,column2)

上述的语句相当于下面的语句:
3
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;

相关文章

Java Oracle 结果集是Java语言中处理数据库查询结果的一种方...
Java AES和Oracle AES是现代加密技术中最常使用的两种AES加密...
Java是一种广泛应用的编程语言,具备可靠性、安全性、跨平台...
随着移动互联网的发展,抽奖活动成为了营销活动中不可或缺的...
Java和Oracle都是在计算机领域应用非常广泛的技术,他们经常...
Java 是一门非常流行的编程语言,它可以运行于各种操作系统上...