oracle 多表鏈結查詢sql語法有兩種,一種是標準sql多表聯查語句結構(left join | right join ...),一種是oracle自身多表聯查語句結構(使用"+")
--標準sql鏈結語法中左鏈結查詢,是以left join關鍵字為中心,left join關鍵字左邊的表為基表查詢(右關聯相反)
select emp.empno,emp.ename,dept.dname,dept.loc from dept left join emp on dept.deptno=emp.deptno --以dept為基表
--標準sql鏈結語法中on後面鏈結條件即便相反,對查詢結果無影響
select emp.empno,emp.ename,dept.dname,dept.loc from emp left join dept on emp.deptno=dept.deptno --以emp為基表
select emp.empno,emp.ename,dept.dname,dept.loc from emp left join dept on dept.deptno=emp.deptno --以emp為基表
--而oracle中自己定義的多表鏈結語法結構,是以鏈結條件中(+)在哪邊,就以(+)對邊表為基本查詢,跟from後面表名順序沒關係
select emp.ename,emp.deptno,dept.dname from emp,dept where emp.deptno=dept.deptno(+) --以emp表為基本
select emp.ename,emp.deptno,dept.dname from emp,dept where emp.deptno(+)=dept.deptno --以dept表為基本
SQL多表關聯查詢
關於 有時候,我們查詢資料時,會採用多資料庫關聯查詢的方式。資料庫通過連線兩張表或多張表查詢時,會生成一張臨時的中間表,然後返回給使用者的就是這張臨時表的資料。那麼具體怎麼操作呢?我們可以採用left join,搭配on where來實現。具體備註 1.on條件是在生成臨時表時使用的條件,它不管on...
Oracle多表關聯查詢
select e.empno,e.ename,d.deptno,d.dname from emp e,dept d where e.deptno d.deptno 在上述sql語句中先執行 from 後執行select和where 如果使用了別名的話以後引用表都要使用別名不然會報錯 別名最長為30個...
多表關聯查詢
表別名 多個表之間存在同名的列,則必須使用表明來限制列的引用 內連線 自連線 內連線就是關聯的兩張或多張表中,根據關聯條件,顯示所有匹配的記錄,匹配不上的,不顯示 自連線,就是把一張表取兩個別名,當做兩張表來使用,自己和自己關聯。select columns list from table name...