二十五 Sql server中join的使用方法

2021-08-27 06:57:48 字數 2400 閱讀 2517

這一節講解下

sql中join的使用,join指令來用來多表查詢,它可以實現將多個**連線起來,有如下幾種使用方法:

1. 左連線

left join或left outer join

2.右連線 right join或right outer join

3.全連線 full join或full outer join

4.內連線inner join

5.交叉連線cross join

6.自連線

下面舉例一一說明

假如我們有

tb_employeeinfo和

tb_employeesalary表

left join(左連線)是由左向外連線的結果集包括left join子句指定 的左表的所有行,如果左表的某行在右表沒有相匹配的行,則在右表 相關聯結果集行中的所有選擇列表為null

例:sql 語句:select

*from tb_employeeinfo ileft

outer

join tb_employeesalary s on i.employeeid=s.employeeid;

輸出結果:

右連線)

是由右向外連線,它剛好與

leftjoin

相反,如果右表的某行在左表沒有相匹配的行,則在左表相關聯結果集行中的所有選擇列表為

null

sql

語句:select

*from tb_employeeinfo i right

outer

join tb_employeesalary son i.employeeid=s.employeeid;

輸出結果:

全連線)

是外部連線返回左表和右表的所有行。如果某行在另一表沒有匹配的值,則為

null

sql語句:select i.employeeid, s.employeesalaryfrom tb_employeeinfo i full

join tb_employeesalary son i.employeeid=s.employeeid;

輸出結果:

內連線)

匹配左表和右表共有的列,才顯示出來,否則不顯示,即取它們的交集

sql語句:select i.employeeid, s.employeesalary from tb_employeeinfo i inner

join tb_employeesalary son i.employeeid=s.employeeid;

輸出結果:

交叉連線

)返回左表的所有行,即左表的每一行與右表的所有行進行連線組合。也就是所謂的稱笛卡爾積(值為

table1*table2

,這是笛卡爾積的計算方法)。

sql語句:select i.employeename, s.employeesalaryfrom tb_employeeinfo i cross

join tb_employeesalary s where s.employeesalaryis

notnull;

輸出結果:

自連線)

是使用自身表當作另乙個表來連線,即是自己連線自己

sql 語句:

select

*from tb_employeeinfo;

這就是乙個簡單的 自連線

輸出結果:

演算法(二十五)

1 給定兩個不字串,求出最長公共子串行的長度。int longestpublicsubsequence string x,string y else return math.max longestpublicsubsequence x.substring 1 y.substring 0 longes...

Effective C 之二十五

要點 提供不會丟擲異常的swap函式。swap自stl引入後就成為異常安全 exception safe 程式設計的基石。在條款11避免自賦值時已談到過。stl中swap的預設實現是通過臨時變數實現交換。但是對某些型別這是很低效的,例如pimpl只需要交換指標即可。之後,meyers提出在std命名...

Linux基礎(二十五)

進入linux字元介面方式有字元介面 圖形介面下的終端以及虛擬控制台等方式。在字元介面下,虛擬控制台的選擇可以通過按下 alt 鍵和1個功能鍵來實現,功能鍵通常為f1 f6鍵。比如使用者登入後,按下 alt f2 鍵,使用者可以看 login 提示符,說明使用者進入了第2個虛擬控制台。然後只需利用按...