一、sql关键字的执行顺序为
(1)from
(3) join
(2) on
(4) where
(5)group by(开始使用select中的别名,后面的语句中都可以使用)
(6) avg,sum…
(7)having
(8) select
(9) distinct
(10) order by
(11) limit
二.sql内连接
SELECT * from lf_dep a,LF_PRIVILEGE b where a.DEP_LEVEL = b.RESOURCE_ID;
上面的这个sql语句其实是内连接查询,相信有小伙伴会比较迷惑,内连接不是应该有 inner join关联两张表吗,上面的sql语句命名没有。
其实呢
内连接(inner join):有两种,显式的和隐式的,返回连接表中符合连接条件和查询条件的数据行。
隐式的内连接,没有inner join,形成的中间表为两个表的笛卡尔积。
SELECT * from lf_dep a,LF_PRIVILEGE b where a.DEP_LEVEL = b.RESOURCE_ID;
显示的内连接,一般称为内连接,有inner join,形成的中间表为两个表经过on条件过滤后的笛卡尔积。
SELECT * from lf_dep a INNER JOIN LF_PRIVILEGE b on a.DEP_LEVEL = b.RESOURCE_ID;
上面两个句子的查询效果其实是一样的,