Sql 中 FROM 不应该出现在 SELECT 之前吗?

问题描述 投票:0回答:2

这是我一直困扰的事情。将 FROM 子句放在 SELECT 之前不是更有意义吗?每当我编写 sql 时,尤其是使用连接时,我总是先找出 FROM 子句,然后编写 SELECT。

另外,将 FROM 放在第一位可以在编辑器中实现更好的智能感知。

有谁知道 SELECT 首先出现的原因是什么?只有我一个人为此烦恼吗?

sql select
2个回答
7
投票

是的,这很奇怪且违反直觉。休·达文 (Hugh Darwen) 提出了关于这种情况如何发生的理论:

您是否采用 SELECT-FROM-WHERE 进行 当然,或者你像我一样找到它 很好奇 System R 团队 应该抛弃正常的方式 书写任意的表达 有利于某事物的复杂性 完全与众不同,而且,人们可能会 说,相当独裁......?

事实上,在 20 世纪 60 年代,各种 脚本语言(正如我们倾向于 这些天这样称呼)已经来了 出于报告目的 生成,特别是特别报告 一代。我们有一种这样的语言 在称为前关系型 DBMS 中 我的终端业务系统(TBS) 1969-77 年在 IBM 工作。我们的 需要用户指定的语言 一系列所需的报告 必须给出的步骤 规定的顺序...

有点相似但更多 复杂的报告生成器是 后来由美国IBM公司开发, 称为产品的一部分(平淡地说, 就像当时 IBM 的风格) 通用信息系统 (GIS)...当我第一次看到 SQL 时, 我的第一反应是“哦不! GIS 的儿子?请不要这样!”我 可能是完全错误的 这。我感知到的相似之处 可能是虚幻的,即使 不是,我没有确凿的证据 System R 团队中的任何人 熟悉GIS。事实依然如此 即一般风格固定 行动的顺序是 当时的一天。我假设 SQL 的 SELECT-FROM-WHERE 源于 这个时尚。

来自

HAVING
一个错误的时间


1
投票

根据对唐纳德 D. 张伯伦 (Donald D. Chamberlin) 的口述历史采访,其语法类似于英语。

© www.soinside.com 2019 - 2024. All rights reserved.