sql 里面的where和on的区别及where里面的like,

关于where 和 on 的区别

其实在用join里面有不同
这几天刷了牛客网里面的sql题,里面大部分是sqlite题,我觉得sqlite和mysql区别不大
关于where 和 on 一开始我也分不太清有什么区别,后来看了一些大佬的才明白一点
过程就不写了,总结写一下结论

1.首先on是用在连接join中的,它的意思是在生成连接结果的时候 偏心地 剔除掉一些不符合条件的,
至于怎么偏心,比如在left join中 它就“偏袒”左(left)边的表 只把右边的表中不符合条件的剔除了(置为null)
在right join里面它就“偏袒”右边的表 只把左边的表中不符合条件的剔除了(置为null)
注意是变成null,不是空的
2where它是在生成连接结果之后,再去一整条记录去剔除(原两张表的内容都会被剔除)
where对于任何都不偏袒,

like

LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。
可以用于查询某个条件里面的值,某种状态
比如下面这个题,查询一个表和另一个表里面的某种状态;
sql 里面的where和on的区别及where里面的like,
如果要查询某个表里面某列的最后两位是xx的数据,可以用 where 某列 like ‘%xx’ %是补全某个数据

同理查询某个表里面某列的开头两位是xx的数据 where 某列 like ‘xx%’