plsql利用左鏈結完成三張表的資料合併

2022-07-10 07:12:14 字數 667 閱讀 3213

sql語句,寫了不少,但一直用的是等於,對於三張表,這邊有資料,那邊沒有,

就會比較麻煩,資料就不全。最開始用窮舉解決,很麻煩,現在用左鏈結省了很多事。

再用儲存過程,以前要一天的事(用sql查出資料,用excel處理),現在兩秒鐘就解決了。

過去用三張表(a 、b、c)查詢合併成一張錶用等於的窮舉語句寫法:

1、a 有銷售、b有銷售、c有銷售;

2、a有銷售、b有銷售、c無銷售;c對應的字段就用0填充。

3、a有銷售、b無銷售、c有銷售;b對應的字段就用0填充。

4、a有銷售、b無銷售、c無銷售;b、c對應的字段用0填充。

5、a無銷售、b有銷售、c有銷售;a對應的字段就用0填充。

6、a無銷售、b有銷售、c無銷售;a、c對應的字段就用0填充。

7、a無銷售、b無銷售、c有銷售;a、b對應的字段就用0填充。

8、a無銷售、b無銷售、c無銷售;這種情況就可以不用了。

一看就很麻煩,有時還把自己饒暈了。

1、先把三張表共同的字段取出去掉重複項放進乙個臨時表;

2、用臨時表左鏈結a表,空值賦值為0;

3、用上面的結果再左鏈結b表,空值賦值為0;

4、再用上面的結果再左鏈結c表,空值賦值為0;

再把語句放入過程裡,把區域設定為輸入引數,在執行過程時直接輸入區域,兩秒搞定。

MYSQL之內鏈結 左鏈結 右鏈結 區別

mysql中可以通過內外鍵鏈結,將有關係的表中資料合併到一起進行條件篩選 首先建立兩個新錶,資料如下 student 表資料 score 表資料 可以看到students表中stu id為16048008的記錄對應score表沒有資料 1.當進行內連線時,系統會自動忽略兩個表中對應不起來的資料 顯示...

SQL左鏈結 右鏈結 全鏈結的區別

外連線分為 左外連線 右外連線 全外連線 左外連線就是以左表為準,去匹配右表,左表有多少條資料,結果就是多少條資料 select from a left join b on a.id b.id id name id name 1 a 1 b 2 b null null 4 c null null 右...

左連線與右鏈結

左連線和右連線都是外部連線,也就是區別於內部連線,它對不滿足連線條件的行 並不是象內部連線一樣將資料完全過濾掉,而是保留一部分資料,行數不會減少。在oracle pl sql中,左連線和右連線可以用如下的方式實現 語句片斷 select emp name,dept name form employe...