乙個奇怪的SQL 左連線和內連線

2021-04-27 21:26:08 字數 813 閱讀 7515

有兩個sql:實現查詢所有供電所下所有線路的線損總計

select a.f_deptno,a.f_deptname,sum(f_buy) sumbuy,sum(f_sale) sumsale,sum(f_buy)-sum(f_sale) loss,(sum(f_buy)-sum(f_sale))/sum(f_buy) lossrate

from tb_dept a left join vb_line b on a.f_deptno=b.f_deptno left join tc_dayloss c --a.f_deptno='a' and

on b.f_lineid=c.f_lineid and f_date between '2009-4-1'and '2009-4-30'

group by a.f_deptno,a.f_deptname

和:select a.f_deptno,a.f_deptname,sum(f_buy) sumbuy,sum(f_sale) sumsale,sum(f_buy)-sum(f_sale) loss,(sum(f_buy)-sum(f_sale))/sum(f_buy) lossrate

from tb_dept a left join vb_line b on a.f_deptno=b.f_deptno left join tc_dayloss c on b.f_lineid=c.f_lineid where  f_date

between :sdate and :edate group by a.f_deptno,a.f_deptname

我都使用了左連線,而它們的結果只有第乙個是左連線,而第二個是自然連線

是**的問題?

sql左連線 右鏈結 內連線

圖1 a表資料 表b結構如下 bid int 標識種子,主鍵,自增id bnameid int 資料情況,即用select from b出來的記錄情況如下圖2所示 圖2 b表資料 為了把bid和aid加以區分,不讓大家有誤解,所以把bid的起始種子設定為100。有sql基本知識的人都知道,兩個表要做...

SQL 左外連線,右外連線,全連線,內連線

例子1 a表 id name b表 id job parent id 1 張3 1 23 1 2 李四 2 34 2 3 王武 3 34 4 a.id同parent id 存在 關係內連線 select a.b.from a inner join b on a.id b.parent id 結果是 ...

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

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