SQL左外連線連線多個表

2021-07-16 12:22:09 字數 2209 閱讀 6031

標籤: sql

join

資料庫測試

2007-03-25 02:50

10637人閱讀收藏 

舉報

遇到問題說是要多個表生成乙個view, 那麼應該用到連線,查了乙個關於多個表連線的方法.如下:

create view vitem as item.id,cargo.id,charge.id,customer.id,itemusers.itemid

from item

left join  cargo 

on item.id=cargo.id 

left join charge 

on item.id=charge.id

left join customer

on item.id=customer.id

left join itemusers

on item.id=itemusers.itemid

這裡只是測試了乙個,可以了,然後就開始用檢視,但是用檢視不能有重的欄位名,所以有些重複字段可以用 as ' ***x ' 的方式從新命名,如:

create view vitem as

select item.id,cargo.id as 'cargo.id'

from item

left join  cargo 

on item.id=cargo.id 

left join charge 

on item.id=charge.id

最後應用的**相當麻煩,也不知道這樣會對資料庫有多大的負擔.呵呵.

create view vitem as

select item.id,item.gid,item.pnum,item.partnerid,item.stime,item.splace,item.rtime,item.rplace,item.cplace,item.ctime,item.pretime,item.type,item.transtype,item.tcost,item.state,item.signer,item.getterid,item.senderid,item.memo,item.sunitid,item.runitid,item.cunitid,item.getplace,item.getphone,item.balancetype,item.receiver,item.gettype,item.typetime,

cargo.name,cargo.packagetype,cargo.amount,cargo.weight,cargo.volume,cargo.price,cargo.nametype,'cargo.memo' as 'cargo.memo',cargo.state as 'cargo.state',cargo.chargetype,

charge.time,charge.jfzl,charge.ysf,charge.dff,charge.czf,charge.psf,charge.zyf,charge.bzf,charge.bxf,charge.snyf,charge.dshkf,charge.qtfy,charge.memo as 'charge.memo',charge.ispaid,charge.gettype as 'charge.gettype',charge.zhongpsf,

customer.sname,customer.scompany,customer.sphone,customer.saddress,customer.sfax,customer.szipcode,customer.sstate,customer.memo as 'customer.memo',customer.rcertificate,customer.rname,customer.rcompany,customer.rphone,customer.raddress,customer.***x,customer.rzipcode,

itemusers.typeuserid,itemusers.checkuserid,itemusers.zhonguserid,itemusers.finaluserid

from item

left join  cargo 

on item.id=cargo.id 

left join charge 

on item.id=charge.id

left join customer

on item.id=customer.id

left join itemusers

on item.id=itemusers.itemid

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

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

左連線 左外連線 右外連線

在之前,我對mssql中的內連線和外連線所得出的資料集不是很清楚。這幾天重新溫習了一下sql的書本,現在的思路應該是很清楚了,現在把自己的理解發出來給大家溫習下。希望和我一樣對sql的連線語句不太理解的朋友能夠有所幫助。發這麼菜的教程,各位大大們別笑話偶了,呵 d 有兩個表a和表b。表a結構如下 a...

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 結果是 ...