sql语法--左右连接 left / right join on

介绍

LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行。
重点:先匹配,再使用where条件筛选

语法

user表数据:
在这里插入图片描述
user_online表数据:
在这里插入图片描述
查询1

//单条件:右表中不存在的全为空
select * from `user` a left join user_online b on a.ID=b.user_id

在这里插入图片描述

//on 加 where :先用on匹配,再用where条件筛选
select * from `user` a left join user_online b on a.id=b.user_id where  b.login_date="2019-11-09 10:02:38";

在这里插入图片描述
*查询3: where 字段 is null *

// where 字段 is null 
select * from `user` a left join user_online b on a.ID=b.user_id WHERE b.user_id is null;

在这里插入图片描述
*查询4: where 字段 is not null *

// where 字段 is not null 
select * from `user` a left join user_online b on a.ID=b.user_id WHERE b.user_id is null;

在这里插入图片描述查询4:多条件,where和的单条件一致

//多条件:把on的所有条件作为匹配条件,不符合的右表都为null
select * from `user` a left join user_online b on a.id=b.user_id and org_id="1008000000" 

在这里插入图片描述

推荐:CTO 说,检查下自己的 SQL 有下面这 8 种写法的直接开了(码匠笔记)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值