GROUP BY 和 ORDER BY 都是具有相似功能的子句(或语句),即是对查询结果进行排序。但是,它们的目的截然不同。实际上差异非常之大,以至于它们可以单独使用或一起使用。如果你不确定要使用哪个,事情能会变得有点冒险。在今天的文章中,我们将学习这两个子句的功能以及如何将它们一起使用以最终控制查询输出。为此,我们将使用Navicat Premium 和 Sakila 示例数据库。
在先前的文章先前的文章中,我们使用 Navicat for SQL Server 将 SQL Server 中给定列的平均每日计数制成表格。在今天的后续文章中,我们将通过计算基于开始日期和结束日期列的每日平均日期或时间间隔来稍微提高难度系数。出于演示目的,我将使用 Navicat Premium 和 MySQL。
通常,查询规范化数据库需要将表的一个或多个通用字段联接。否则,可能会产生笛卡尔积。这是一个行数等于第一个表行数乘以第二个表行数的结果集。因此,如果输入包含 1000 人和 1000 个电话号码,则结果會有 1,000,000 个组合!这种做法并不好。话虽如此,如果你想聚合不直接相关但相似的表的数据,则可以使用 UNION 运算符进行操作。在今天的文1中,我们将学习一些有关使用 UNION 及其相类似的 UNION ALL 的要点。
联接(Join)和子查询(Subquery)都是用于将来自不同表的数据合并到单个结果集中。因此,它们具有许多相似之处和不同之处。一个关键的差别是性能。如果执行速度对你的业务至关重要,你应该优先考虑使用哪一种方法?请继续阅读,找出答案!
Navicat 文章
频道条目分享
文章归档
- 2025 (1)
- 2024 (1)
- 2023 (1)
- 2022 (1)
- 2021 (1)
- 2020 (1)
- 2019 (1)
- 2018 (1)
- 2017 (1)