資料庫中左右連線

2022-08-12 02:06:20 字數 2452 閱讀 6197

學生表   

學號   姓名   

0001   小李   

0002   小王   

0003   小朱   

0004   小黃   

選課表   

學號   課程   

0001   高數   

0002   線數   

0004   英語   

0005   電腦   

--左(外)聯接   

select   學生表.*,   選課表.課程   

from   學生表,   選課表   

where   學生表.學號   =   選課表.學號(+)   

查詢的結果是:   

學號   姓名   課程   

0001   小李   高數   

0002   小王   線數   

0003   小朱   

0004   小黃   電腦   

學生表.學號   =   選課表.學號(+)表示   

學生表(也就是左邊的表)所有行都會被返回   

即使選課表中沒有相應的行與學生表中的行匹配   

--右(外)聯接   

select   學生表.*,   選課表.課程   

from   學生表,   選課表   

where   學生表.學號(+)   =   選課表.學號   

查詢的結果是:   

學號   姓名   課程   

0001   小李   高數   

0002   小王   線數   

0004   小黃   電腦   

0005             電腦   

學生表.學號(+)   =   選課表.學號表示   

選課表(也就是右邊的表)所有行都會被返回   

即使學生表中沒有相應的行與選課表中的行匹配   

不同的資料庫系統對外聯接有不同的表示   

有些根本不相容   

如(還是以上例為基礎)   

ms   sql   server   外聯接的sql寫法   

--左(外)聯接   -   第一種寫法   

select   學生表.*,   選課表.課程   

from   學生表,   選課表   

where   學生表.學號   *=   選課表.學號   

--左(外)聯接   -   第二種寫法   

select   學生表.*,   選課表.課程   

from   學生表   left   outer   join   選課表   on   學生表.學號   =   選課表.學號   

--右(外)聯接   -   第一種寫法   

select   學生表.*,   選課表.課程   

from   學生表,   選課表   

where   學生表.學號   =*   選課表.學號   

--右(外)聯接   -   第二種寫法   

select   學生表.*,   選課表.課程   

from   學生表   right   outer   join   選課表   on   學生表.學號   =   選課表.學號   

--注:在ms   sql   server中,outer關健字可以省略   

access   外聯接的sql寫法   

--左(外)聯接   -   第二種寫法   

select   學生表.*,   選課表.課程   

from   學生表   left   outer   join   選課表   on   學生表.學號   =   選課表.學號   

--右(外)聯接   -   第二種寫法   

select   學生表.*,   選課表.課程   

from   學生表   right   outer   join   選課表   on   學生表.學號   =   選課表.學號   

--注:在access中,關健字outer不可以省略   

oracle

外聯接的sql寫法   

--左(外)聯接   -   第一種寫法   

select   學生表.*,   選課表.課程   

from   學生表,   選課表   

where   學生表.學號   =   選課表.學號(+)   

--右(外)聯接   -   第一種寫法   

select   學生表.*,   選課表.課程   

from   學生表,   選課表   

where   學生表.學號(+)   =   選課表.學號   

oracle直到9i才支援sql-92外聯接語法   

left   (outer)join和right   (outer)   join   

和ms   sql   server一樣   

關健字outer是可以省略的top

資料庫查詢左右連線

假設有如下表 乙個為投票主表,乙個為投票者資訊表 記錄投票人ip及對應投票型別,左右連線實際說是我們聯合查詢的結果以哪個表為準 1 如右接連 right join 或 right outer join 我們以右邊voter表為準,則左表 votemaster 中的記錄只有當其id在右邊 voter ...

資料庫外連線(左 右 全) 內連線

1sql指令碼 0表資料 1左外連線 應用 結果 2右外連線 應用 結果 3全外連線 測試sql 4內連線 測試sql 結果 1 sql指令碼 set foreign key checks 0 table structure for clazz drop table if exists clazz ...

資料庫表左右外內連線查詢

資料表的連線有 1 內連線 自然連線 只有兩個表相匹配的行才能在結果集中出現 2 外連線 包括 1 左外連線 左邊的表不加限制 2 右外連線 右邊的表 不加限制 3 全外連線 左右兩表都不加限制 3 自連線 連線發生在一張基表內 size size x small s size size x sma...