⑴ 資料庫中JOIN怎麼用
JOIN分為:內連接、相等連接、自然連接、交叉連接,如下:
a、顯式的內連接與隱式連接(inner join == join )
顯示連接:SELECT * from employee join department on employee.DepartmentID = department.DepartmentID
等價於:
隱式連接:SELECT * from employee,department WHERE employee.DepartmentID = department.DepartmentID
註:當DepartmentID不匹配,就不會往結果表中生成任何數據。
b、相等連接
提供了一種可選的簡短符號去表達相等連接,它使用 USING 關鍵字。
SELECT * from employee join department using (DepartmentID)
註:與顯式連接不同在於:DepartmentID只顯示一列
c、自然連接
比相等連接的進一步特例化。兩表做自然連接時,兩表中的所有名稱相同的列都將被比較,這是隱式的。
自然連接得到的結果表中,兩表中名稱相同的列只出現一次.
select * from employee natural join department
註:在 Oracle 里用 JOIN USING 或 NATURAL JOIN 時,如果兩表共有的列的名稱前加上某表名作為前綴,
則會報編譯錯誤: "ORA-25154: column part of USING clause cannot have qualifier"
或 "ORA-25155: column used in NATURAL join cannot have qualifier".
d、交叉連接(又稱笛卡爾連接)
如果 A 和 B 是兩個集合,它們的交叉連接就記為: A × B.
顯示連接:
select * from employee cross join department
等價於
隱式連接:
select * from employee,department
⑵ 資料庫 關系代數中 join 的意思是什麼 怎麼用
join的意思就是【連接】
當對兩個表進行連接操作時,用join來表示,只是一種專業的記法而已,就像數學中的一些符號,為了是書寫簡單
示例:
將學生表和選課表連接,就可以寫
join(Student.Sno=SC.Sno)
這樣既簡單,又專業。。。
希望可以幫助你
⑶ 資料庫中的運算符 ——join運算符的作用。
給你3個示例 如表A和表B,通過id進行關聯
1。內連接 inner join...on 取表A和表B共有數據
select * from A inner join B on A.id=B.id
也可以省略inner,直接用join,因為默認就是inner join)
2.左連接 left join...on 去左邊表的全部數據,右邊表能匹配上就取,不匹配置為NULL
select * from A left join B on A.id=B.id
3.右連接,right join...on 和2類似
具體數據示例
A
id name
1 hello
2 world
3 !
B
id value
2 hi
4
這樣連接的結果
一。 inner join
id name id value
2 world 2 hi
二left join
id name id value
1 hello null null
2 world 2 hi
3 ! null null
三 right join
id name id value
null null 2 hi
null null 4