左連線與右鏈結

2021-09-06 03:13:48 字數 576 閱讀 6862

左連線和右連線都是外部連線,也就是區別於內部連線,它對不滿足連線條件的行

並不是象內部連線一樣將資料完全過濾掉,而是保留一部分資料,行數不會減少。

在oracle pl-sql中,左連線和右連線可以用如下的方式實現:

語句片斷:

select emp_name, dept_name

form employee, department

where employee.emp_deptid(+) = department.deptid此sql文使用了右連線,即「(+)」所在位置的另一側為連線的方向,右連線說明等號右側的所有記錄均會被顯示,無論 其在左側是否得到匹配,也就是說上例中無論會不會出現某個部門沒有乙個員工的情況,這個部門的名字都會在查詢結果中出現。

相反的情況:

select emp_name, dept_name

form employee, department

where employee.emp_deptid = department.deptid(+)則是左連線,無論這個員工有沒有乙個能在department表中得到匹配的部門號,這個員工的記錄都將被顯示。

sql左連線 右鏈結 內連線

圖1 a表資料 表b結構如下 bid int 標識種子,主鍵,自增id bnameid int 資料情況,即用select from b出來的記錄情況如下圖2所示 圖2 b表資料 為了把bid和aid加以區分,不讓大家有誤解,所以把bid的起始種子設定為100。有sql基本知識的人都知道,兩個表要做...

mysql 內連線 左連線 右鏈結

如果沒有加入where條件查詢的資料數量是 student行數 grade行數 select from student join grade where student.gid grade.gid 左連線不能用where可以用on,左邊的表資料全查出來,右邊的表只顯示符合條件的 select fro...

MySQL左外鏈結與右外連線

外鏈結查詢 即要查詢有關聯關係的資料,還要查詢沒有關聯關係的資料。個人理解為 表a和表b兩個關聯的列中 如下圖 emmm,簡單的來說兩個表的關聯關係 book.bid bookshop.id,他們兩個表的關聯的兩個列中可能book.bid的列中有值,而bookshop.id中為空值,這個時候就 需要...