表的連線(二)

2021-05-27 12:07:40 字數 980 閱讀 9402

(3)使用using子句建立連線

using子句可以用於指定產生連線的列。

--使用using指定產生連線的列

select e.ename,e.sal,deptno,d.loc

from emp e

join dept d

using(deptno)

where deptno=20;

使用using子句建立連線時,應注意以下幾點:

a、被using子句所引用的列在sql語句的任何地方不能使用表明或別名作為字首。(在natural join連線中也是如此)

b、如果有多於乙個列都匹配的情況,使用using子句只能指定匹配其中的一列。

c、natural join 和 using子句是相互排斥的,不能同時使用。

(4)使用on子句建立連線

select e.empno,e.ename,e.job,e.mgr,m.ename,m.job

from emp e

join emp m

on e.mgr=m.empno;

--emp,dept,manager三表連線

select e.ename,e.mgr,d.loc,m.ename

from emp e

join dept d

on e.deptno=d.deptno

join manager m

on e.mgr=m.empno;

--將上述語句修改為三向等值連線的方式

select e.ename,e.mgr,d.loc,m.ename

from emp e,dept d,manager m

where e.deptno=d.deptno

and e.mgr=m.empno;

注意:連線是從左至右產生的,因此首先完成的是emp和dept表的連線,第乙個連線條件可以引用emp和dept表中的列,但不能是引用manager表中的列,第二個連線條件可以引用三個表中的列。

oracle表連線(二)

各類連線驅動順序區別 1.巢狀迴圈連線 select leading t1 use nl t2 from t1,t2 where t1.id t2.t1 id and t1.n 19 select leading t2 use nl t1 from t1,t2 where t1.id t2.t1 i...

MSSQL程式設計筆記二 表的連線查詢

1 inner join left join right join 之間的關係 inner join 只要在這兩個表的公共字段之中有相符值,內部聯接將組合兩個表中的記錄。注意 在乙個 inner join 之中,可以巢狀 left join 或 right join,但是在 left join 或 ...

mysql 表的連線方式 Mysql表的連線方式

mysql表的連線方式 1.交叉連線 笛卡爾積 交叉聯接返回左表中的所有行,左表中的每一行與右表中的所有行組合。交叉聯接也稱作笛卡爾積。sql語句 select from 表1,表2 隱士笛卡爾積 select from 表1 crross join 表2 顯示笛卡爾積 不帶條件的內連線也是笛卡爾積...