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

代码如下:

子查询内部也使用了左连接

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的并集

       

本文出自 “点滴积累” 博客,请务必保留此出处http://tianxingzhe.blog.51cto.com/3390077/1680276

时间: 2024-09-17 03:45:08

两个sql查询语句之间的左连接left join的相关文章

[数据库] SQL查询语句表行列转换及一行数据转换成两列

本文主要讲述了SQL查询语句表之间的行列转换,同时也包括如何将一行数据转换成两列数据的方法.子查询的应用.decode函数的用法.希望文章对你有所帮助~ 1.创建数据库表及插入数据 2.子查询统计不同性质的学生总数 3.一行数据转换成两列数据 union all 4.表行列数据转换(表转置) 1.创建数据库表及插入数据 创建数据库.创建学生表并设置主键.插入数据代码如下: --创建数据库 create database StudentMS --使用数据库 use StudentMS --创建学生

oracle常用sql查询语句部分集合(图文)_oracle

Oracle查询语句 select * from scott.emp ; 1.--dense_rank()分析函数(查找每个部门工资最高前三名员工信息) select * from (select deptno,ename,sal,dense_rank() over(partition by deptno order by sal desc) a from scott.emp) where a<=3 order by deptno asc,sal desc ; 结果: --rank()分析函数(

Hive之sql查询语句的处理步骤

sql查询语句的处理步骤如下 --查询组合字段 (5)select (5-2) distinct(5-3) top(<top_specification>)(5-1)<select_list> --连表 (1)from (1-J)<left_table><join_type> join <right_table> on <on_predicate> (1-A)<left_table><apply_type> a

SQL查询语句通配符与ACCESS模糊查询like的解决方法

ACCESS的通配符和SQL SERVER的通配符比较===================================================ACCESS库的通配符为:*   与任何个数的字符匹配?   与任何单个字母的字符匹配 SQL Server中的通配符为:% 与任何个数的字符匹配_ 与单个字符匹配正文我今天在写个页面的时候,也很郁闷,表中明明有记录,但在ASP里就是搜索不到,理论的sql语句如下:Select * FROM t_food Where t_food.name

SQL查询语句通配符与ACCESS模糊查询like的解决方法_应用技巧

ACCESS的通配符和SQL SERVER的通配符比较===================================================ACCESS库的通配符为:*   与任何个数的字符匹配?   与任何单个字母的字符匹配 SQL Server中的通配符为:% 与任何个数的字符匹配_ 与单个字符匹配正文我今天在写个页面的时候,也很郁闷,表中明明有记录,但在ASP里就是搜索不到,理论的sql语句如下:Select * FROM t_food Where t_food.name

sql 股票 复杂查询-股票数据复杂sql查询语句

问题描述 股票数据复杂sql查询语句 数据库表如下 CREATE TABLE STOCKITEM( STOCKDATE DATE NOT NULL, STOCKCODE CHAR(50) NOT NULL, STOCKNAME CHAR(50) NOT NULL, OPENPRICE DOUBLE NOT NULL, CLOSEPRICE DOUBLE NOT NULL, HIGHESTPRICE DOUBLE NOT NULL, LOWESTPRICE DOUBLE NOT NULL, FLU

oracle中sql查询语句,求助

问题描述 oracle中sql查询语句,求助 比如有两张表 用户表User {id name }成绩表Score {id userid coursename courseScore}现在怎么查找每个用户的最高成绩 解决方案 select distinct u.idu.names.courseScore from User as uinner join ( select max(courseScore) as courseScore userid from Scoregroup by userid

sql查询语句,在一个表里查询同时包含两行数据的ID

问题描述 sql查询语句,在一个表里查询同时包含两行数据的ID select * from traintime where '成都' IN (select * from traintime where Station ='重庆') 这句话要怎么写啊!我的数据库结构是(所有的列车时刻表都在一个表里) id 站台 里程 c226 成都 0 c226 重庆 100 k51 成都 0 k51 重庆 100 k51 武汉 300 ... 怎样才能查询经过这两个站的所有列车信息 解决方案 select a.

SQL查询语句行转列横向显示实例解析_MsSql

本文分享了两个有关SQL查询语句行转列横向显示的示例,供大家参考,具体内容如下 示例1: 在SQL查询语句行转列横向显示中access中没有CASE,要用IIF代替 select  iif(sex= '1 ', '男 ', '女 ')  from  tablename select country, sum(case when type='A' then money end) as A, sum(case when type='B' then money end) as B, sum(case