sql 多表關聯

2021-07-24 16:43:46 字數 1193 閱讀 2077

專案中遇到多表關聯查詢,device_info與device_oper是一對多關係,project_info,branch_info與device_info是一對多關係。多表的查詢

select 

o.*,

d.devicename,

p.projectname,

b.`branchname`,

r.`releaseid`

from

device_oper o

left

join device_info d

on o.deviceid = d.id

inner

join project_info p

on d.projectid = p.`id`

inner

join branch_info b

on d.`branchid` = b.`id`

inner

join release_info r

on d.`releaseid` = r.releaseid

多表關聯查詢通常會將關聯查詢結果作為乙個表再進行連線查詢
select 

c.devicename,

c.devicetype,

c.projectname,

c.branchname

from

device_oper as a

left

join

(select

a.id as deviceid,

a.devicename as devicename,

a.devicetype as devicetype,

b.projectname as projectname,

c.branchname as branchname

from

device_info as a

left

join project_info as b

on a.projectid = b.id

left

join branch_info as c

on a.branchid = c.id) as c

on a.deviceid = c.deviceid

sql多表關聯

student表,score表,student的id欄位和score的studentid欄位關聯。student表中有1,2,而score表中有2,3。student表中有score表中沒有的1,score表中有student表中沒有的3.有乙個交集是2。drop table student cre...

SQL多表關聯查詢

關於 有時候,我們查詢資料時,會採用多資料庫關聯查詢的方式。資料庫通過連線兩張表或多張表查詢時,會生成一張臨時的中間表,然後返回給使用者的就是這張臨時表的資料。那麼具體怎麼操作呢?我們可以採用left join,搭配on where來實現。具體備註 1.on條件是在生成臨時表時使用的條件,它不管on...

多表關聯更新

用優惠表裡面的70006569的優惠的開始時間 來更新lik.temp yangmm 1115 discnt 的開始時間。這就出現問題了第乙個問題 同乙個使用者的70006569 優惠的開始時間可能有好幾個 取哪乙個?這就需要rank 函式來解決。第二個問題更新的時候會出現無法將null值插入.這個...