sql內聯外聯
㈠ 關於SQL資料庫中cross join 和inner join用法上的區別
=====
舉個簡單的例子吧,從結果來理解比較具體些。
a表
name sex
張三 男
李四 女
b表
name age
李四 30
王五 23
1\全外連接
select a.name,a.sex,b.name,b.age
from a full outer join b on a.name=b.name
結果如下,
name sex name age
張三 男 NULL NULL
李四 女 李四 30
NULL NULL 王五 23
關聯欄位name,左表有而右表沒有的,如張三,b.name,b.age都為NULL,加上左右兩邊都有的就是左連接的結果;而右表有而左表表沒有的,如王五,a.name,a.sex都為NULL,加上左右兩邊都有的就是右連接的結果;左右兩邊都有的如,李四,這就是內連接。相見如下
2\左
select a.name,a.sex,b.name,b.age
from a left outer join b on a.name=b.name
結果如下
name sex name age
張三 男 NULL NULL
李四 女 李四 30
2\右
select a.name,a.sex,b.name,b.age
from a right outer join b on a.name=b.name
結果如下
name sex name age
李四 女 李四 30
NULL NULL 王五 23
3\內聯
select a.name,a.sex,b.name,b.age
from a inner join b on a.name=b.name
結果如下
name sex name age
李四 女 李四 30
4\交叉
select a.name,a.sex,b.name,b.age
from a cross join b on a.name=b.name
結果如下
name sex name age
張三 男 李四 30
李四 女 王五 23
張三 男 王五 23
李四 女 李四 30
㈡ 在SQL 語句中SELECT PoctID Suppliers.SuppliersID,CompayName FROM Suppliers JION Procts
LIKE 的意思就是形似至於後面單引號裡面的主要是一個匹配的表達式,主要匹配CompayName 開頭字母為「F」的結果集,這個語句是一個內聯查詢語句,主要是返回最少的匹配行結果,查詢的結果為PoctID Suppliers.SuppliersID,CompayName 內聯表為Suppliers 和Procts
內聯條件為Supplirs.suppliers =Procts.SupplierID,最後依據查詢的結果緊接著根據
WHERE UnitPrice>$10 AND CompayName LIKE'F%'
這個條件進行篩選