【MySQL】连接查询中on和where的区别

有一些新手可能会有这样的疑问,总是在一些查询语句的题目中发现,有些是用on后面加连接条件,有些又是在where上加连接条件,到底这两种写法有什么区别,分别对应什么场景呢?(只适合新手哦,大神勿喷)

其实这是两种sql规范,分别是sql92和sql99的写法,下面就来简单介绍一下这两种规范的连接语句写法:

sql92

select 查询列表

from 表1 别名 [连接类型]

join  表2 别名

where   连接条件

   [and 筛选条件(分组前)]

   [group by 分组]

   [having 筛选条件(分组后)]

   [order by 排序条件]

sql99

select 查询列表

from 表1 别名 [连接类型]

join  表2 别名

on   连接条件

   [where 筛选条件(分组前)]

   [group by 分组]

   [having 筛选条件(分组后)]

   [order by 排序条件]
发布了103 篇原创文章 · 获赞 10 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/zzf_forgot/article/details/102995688
今日推荐