您的位置:首页 > 数据库

两个sql查询语句之间的左连接left join

2015-07-30 19:10 651 查看
代码如下:

子查询内部也使用了左连接
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查询 连接