代数 关系 sql GROUP BY SORT BY ORDER BY

2024-04-17

我想知道代数关系中的 GROUP BY、SORT BY 和 ORDER BY 等价于什么?


这两种操作在关系代数中都是不可能的,但人们一直在为这些操作创建一些“扩展”(注:在原文中,部分文本写为下标)。

GROUP BY,根据《数据库系统基础》一书(Elmasri,Navathe 2011 年第 6 版):

另一种无法用基本关系代数表达的请求是 对数据库中的值集合指定数学聚合函数。
...
我们可以使用符号 ℑ (发音为 脚本 F)7,指定这些类型的请求,如下所示:

ℑ (R)

其中是R中指定的关系的属性列表,是()对的列表。在每一对这样的组合中, 是允许的函数之一,例如 SUM、AVERAGE、MAXIMUM、 MINIMUM、COUNT — 和 是由 R 指定的关系的属性。生成的关系具有分组属性以及函数列表中每个元素的一个属性。

排序依据(排序依据),约翰·L·唐纳森的讲义 http://web.archive.org/web/20120911095423/https://www.cs.oberlin.edu/%7Ejdonalds/311/lecture12.html.

由于关系是一个集合(或一个包),因此没有为关系定义顺序。也就是说,如果两个关系包含相同的元组,则它们是相同的,无论顺序如何。然而,用户经常希望查询的输出以某种特定的顺序列出。如果我们愿意允许一个输出不是关系而是元组有序列表的运算符,我们可以定义一个额外的运算符 τ 来对关系进行排序。

例如,表达式

τ姓、名(学生)

生成所有 Student 元组的列表,按 LastName(作为主排序键)然后 FirstName(作为辅助排序键)排序。 (仅当两个元组在主排序键上一致时才使用辅助排序键。排序操作可以列出任意数量的排序键,从最重要到最不重要。)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

代数 关系 sql GROUP BY SORT BY ORDER BY 的相关文章

