oracle多表查詢(二)

2022-06-02 19:57:11 字數 958 閱讀 1619

現在要求查詢出每乙個雇員的編號、姓名、工資、部門名稱、工資所在公司的工資等級。

select e.empno 員工編號,e.ename 員工姓名,e.sal 員工工資,d.dname 部門名稱,s.grade 工資等級 from emp e,dept d, salgrade s

左、右連線指的主要是查詢判斷條件的參考方向

例如我們執行:

但是我們的部門一共有四個,這樣看不到部門d的資料,這時就需要我們使用右連線
select * from emp e right join dept d on e.deptno=d.deptno;(右連線的意思就是,即使關聯條件執行後,right join後面表的資料也都會顯示,相對於的right join前面表的資料就都是null)

這種寫法等價於
select * from emp e , dept d where e.deptno(+)=d.deptno;(這時oracle資料庫獨有的寫法)

Oracle 多表查詢

sql 外連線 sql 按部門統計員工人數 部門號 部門名稱 人數 sql select d.deptno,d.dname,count e.empno 2 from dept d,emp e 3 where d.deptno e.deptno 4 group by d.deptno,d.dname ...

Oracle 多表查詢

等值和不等值連線查詢 為了避免笛卡爾集,可以在 where 加入有效的連線條件。oracle 連線多表查詢 在 where 子句中寫入連線條件。在表中有相同列時,在列名之前加上表名字首 select table1.column,table2.column from table1,table2 whe...

oracle 多表查詢

多表查詢 多表查詢,又稱表聯合查詢,即一條sql語句涉及到的表有多張,資料通過特定的連線進行聯合顯示.笛卡爾積 在數學中,兩個集合x和y的笛卡尓積 cartesian product 又稱直積,表示為x y.假設集合a 集合b 則兩個集合的笛卡爾積為。在資料庫中,如果直接查詢倆張表,那麼其查詢結果就...