on条件与where条件的区别

on条件用于筛选左连接时右表的数据(反之筛选右连接中左表的数据),且总是显示左(右)表的所有数据;
where条件筛选两个表连接完以后的数据
千万不能把where条件和on条件混为一谈!!!
 
实验如下:
 
步骤一:
不给条件,直接连接两表
结果如下(总行数:37行)
更换左右表位置,结果同上
 
步骤二:
给左表添加条件
结果如下:
可见左表中的课程名全部显示出来,右表中的分数却只显示了生物课程(cid=1)的分数;
将上面的条件换成右表的条件,结果同上(所以on条件后面无论跟哪张表的条件,结果都是对右表的筛选,从而得出on后面必须写针对右表的筛选条件)
 
步骤三
给右表添加一个不存在的条件
结果如下:
可见经过on的筛选后,右表一条数据也没有
posted @ 2020-03-20 16:20  gaoyang'Blog  阅读(334)  评论(0)    收藏  举报