sql中 group by 的优先级高 还是 join的优先级高?

如题所述

在没有子查询的情况下,join的优先级高。
比如:
select a.id,count(1) from a join b on a.id=b.id group by a.id
这种情况join的优先级高。
但是在有子查询的情况下比如:
select * from a join (select id,count(1) from b group by id) t on a.id=t.id
这种情况的话,group by 的优先级高,主要还是看情况。
总的来说join的优先级高一些,子查询是因为有()的作用。来自:求助得到的回答
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-10-21

join的优先级高,SELECT 语句处理顺序:

    FROM

    ON

    JOIN

    WHERE

    GROUP BY

    HAVING

    SELECT

    DISTINCT

    ORDER BY

第2个回答  2012-12-26
SQL中的优先级:join>where>group
但在select 列表中出现的未使用聚合函数的都要在group by 中出现,
如果不复合上述条件,SQL语法解析是会报错的(这和优先级无关)
相似回答