因为如果直接把关联表的筛选条件拼接在 ON 后, 执行的顺序其实是: 先将jobinfo 表 按照筛选条件 professionRequire='程序员' 执行后作为子查询,再执行 LEFT JOIN ... ON 。 也就是第一步变成了执行SELECT * FROM jobinfo AS j WHERE j.professionRequire='程序员' 然后再进行连接查询,也就是 整个sql语句其...
1、条件放在on的后面 写一条SQL语句进行查询,这里的筛选条件为左表的id值为1,SQL语句如下: select * from d9 left join d10 on d9.id = d10.id and d9.id = 1; 1. 2. 3. 4. 可以看到筛选条件是接在on后面的,用and连接起来,and d9.id = 1,查询结果如下: 为什么是这样的结果呢?我们先将...
因为如果直接把关联表的筛选条件拼接在 ON 后, 执行的顺序其实是: 先将jobinfo 表 按照筛选条件 professionRequire='程序员' 执行后作为子查询,再执行 LEFT JOIN ... ON 。 也就是第一步变成了执行 SELECT * FROM jobinfo AS j WHERE j.professionRequire='程序员' 然后再进行连接查询,也就是 整个sql语句...
SELECT * FROM userinfo AS u LEFT JOIN jobinfo AS j ON u.userProfession=j.professionRequireWHERE j.professionRequire='程序员' 结果: 我们把筛选条件配合where去使用, 执行的逻辑就是: 先执行LEFT JOIN ... ON ...先将关联两个表之后的数据查询出来; 再按照professionRequire='程序员'条件,进行数据筛选。
1、使用left join时,若右表的数据想要影响左表的数据时(即右表条数减少,关联的左表条数也随之减少),就把条件写在where后 2、当把条件写在on后时,此时条件只会影响右表,不会影响左表(即右表条数减少,关联的左表条数不变),左表的数据查不到右表数据时,不影响左表的数据条数,会将关联的右表数据补成nu...
因为如果直接把关联表的筛选条件拼接在 ON 后, 执行的顺序其实是: 先将jobinfo 表 按照筛选条件 professionRequire='程序员' 执行后作为子查询,再执行 LEFT JOIN ... ON 。 也就是第一步变成了执行 SELECT * FROM jobinfo AS j WHERE j.professionRequire='程序员' 然后再...
SELECTs.number,s.name,s.level,c.courseFROMstudent s left join course c on1=2 3.2 where 和 on 的区别 where 条件是用来过滤数据的,它会在连接操作完成后,筛选出满足条件的行。where 条件可以应用于任何列,不一定是连接列。 on 条件是用来定义连接条件的,它会在连接操作进行时,指定两个表中哪些行是匹...
1:先是left join Sql代码 代码语言:js 复制 selectA.IDasAID,B.IDasBIDfromAleft joinBonA.ID=B.ID 查询结果如下 2:再查询结果中将B.ID即BID<2筛选出来。 也就是我们上面看到的结果。 第二sql语句查询过程如下等价于: 1:先按照on条件刷选表等价于先筛选B表: ...
在SQL中使用LEFT JOIN进行条件筛选可以通过在ON子句中添加条件来实现。以下是一个示例:假设有两个表A和B,我们想筛选出表A中符合条件的记录,并且将其和表B中对应的记录关联在一起。我们可以...
left join on 过滤条件left join:以左表为基准,根据on条件过滤连接生成临时表,on后面的过滤条件对左表无效 right join:以右表为基准,根据on条件过滤连接生成临时表,on后面的过滤条件对右表无效 full join:以左表为基准,根据on条件过滤连接生成临时表,on后面的过滤条件对左右表无效 inner join:等值连接,根据过滤...