程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> oracle使用using關鍵字

oracle使用using關鍵字

編輯:Oracle教程

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;


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved