这是一份翻译和指南

本课程介绍了由ISO/IEC定义的编程语言SQL。该标准与大多数标准出版物类似,技术性较强,阅读起来既不容易也不直观。因此,存在一种需求,即需要一本解释语言关键特性的文档。这正是本课程的目标:我们希望为所有对该主题感兴趣的人提供易读且易理解的入门介绍。

数据库厂商的手册和白皮书主要集中于其产品的技术方面。由于它们希望与彼此区分开来,通常会强调超越SQL标准和其他厂商产品的那些方面。这与本课程的做法相反:我们希望强调共同的方面。

本课程的主要读者是那些想要学习SQL的人,无论是初学者,还是有一定知识和经验并寻找复习的人。

本课程的范围

首先,课程不是标准SQL或其任何实现的参考手册。参考手册通常包含定义及其解释。与此不同,课程尝试通过文本描述和示例来呈现概念和基本命令。当然,某些语法将会展示。在某些页面上,还会有关于标准与特定实现之间小差异的提示。

课程也不是一个完整的教程。首先,它的重点是标准,而不是任何具体的实现。在学习计算机语言时,必须亲自实践和体验它。因此,需要一个具体的实现,而大多数实现与标准有或多或少的差异。其次,课程远未涵盖完整的标准,例如标准的核心部分大约有18MB文本,超过1400页。但你可以将课程作为学习SQL的伴侣。

如何进行学习

对于所有SQL新手来说,必须从头到尾学习各个章节和页面。对于那些已有SQL经验或对某一特定方面感兴趣的人,可以直接跳到相应页面。

对其他计算机语言的知识并不是必须的,但会有帮助。

课程由描述、定义和示例组成。需要仔细阅读。此外,亲自进行数据和数据结构实验是绝对必要的。因此,必须能访问一个具体的数据库系统,以便进行只读和读写测试。你可以使用我们的示例数据库,或自定义的表和数据来进行这些测试。

约定

SQL语言的元素不区分大小写。例如,写SELECT...、Select...、select...,或是大小写字母的任意组合如SeLecT都没有区别。为了可读性,课程采用约定:所有语言关键字都用大写字母表示,所有用户自定义对象的名称,如表名和列名,都用小写字母表示。

我们将短SQL命令写在一行内。

SELECT street FROM address WHERE city = 'Duckburg';

对于跨多行的较长命令,我们使用表格格式。

SELECT street
FROM   address
WHERE  city IN ('Duckburg', 'Gotham City', 'Hobbs Lane');
最后修改: 2025年02月10日 星期一 12:20