MySQL中的join以及on条件的用法

MySQL中的join以及on条件的用法,第1张

join 经常用来做关联查询,可以把两张或者多张表用通过关联条件关联起来做数据查询

在使用join查询的时候要区分主表和附表,jion ...on .....and

on: 表之间的关联条件

and:对附表做筛选

内连接,两个关联的表都为主表,所以他们的做条件筛选的顺序是:先连接,后筛选。此时 join ...on ... and =join...on... where ....

左连接,这时候左边的表就是主表,所以,主表的数据会全部展示出来,右边的表为附表,此时on连接后在通过and进行筛选的条件对主表不起作用,只对附表起作用。先筛选再连接

右连接,右边的表为主表,左边表变成附表,如果on后面又and 做筛选条件的话,和left join一样 也是先筛选后连接。

如何让mysql的join的连接查询中的子表多加个条件

select * from tbl_a a join tbl_b b on a.col1=b.col1 where b.col2=''#用where来加条件就行。

如下图,必须使用on。否则会报错。

where用于对前面的表 *** 作(SELECT、UPDATE、DELETE)的限定,所以where需要在所有join连接完成后才能使用。

左连接时是以左表为基础的,左表的记录将会全部表示出来,而右表只会显示符合搜索条件即on后面的条件的记录。

即on对左表是不起作用的,只对右表起作用。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6095382.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-14
下一篇 2023-03-14

发表评论

登录后才能评论

评论列表(0条)

保存