多表查詢的基礎語法
select * |查詢列 1 別名1,查詢列 2 別名2,…
from 表名稱1 別名1 , 名稱2 別名2 ,…
給出幾個例子吧。
1.
select e.ename,e.sal,d.dname,s.grade,m.ename,m.sal,ms.grade
from emp e,dept d,salgrade s,emp m,salgrade ms
where e.deptno=d.deptno and
e.sal between s.losal and s.hisal and e.mgr=m.empno
and m.sal between ms.losal and ms.hisal;
2.
select e.ename,e.sal,d.dname,
decode(s.grade,1,'第五等工資',2,'第四等工資',3,'第三等工資'
,4,'第二等工資',5,'第一等工資'),m.ename,m.sal,
decode(ms.grade,1,'第五等工資',2,'第四等工資',3,'第三等工資'
,4,'第二等工資',5,'第一等工資')
from emp e,dept d,salgrade s,emp m,salgrade ms
where e.deptno=d.deptno and
e.sal between s.losal and s.hisal and e.mgr=m.empno
and m.sal between ms.losal and ms.hisal;
左、右連線
sql:1999
select table1.column,table2.column
from table1 [cross join table2]|
[natural join table2]|
[join table2 using(column_name)]|
[join table2 on(table1.column_name=table2.column_name)]|
[left|right|full outer join table2 on(table1.column_name=table2.column_name)];
這尼瑪不怎麼懂得說。。
Oracle篇 之 多表查詢
一 概念 從多個表中查詢資料時,需要在表和表間建立連線,一般使用主外來鍵建立連線 二 連線種類 1 等連線 連線條件使用等號 非等連線 連線條件使用等號以外的其它符號 2 內連線 根據指定的連線條件進行連線查詢,滿足連線條件的資料才會出現在結果集 最常見的等值連線 外連線 在內連線的基礎上,將某個連...
oracle高階查詢之多表查詢
多張表查詢產生的表的列數等於所有表的列數之和,行數等於多張表之積 等值連線 select e.empno,e.ename from emp e,dept d where e deptno d.deptno 不等值連線 select e.empno,e.ename e.sal from emp e,d...
Oracle 表複雜查詢之多表合併查詢
本文使用到的是oracle資料庫scott方案所帶的表,scott是oracle資料庫自帶的方案,使用前請確保其解鎖 oracle合併查詢一共有四種方式,分別使用不同的關鍵字 union union all minus intersect 使用union all,表示取a b的合集,不過濾重複的資料...