left join 左边有数据,右边无数据,查询结果出现inner join的情况(and 和 where 的区别)

简介: A表id aname 1 张三2 李四B表id score aid bname year1 90 1 语文 20152 92 1 数学 2016select aname,bname,score from A left join B on A.
A表
id   aname 
1    张三
2    李四

B表
id    score  aid     bname  year
1      90      1     语文    2015
2      92      1     数学    2016


select aname,bname,score from A left join B on A.id=B.aid where year='2015'


查询结果

张三 语文 90



select aname,bname,score from A left join B on A.id=B.aid and year='2015'

查询结果

张三 语文 90
李四 null null

select aname,bname,score from A left join B on A.id=B.aid where year=’2015’

select aname,bname,score from A left join B on A.id=B.aid and year=’2015’

相关文章
|
SQL Oracle 关系型数据库
解决:Oracle数据库中Left join on 后面为null时匹配不上
解决:Oracle数据库中Left join on 后面为null时匹配不上
296 0
|
6月前
|
SQL Oracle 关系型数据库
Oracle查询优化-left join、right join、inner join、full join和逗号的区别
【1月更文挑战第5天】【1月更文挑战第13篇】实际查询时,多表联查是常规操作,但是连接方式有多种。
481 0
|
关系型数据库 MySQL
inner join 、left join、right join,优先使用inner join
inner join 、left join、right join,优先使用inner join
|
关系型数据库 MySQL
八、inner join 、left join、right join,优先使用inner join
八、inner join 、left join、right join,优先使用inner join
431 0
|
SQL 关系型数据库 MySQL
Join,left join,right join(1)--连接原理(三十九)
Join,left join,right join(1)--连接原理(三十九)
|
SQL 语音技术 数据库
SQL基础【十五、join、Inner join、Left join、Right join、Full join】
SQL基础【十五、join、Inner join、Left join、Right join、Full join】
160 0
SQL基础【十五、join、Inner join、Left join、Right join、Full join】
|
SQL 数据库
left join 后用 on 还是 where,区别大了!
前天写SQL时本想通过 A left B join on and 后面的条件来使查出的两条记录变成一条,奈何发现还是有两条。 后来发现 join on and 不会过滤结果记录条数,只会根据and后的条件是否显示 B表的记录,A表的记录一定会显示。 不管and 后面的是A.id=1还是B.id=1,都显示出A表中所有的记录,并关联显示B中对应A表中id为1的记录或者B表中id为1的记录。
132 0
left join 后用 on 还是 where,区别大了!
|
SQL 关系型数据库 MySQL
正确理解Left join
通俗来讲,left join就是以左表作为主表,结果返回左表的所有记录,右表满足条件记录正常显示,满足条件记录使用NULL做填充,一般业务中我们需要显示左表全部记录时才会使用left join。另外,某些情况下MySQL优化器会将我们的left join改写为join,什么情况下MySQL会做这样的优化?
1387 0
|
Oracle 关系型数据库 Linux
Oracle 左连接(left join) 排序问题
项目环境:linux、tomcat8.5、SSM框架、oracle11g 项目中一个列表查询,使用了左连接(left join),类似这样: select * from A left join B on A.
3041 0