随机推荐

  • 出现错误:指定的文件扩展名“.webtest”不是有效的测试扩展名

    尝试跑步MSTEST exe我通过安装的Agents For Visual Studio 2017下载 https www visualstudio com downloads https www visualstudio com down
  • 如何使用 PHP 在浏览器上按“刷新”按钮时删除 $_POST 变量?

    当我按下浏览器上的 刷新 按钮时 似乎 POST变量在刷新过程中被保留 如果我想删除其中的内容 POST我应该怎么办 使用unset对于以下领域 POST没有帮助 帮助 谢谢 请求标头包含一些 POST 数据 无论您做什么 当您重新加载页面
  • 如何使用 FTP 在目录之间移动文件?

    我有一个程序需要将文件从 FTP 服务器上的一个目录移动到另一个目录 例如 该文件位于 ftp 1 1 1 1 MAIN Dir1 我需要将文件移动到 ftp 1 1 1 1 MAIN Dir2 我发现了几篇推荐使用 重命名 命令的文章 因
  • 无效的速记属性初始值设定项[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我在 JavaScript 中为节点项目编写了以下代码 但在测试模块时遇到了错误 我不确定这个错误是什么意思 这是我的代码 var
  • 为什么使用继承类型的泛型类未检测到类约束?

    表达这个问题很难 我希望下面的代码片段能让事情变得清楚 public class DemoClass
  • 如何保留换行符

    换行符和回车符 一定是编码中最复杂的部分 为我 将此代码放在页面中 来自数据库 存储为This from Ricardo nAnd also a test nRent 3000 00 td title This from Ricard An
  • Mathematica 中的分类树实现

    我想使用以下方法实现简单的分类树 二元分类 数学 我怎样才能实现二叉树数学 有这样做的符号吗 我想说这取决于你想用数据结构做什么 您可以利用 Mathematica 表达式本身就是树的事实 如果只有叶节点相关 则使用嵌套列表 例如 1 2
  • echo 命令,然后运行它? (如制作)

    有没有某种方法可以让 bash 进入一种详细模式 这样 当它运行 shell 脚本时 它会在运行之前回显将要运行的命令 也就是说 这样就可以看到运行的命令 以及它们的输出 类似于make 也就是说 如果运行像这样的 shell 脚本 ech
  • Sublime Text 2 和 MinGW

    再会 任何人都可以分享他们如何将 MinGW 编译器附加到 Sublime 的经验吗 我在互联网上找到了一个配置 但是当我运行编译的程序时 会弹出错误 其中缺少 MinGW bin 中的文件 Config cmd mingw32 g exe
  • 扩展小部件之间的空白

    一些 Flex 值会在 Expanded 小部件之间创建空白 据我所知 这是计算的其余部分 例如 Scaffold body Column children
  • ValueError:cross_val_predict仅适用于分区

    我有一个包含特征数组 X 和因变量数组 y 的多类分类问题 y 有四个类 1 2 3 和 4 数据严重不平衡 第 4 类只有少数观察结果 我选择的分类器模型为 model RandomForestClassifier n estimator
  • 如何开始:使用 AssertJ Swing 测试 Java Swing GUI

    在使用 Swing 开发 Java 桌面应用程序时 我需要直接测试 UI 而不仅仅是通过单元测试测试底层控制器 模型类 This 答案 关于 基于 Swing 的应用程序的最佳测试工具是什么 https stackoverflow com
  • 无法启动 celeryd - 错误:选项字符串冲突:--no-color

    我正在使用 django v1 7 0b4 和 celery v3 1 1 按照以下步骤进行Django安装指南 http docs celeryproject org en latest django first steps with d
  • 在 Linux 上使用 C++ 将 MAC 地址解析为 IP 地址

    我需要生成一个包含目标 MAC 地址的以太网标头 因为 libnfnetlink 在预路由发生之前仅提供 IP 标头 传出接口号也是已知的 因此可以在正确的网络中进行查找 从 IP 地址解析 MAC 地址的库 函数是什么 目前还不清楚为什么
  • 是否可以在不诉诸任意精度数据类型的情况下消除浮点错误?

    我想知道在特定条件下是否可以在不诉诸任意精度数据类型的情况下消除浮点错误 问题是常见的 语言是 Ruby 但它适用于任何语言 f 1829 82 gt 1829 82 f 12 0 gt 152 485 f 12 0 round 2 gt
  • 以编程方式设置母版页的母版页

    是否有办法以编程方式设置母版页的母版页 我需要在每个页面上执行此操作吗 我无权从 Master 访问 pre init 事件 嗯 在PreInit函数处 this MasterPageFile masterPage master 是的 您需
  • 具有符合 CaseIterable、RawRepresentable 的关联值的枚举

    我试图使具有关联值的枚举符合 CaseIterable RawRepresentable 当通过 rawValue 初始化时 我可以接受关联值的一些默认值 enum GenresAssociated CaseIterable RawRepr
  • ASP.NET Core Web API 应用程序是否可能出现死锁或应用程序挂起状态

    我有一个 ASP NET Core 3 1 Web API 应用程序 它有一个后台主机服务 我在其中编写了以下代码来模拟应用程序的死锁 public class Worker IHostedService public Task Start
  • 当您将 self 分配给委托时到底会发生什么?

    我是 Swift 新手 我很难理解分配的目的self给一位代表 部分困难源于委托似乎以两种不同的方式使用这一事实 第一个是当特定事件发生时将消息从一个类发送到另一个类的方法 几乎 就像状态管理一样 其次是使 类或结构能够将其部分职责移交给
  • 代数 关系 sql GROUP BY SORT BY ORDER BY

    我想知道代数关系中的 GROUP BY SORT BY 和 ORDER BY 等价于什么 这两种操作在关系代数中都是不可能的 但人们一直在为这些操作创建一些 扩展 注 在原文中 部分文本写为下标 GROUP BY 根据 数据库系统基础 一书