为了账号安全,请及时绑定邮箱和手机立即绑定
那么怎么可以体现二者区别呢?
很简单,连接时对应字段一致。也就是:
select a.user_name,a.over,b.over
... from user1 a left join user2 b on a.user_name=b.user_name
... union
... select b.user_name,a.over,b.over
... from user1 a right join user2 b on a.user_name=b.user_name;
这样执行select后结果分别是8和9
为什么呢?
因为左外连接和右外连接时字段的顺序是不一样的,那么全连接时就意味着字段一是user_name 的连接而字段二是a.over和b.over的;连接字段三是b.over和a.over的连接。不存在重复值,此时union和union all等价,执行结果也是一样的
关于union和union all用法
评论里小伙伴说的很清楚
但是关于老师使用的code
用哪个都是一样的
select a.user_name,a.over,b.over
... from user1 a left join user2 b on a.user_name=b.user_name
... union/union all
... select b.user_name,b.over,a.over
... from user1 a right join user2 b on a.user_name=b.user_name;
也不要动不动就说老师不行 非要现成的送到嘴边?建一个小db分分钟好伐 模板不谢
mysql-sql> insert into user2
... values('孙悟空','成佛');
mysql-sql> insert into user2
... values('牛魔王','被降服');
mysql-sql> insert into user2
... values('蛟魔王','被降服');
mysql-sql> insert into user2
... values('鹏魔王','被降服');
mysql-sql> insert into user2
... values('狮驼王','被降服');
mysql-sql> insert into user1
... values('唐僧','旃檀功德佛');

mysql-sql> insert into user1
... values('孙悟空','斗战胜佛');

mysql-sql> insert into user1
... values('猪八戒','净坛使者');

mysql-sql> insert into user1
... values('沙和尚','金身罗汉');
mysql-sql> create journey_to_the_west;
mysql-sql> use journey_to_the_west;
mysql-sql> create table user1(
... user_name varchar(20),
... over varchar(20)
... );

mysql-sql> create table user2(
... user_name varchar(20),
... over varchar(20)
... );
挺好的啊,不错的感觉
基础不够的出门右转,好走不送
左连接和右连接两节课里,ppt的思维和命令行的思维刚好相反,is null才能表现not in
对于 JOIN语句,会先级联,然后执行WHERE过滤,所以WHERE B.ID IS NULL才能实现NOT IN的效果!
|
select d.user_name,c.timestr,kills from (
select user_id,timestr,kills,
(select count(*) from killscount b where
b.user_id = a.user_id and a.kills<=b.kills ) as cnt
from killscount a
group by user_id,timestr,kills
) c join tangtang d on c.user_id = d.id
where cnt <=2
表结构在MySQL开发技巧第二季第二章第二季有过介绍...请诸位移步
好,这个技巧很有用!
课程须知
本门教程主要针对的是MySQL数据库,熟悉数据库的CRUD操作是掌握本门教程精华的必要条件。
老师告诉你能学到什么?
1、如何正确的使用join语句 2、如何实现分组选择数据

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消