標籤:join 匹配 inner sch 之間 相同 .com 表之間 返回
1、內聯結(典型的聯結運算,使用像 = 或 <> 之類的比較子)。包括相等聯結和自然聯結。
內聯結使用比較子根據每個表共有的列的值匹配兩個表中的行。例如,檢索 students和courses表中學生標識號相同的所有行。
2、外聯結。外聯結可以是左向外聯結、右向外聯結或完整外部聯結。
在 FROM子句中指定外聯結時,可以由下列幾組關鍵字中的一組指定:
1)LEFT JOIN或LEFT OUTER JOIN
左向外聯結的結果集包括 LEFT OUTER子句中指定的左表的所有行,而不僅僅是聯結列所匹配的行。如果左表的某行在右表中沒有匹配行,則在相關聯的結果集行中右表的所有挑選清單列均為空白值。
2)RIGHT JOIN 或 RIGHT OUTER JOIN
右向外聯結是左向外聯結的反向聯結。將返回右表的所有行。如果右表的某行在左表中沒有匹配行,則將為左表返回空值。
3)FULL JOIN 或 FULL OUTER JOIN
完整外部聯結返回左表和右表中的所有行。當某行在另一個表中沒有匹配行時,則另一個表的挑選清單列包含空值。如果表之間有匹配行,則整個結果集行包含基表的資料值。
3、交叉聯結
交叉聯結返回左表中的所有行,左表中的每一行與右表中的所有行組合。交叉聯結也稱作笛卡爾積。
例子:
A表
B表
內串連:
在表A和表B中使用內串連查詢學生姓名,學校,和職業
語句一:使用where子句
selcet A.name,A.school,B.name,B.job from A,B where A.name=B.name
或者:使用 INNER JOIN.....ON 子句
select A.name,A,school,B.name,B.job from A inner join B on A.name=B.name
結果
外串連:
左外串連:
select A.name,A.school,B.name,B.job from A left join B on A.name=B.name
結果
右外串連: select A.name,A.school,B.name,B.job from A right join B on A.name=B.name 結果
SQL Server表的連線類型