**如下:
子查詢內部也使用了左連線
select a.id, a.thumbnail,a.name,a.marketprice,a.memberprice ,a.personname,a.status,a.recieveorderdate,a.tracknumber,a.contact,a.reportsenddate,b.tracknumber,a.reportdownloadpath from
(select od.id, ps.thumbnail,ps.name,od.marketprice,od.memberprice ,od.personname,od.status,od.recieveorderdate,ol.tracknumber,ol.contact,od.reportsenddate,od.reportsendorderlogisticid,od.reportdownloadpath
from orders.order_detail od
left join orders.order_logistics ol
on od.recieveorderlogisticid = ol.id
left join orders.product_snapshot ps
on od.productsnapshotid=ps.id
where od.valid=true and ol.valid=true and od.orderid=? ) a
left join
(select ol.tracknumber ,od.id from orders.order_detail od left join orders.order_logistics ol on od.reportsendorderlogisticid=ol.id where od.valid=true and ol.valid=true and od.orderid=?) b
on a.id=b.id
inner join 等價於 join
你可以理解為 join 是 inner join 的縮寫
left join 等價於 left outer join
right join 等價於 right outer join
逗號與inner等同,即只查詢兩表條件均滿足的資料。
left join,左表資料多於右表
right join,與left join相反
full join,即是left join和right join的並集
本文出自 「點滴積累」 部落格,請務必保留此出處
關於sql中左連線的兩個問題
本來對oracle中的左右連線已經非常熟悉,但是看到專案中寫的各式各樣的連線自己也迷惑了 摘出來,希望火眼金睛o v o 的朋友指點一二。先謝謝了o o。為了容易理解,簡化了實際複雜的sql,但結構類似 問題1 a文 專案使用的 select aa.x,bb.y,cc.z from aa,bb,cc...
兩個sql交集 SQL語句的多表查詢
1.練習如何合併連個表,注意使用union all語句表示保留重複項 2.內聯結 在from子句中同時使用了兩張表,並對每張表起了別名a和b,student as a 在列名中用 a.列名 表示某一句 from子句中用inner join表達內聯結,選取出同時存在於兩張表中的資料 on子句中表達兩個...
組合兩個表 sql查詢語句
表1 person 列名 型別 personid int firstname varchar lastname varchar personid 是上表主鍵表2 address 列名 型別 addressid int personid int city varchar state varchar a...