SQL语句执行顺序


在SQL查询中,关键词SELECT、FROM、WHERE、GROUP BY、HAVING和ORDER BY的组合使用定义了数据的筛选、分组、排序等操作。理解这些关键字的执行顺序对于构建有效且高效的查询至关重要。以下是这些关键字的执行顺序详解及案例说明:

执行顺序详解

  1. FROM子句:
    • 指定查询的数据源,既要从哪个表中获取数据。如果有多个表通过JOIN连接,那么会先计算这些表的笛卡尔积,然后根据JOIN条件和ON字句进行筛选。
  2. JOIN子句:
    • 指定表之间的连接类型(如INNER JOIN、LEFT JOIN等)和连接条件。JOIN操作会在FROM子句之后进行,用于合并来自不同表的数据。
  3. WHERE子句:
    • 在数据分组和聚合之前,根据指定的条件筛选记录。只有满足WHERE条件的记录才会被保留下来进行后续的操作。
  4. GROUP BY子句:
    • 将筛选后的记录按照一个或多个列进行分组。分组后,后续的操作(如聚合函数)将作用于这些分组上。
  5. HAVING子句(如果有的话):
    • 对分组后的数据进行筛选。与WHERE子句不同,HAVING子句可以使用聚合函数。只有满足HAVING条件的分组才会被保留下来。
  6. SELECT子句:
    • 选择需要返回的列或表达式。这包括聚合函数的结果、列的别名等。SELECT子句是在所有筛选和分组操作之后执行的。
  7. DISTINCT子句(如果有的话):
    • 对SELECT子句返回的结果进行去重。DISTINCT子句通常与SELECT子句一起使用,以确保返回的结果集中不包含重复的行。
  8. ORDER BY子句:
    • 对查询结果进行排序。ORDER BY子句可以在SELECT子句之后指定一个或多个列作为排序的依据。排序可以是升序(ASC)或降序(DESC)。
  9. LIMIT子句(如果有的话):
    • 限制查询结果的行数。LIMIT字句通常用于分页查询,可以指定从结果集的哪一行开始返回,以及返回多少行。

案例分析

案例1:查询每个部门的员工数量,并按员工数量降序排列

SELECT department,COUNT(*) AS employee_count
FROM employees
GROUP BY department
ORDER BY employee_countDESC;

-

宝塔SSL证书自动续签

评 论
更换验证码
avatar
  • Chrome
  • Windows10
Learn more here: <a href=https://sketchfab.com/npprteam12>https://sketchfab.com/npprteam12</a>
4 小时前 回复
avatar
  • Chrome
  • Windows10
Recommended reading: <a href=https://trinhan.edu.vn/blogs/139/%D0%9B%D1%83%D1%87%D1%88%D0%B8%D0%B5-%D0%BF%D1%80%D0%B5%D0%B4%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F-%D0%BD%D0%B0-%D0%B0%D0%BA%D0%BA%D0%B0%D1%83%D0%BD%D1%82%D1%8B-Facebook>https://trinhan.edu.vn/blogs/139/%D0%9B%D1%83%D1%87%D1%88%D0%B8%D0%B5-%D0%BF%D1%80%D0%B5%D0%B4%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F-%D0%BD%D0%B0-%D0%B0%D0%BA%D0%BA%D0%B0%D1%83%D0%BD%D1%82%D1%8B-Facebook</a>
4 小时前 回复
avatar
  • Chrome
  • Windows10
New in the Category: <a href=https://tstzaneen.co.za/blog/best-sites-to-buy-tiktok-accounts-us-real-cheap-2/>https://tstzaneen.co.za/blog/best-sites-to-buy-tiktok-accounts-us-real-cheap-2/</a>
4 小时前 回复
avatar
  • Chrome
  • Windows10
Premium selection: <a href=https://kudaniglian.ru/2025/10/27/%D0%9D%D0%B0%D0%B4%D0%B5%D0%B6%D0%BD%D1%8B%D0%B9-%D0%BC%D0%B0%D0%B3%D0%B0%D0%B7%D0%B8%D0%BD-%D0%B0%D0%BA%D0%BA%D0%B0%D1%83%D0%BD%D1%82%D0%BE%D0%B2-google-ads/>https://kudaniglian.ru/2025/10/27/%D0%9D%D0%B0%D0%B4%D0%B5%D0%B6%D0%BD%D1%8B%D0%B9-%D0%BC%D0%B0%D0%B3%D0%B0%D0%B7%D0%B8%D0%BD-%D0%B0%D0%BA%D0%BA%D0%B0%D1%83%D0%BD%D1%82%D0%BE%D0%B2-google-ads/</a>
4 小时前 回复
avatar
  • Chrome
  • Windows10
The best is in one place: <a href=https://www.criativawip.com/kupit-akkaunty-tiktok-nadezhnye-uchetnye-zapisi-6/>https://www.criativawip.com/kupit-akkaunty-tiktok-nadezhnye-uchetnye-zapisi-6/</a>
4 小时前 回复
avatar
  • Chrome
  • Windows10
More details One click: <a href=http://eidehgroup.com/fejsbuk-kupit-akkaunt-rukovodstvo-po-vyboru-i-3/>http://eidehgroup.com/fejsbuk-kupit-akkaunt-rukovodstvo-po-vyboru-i-3/</a>
4 小时前 回复
avatar
  • Chrome
  • Windows10
The best is collected here: <a href=https://graph.org/Facebook-akkaunty-dlya-biznesa-klyuch-k-uspehu-11-11-3>https://graph.org/Facebook-akkaunty-dlya-biznesa-klyuch-k-uspehu-11-11-3</a>
5 小时前 回复
avatar
  • Chrome
  • Windows10
What's out now: <a href=https://san-dis.ru/2025/10/27/%D0%9D%D0%B0%D0%B4%D0%B5%D0%B6%D0%BD%D1%8B%D0%B9-%D0%BC%D0%B0%D0%B3%D0%B0%D0%B7%D0%B8%D0%BD-%D0%B0%D0%BA%D0%BA%D0%B0%D1%83%D0%BD%D1%82%D0%BE%D0%B2-google-ads/>https://san-dis.ru/2025/10/27/%D0%9D%D0%B0%D0%B4%D0%B5%D0%B6%D0%BD%D1%8B%D0%B9-%D0%BC%D0%B0%D0%B3%D0%B0%D0%B7%D0%B8%D0%BD-%D0%B0%D0%BA%D0%BA%D0%B0%D1%83%D0%BD%D1%82%D0%BE%D0%B2-google-ads/</a>
6 小时前 回复
avatar
  • Chrome
  • Windows10
New in the Category: <a href=https://enethan.com.br/facebook-akkaunty-dlja-zapuska-reklamnyh-kampanij-5/>https://enethan.com.br/facebook-akkaunty-dlja-zapuska-reklamnyh-kampanij-5/</a>
6 小时前 回复
avatar
  • Chrome
  • Windows10
Current Updates: <a href=https://www.nwp.com.ua/2025/10/08/10-best-sites-to-buy-gmail-accounts-in-bulk-4/>https://www.nwp.com.ua/2025/10/08/10-best-sites-to-buy-gmail-accounts-in-bulk-4/</a>
6 小时前 回复