sql怎麼使用外連線

2021-05-03 21:53:33 字數 857 閱讀 9202

表3的姓名中應該包括所有出現在表1和表2姓名中的記錄,如果某人在表1中沒出現,則相當於創收為0;同樣如果某人在表2中沒出現,則相當於花費為0.

再舉例table1

姓名    創收

a      2000

c       300

a       200

table2

姓名    花費

a        400

b         20

d        200

現在想得到乙個綜合結果,如下

姓名    創收    花費

a      2200    400

b         0     20

c       300      0

d         0    200

select isnull(a.姓名,b.姓名) as 姓名,a.創收,b.花費

from

( select table1.姓名,sum(table1.創收) 創收

from table1

group by table1.姓名

) as a

full outer join

(select table2.姓名,sum(table2.花費) 花費

from table2

group by table2.姓名

) as b

on a.姓名=b.姓名

(或者第一行為)

select isnull(a.姓名,b.姓名) as 姓名,isnull(a.創收,0) as 創收,isnull(b.花費,0) as 花費

否則有些查詢出來的創收或花費為 null ,也許你需要他們為 0.

SQL 內連線,外連線(左外連線 右外連線)

參考整理筆記 關鍵字 inner join on 語句 select from a table a inner join b table bon a.a id b.b id 執行結果 說明 組合兩個表中的記錄,返回關聯字段相符的記錄,也就是返回兩個表的交集 陰影 部分。關鍵字 left join o...

SQL 內連線,外連線

假設一堆男女在教堂,有夫婦有單身的,假設男為左表,女為右表 教父說 結了婚的人請出去,結了婚的人請手拉手,於是結了婚的男女站了起來,這就是inner 內連 教父說 男的並且和這些男的結婚的女的請出去,結了婚的人請手拉手,於是,結了婚的夫婦手拉手出去,單身的男的也出去了。這就是 left 左連 教父說...

SQL 內連線 外連線

通過where 或者 inner join保留表中的一部分,最直觀就是說 表在選擇投影後,得到的各個元組內的元素都不會是空的。inner join 表中至少乙個匹配時,返回行。左連線 即使右表中沒有匹配,也從左表中返回所有行。因次,元組中的元素若有來自右表,則該元素為空。右連線 即使左表中沒有匹配,...