oracle 兩表關聯查詢

2021-09-25 20:37:43 字數 900 閱讀 8302

情景描述

查詢學生表student,sname,***,age資訊及所在班級clazz表

select

sname, ***, age, cname

from

student t1

left

join

clazz t2

on t1.cid = t2.cid;

select

sname, ***, age, cname

from

student t1, clazz t2

where t1.cid = t2.cid(+);

select

sname, ***, age, cname

from

student t1, clazz t2

where t1.cid = t2.cid;

select

sname,

***,

age,

(select cname from clazz t2 where t1.cid =

t2.cid) cname

from student t1;

小結前2種方式,是左連線的方式實現,學生表作為主表,當學生表中的班級cid在班級表中找不到時,班級名稱cname填充內容為空;

後2種方式,只查詢出2表均能夠匹配到的資料,學生表的資料不一定能查出所有記錄。

拓展只有oracle資料庫可以使用(+)來代替左連線和右連線;

"(+)"在"="右側,表示的是:左連線,如:t1.cid = t2.cid(+);左表(學生表)為主表;

"(+)"在"="左側,表示的是:右連線,如:t1.cid(+) = t2.cid;右表(班級表)為主表。

ORACLE關聯查詢

關聯查詢 多張表,而表與表之間是有聯絡的 是通過欄位中的資料的內在聯絡來發生 而不是靠相同的欄位名來聯絡的或者是否有主外來鍵的聯絡是沒有關係的 select dname,ename from emp,dept 笛卡爾積 無意義的 當2個表作關聯查詢的時候一定要寫關聯的條件 n個表 關聯條件一定有n ...

表關聯查詢

一 內連線和外連線 內連線用於返回滿足連線條件的記錄 而外連線則是內連線的擴充套件,它不僅會滿足連線條件的記錄,而且還會返回不滿足連線條件的記錄,語法如下 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 ...