为了账号安全,请及时绑定邮箱和手机立即绑定
2. 优化使用join 语句
select a.user_name , b.timestr , b.kills 
from user1 a
join user_kills b on a.id = b.user_id
join user_kills c on c.user_id = b.user_id
group by a.user_name , b.timestr , b.kills
having b.kills = MAX(c.kills)
1. 使用子查询语句:
select a.user_name,b.timestr,b.kills from user1 as a left join user_kills as b on a.id = b.user_id
where b.kills = (select max(c.kills) from user_kills as c where b.user_id = c.user_id);
UPDATE user1,user2 set user1.over = '齐天大圣' WHERE user1.`user_name` = user2.`user_name`; 这样也能操作
谢谢老师教导,很好用。刚实习三个月大四狗

最新回答 / honker丶boy
这个老师讲的,诉求是求出孙悟空的拜把子兄弟没有去取经的,应该是取右表除孙悟空之外的所有的元素
感觉自己好无知,要学习的东西太多了

已采纳回答 / porty
(left outer join 左外连接)  等同于  (left join 左连接)。

最赞回答 / 幸福是可积的
这个具体得看执行计划,join两表的连接条件有索引的话,数据库会根据连接条件获取满足条件的数据,并进行相应的优化,一般来说数据量小的话,走不走索引影响不大,数据量达到一定级别且连接条件的字段有索引,数据库就会走索引

已采纳回答 / 久伴兔兔宝宝
left join即left outer join是左连接,若有A\B两张表,意思是查询出A表的全部数据和与之对应的B表数据,B表中没有的数据就用null代替;而right outer join是右连接,意思是查询出B表的全部数据和与之对应的A表数据。怎么会划等号?查出的数据都不一样的

最新回答 / wuloves
参考这个吧 , 被你这个问题问的我也很懵逼 , 我找了这个文档链接 , 里面也没见到使用 is not null的 https://www.cnblogs.com/logon/p/3748020.html
​那最后查个孙悟空,那结果岂不是说四人组中孙悟空不是孙悟空的结拜兄弟,感觉这个举例不太恰当呀
a表1,2,3.
b表2,3,4
全连接结果:
1,null
2,2
3,3
null,4
where 选中带有null的值
1,null
null,4
表a,id为1,2,3
表b,id为2,3,4
想找出不和b表id相等的数据。
(notin方法)
select * from a
where a.id not in (
select id from b
)
(leftjoin方法)
(1)
select * from a
left join b
on a.id=b.id
查出1,null ;2,2;3,3三条数据
上面sql加上where限制,where b.id=null, 就只剩下一条id=1的数据
课程须知
本门教程主要针对的是MySQL数据库,熟悉数据库的CRUD操作是掌握本门教程精华的必要条件。
老师告诉你能学到什么?
1、如何正确的使用join语句 2、如何实现分组选择数据

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消