有一些新手可能会有这样的疑问,总是在一些查询语句的题目中发现,有些是用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 排序条件]