兩個sql查詢語句之間的左連線left join

2021-09-23 19:40:00 字數 1312 閱讀 2785

**如下:

子查詢內部也使用了左連線

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...