5 關聯查詢

2022-05-12 07:02:50 字數 1175 閱讀 4103

關於左右連線指的是查詢判斷條件的參考方向,

例1:下面有如下查詢:

sql>select * from emp e,dept d where e.deptno=d.deptno;

如上查詢emp與dept的所有資訊,這是可以看到資訊裡沒有40部門的資訊,原因就在於上述查詢語句是以emp表為參考的,而在emp中沒有員工在40部門,那麼我們想要顯示40部門的資訊,就必須應用左右連線來做。

語句修改為:select * from emp e, dept d where e.deptno(+)=d.deptno;

「(+)」就用於左、右連線的更改

(+)=:放在等號的左邊,表示的是右鏈結

=(+):放在右邊,表示的是左連線

這種符號是oracle資料庫自已所獨有的,其他資料庫不能使用。

select e.ename,e.job,m.ename from emp e,emp m where e.mgr=m.empno(+);

除了以上的表連線操作之外,在sql語法中,也提供了另外一套用於表連線的操作sql,格式如下:

select  table.column,table2.column from table [cross join table2] [natural join table2]|[join table2 using(column_name)] [join table2 on(table1.column_name=table2.column_name)]|[left|right|full outer]

sql>select * from emp cross join dept;

笛卡爾積本身並不是屬於無用的內容,在某些情況下還是需要使用的

sql>select * from emp natural join dept;

但是並不是所有的字段都是關聯字段,設定字段需要通過約束指定;

sql>select * from emp  join dept using (deptno);

sql>select * from emp join dept on(emp.deptno=dept.deptno);

左(外)連線:left  outer   join….on;

右(外)連線:right outer   join…on;

全(外)連線:full   outer   join…on;---------->把兩張表中沒有的資料都表示

mysql關聯查詢去重 MySQL 關聯查詢

mysql 關聯查詢 sql資料分析 1週前 mysql 關聯查詢 前面,我們介紹的都是單錶查詢 就是只從一張表中獲取資料 而實際應用的時候,我們都會同時查詢多張表,這裡,我們就介紹下,多表關聯查詢的使用。sql join 用於根據兩個或多個表中的列之間的關係,從這些表中查詢資料 前置知識 主鍵 p...

表關聯查詢

一 內連線和外連線 內連線用於返回滿足連線條件的記錄 而外連線則是內連線的擴充套件,它不僅會滿足連線條件的記錄,而且還會返回不滿足連線條件的記錄,語法如下 oracle 1.select table1.column,table2.column from table1 inner left right...

表關聯查詢

一 表關聯查詢 1.表的關聯分兩類 有關係的關聯 無關係的關聯 2.表的有關係的關聯 內關聯 where 指定關聯關係 表1.欄位 表2.欄位 and 表2.欄位 表3.欄位 有關係關聯 通過字段關係,把多張表合併在一起.select s emp.id,first name,name from s ...