左連線,自然連線,右連線的區別

2021-10-05 05:09:08 字數 2291 閱讀 7339

a 表:

courseno       corse      teachername       

1                   數學         張三   

2                   語文         李四

3                   英語         王五

4                   計算機      劉六

b表courseid      studentname       score

1                  張三三                   90

3                  王五五                   85

2                  李四四                   80

6                  戚七七                   100

左連線:

select * from a left join b  on  a.coueseno=b.courseid;

結果:a&b+a

courseno       corse      teachername      studentname       score

1                   數學         張三                     張三三                   90

2                   語文         李四                     李四四                   80

3                   英語         王五                     王五五                   85

4                   計算機      劉六                     null                        null

右連線:

select * from a right join b  on  a.coueseno=b.courseid;

結果:a&b+b

courseno       corse      teachername      studentname       score

1                   數學         張三                     張三三                   90

2                   語文         李四                     李四四                   80

3                   英語         王五                     王五五                   85

null                null           null                      戚七七                   100

內連線/自然連線

select * from a , b  on  a.coueseno=b.courseid;

結果:a&b

courseno       corse      teachername      studentname       score

1                   數學         張三                     張三三                   90

2                   語文         李四                     李四四                   80

3                   英語         王五                     王五五                   85

所以有乙個工作應用場景:

a表: car(綁車錶)

b表:carexinfo( 車輛的額外資訊表(車輛下次年檢日和車險到期日))

a表:carid        carno         frameno            engineno    uid

b表:carid         registno      ensureno

當前端頁面查詢綁車列表和註冊日期和年檢到期日時(因為registno      ensureno為非必填),所以查詢時必須用左連線

select * from car left join carexinfo  on  car.coueseno=carexinfo.courseid;

自然連線,外連線,左外連線,右外連線

1.自然連線 結果基於表r和s的笛卡爾乘積,取對應的r和s中相同屬性組都相同的值,同時相同屬性組只保留乙個 先來看圖示,2個表以及自然連線的結果 操作的步驟 1.1找出2個表中相同的屬性組 屬性a加上屬性b 1.2找相同屬性組中,相同的屬性值所對應的元組 相同的屬性值 1.2.相同屬性值對應的元組 ...

內連線 左連線 左外連線 右連線的區別

一 測試例子 存在如下兩張表 年級與班級,表內容如下 班級表 二 內連線與自然連線 1 自然連線 對於select from gradeclass gc where gc.grade id in select id from grade 其結果如下圖 其查詢是把符合條件中的班級表內容全部查詢出來 而...

左連線和右連線的區別

假設有a,b兩個表。表a記錄如下 aid anum 1 a20050111 2 a20050112 3 a20050113 4 a20050114 5 a20050115 表b記錄如下 bid bname 1 2006032401 2 2006032402 3 2006032403 4 200603...