兩個sql查詢語句之間的左連線left join
阿新 • • 發佈:2019-01-27
程式碼如下:
子查詢內部也使用了左連線
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的並集