任何人都可以推荐一本好的ANSI SQL参考手册吗?
当您需要基本或更深入的解释或示例时,我没有必要指教程,而是需要查找的正确参考文档。
目前我使用的是W3Schools SQL Tutorial和SQL Tutorial,但我发现它们“不够深”。
当然,每个主要的RDBMS制作人都会有一些针对他们自己的产品的参考手册,但他们往往有偏见,有时会使用专有扩展。
编辑:问题的目的是关注数据库引擎的共同点,即SQL根源。但是理解这些差异也可能是一件好事 - this非常有趣。
答案 0 :(得分:29)
这是SQL:1992的'第二次非正式审查草案',它似乎已经足够准确,可以查找我所查到的所有内容。 1992年涵盖了DBMS中常用的大部分内容。
答案 1 :(得分:13)
SQL不像C或Java那样有语言标准,然后许多公司和组织正在按照标准尽可能地实现该语言。
相反,主要数据库出现在SQL标准之前,标准是一种妥协,每个数据库供应商都希望在标准中获得他们特定的方言和功能。
因此,数据库之间的变化比典型的编程语言编译器要多得多,要使用数据库,您确实需要知道特定的SQL方言。
话虽如此,我的书架上还有Gultzan和Peltzer的SQL-99 Complete, Really。如果你需要知道标准真正包含什么,这是一本好书。 (是的,自SQL-99以来有一个更新的版本,但似乎没有人关心。)
编辑:实际上,自SQL-99以来,不仅有一个更新的版本,而是三个:SQL:2003,SQL:2006和SQL:2008。似乎还没有人关心。实际上,许多人甚至不关心SQL-99,所以SQL-92在某种程度上仍然是“标准”。
答案 2 :(得分:7)
ANSI文档都可以从 - 你猜对了 - ANSI。
答案 3 :(得分:5)
ANSI SQL参考手册的主要问题是您找不到实现它的DB。当它发生时,你会发现ANSI SQL无法解决一些日常问题。这就是所有专业数据库定义扩展的原因。
因此,在工作中,您需要一个参考手册,用于您使用的特定数据库版本。
答案 4 :(得分:2)
这让我想起了我的第二年大学课程,在那里我们学习了关系理论而不是SQL。
阅读一本关于关系理论的好书。自从Edgar Codd最初在1969年定义关系模型以来,数据库理论和实践得到了发展。独立于任何SQL产品,SQL和关系理论借鉴了数十年的研究,提出了最新的材料处理方法。在SQL中具有适度高级背景的任何人都将受益于本书中的许多见解。
Oreilly 2009年1月
答案 5 :(得分:1)
我非常喜欢乔·塞尔科写的任何事Celko's Books
答案 6 :(得分:1)
我发现学习SQL的最好方法是实际编写查询和理解连接/条件等的本质。我发现这个链接有很多DIY示例是最好的:http://sqlzoo.net/
答案 7 :(得分:0)
这是一个过时的,但这本书真的很有帮助,看看不同的供应商如何实现的东西,我相信它包括ANSII标准。
答案 8 :(得分:0)
DevGuru资源总是对我有用: http://www.devguru.com/technologies/t-sql/home.asp
虽然我必须承认它并非严格意义上的“ANSI”重点资源。我一直以MS SQL为中心,当我开始时它对我很有帮助。恕我直言最好的办法是使用多种资源 - 特别是至少包含一个您想要使用的数据库平台。
引用DevGuru简介介绍其T-SQL资源:
虽然有SQL标准, 例如ANSI SQL92和SQL99,大多数 数据库使用自己的方言和/或 推广。微软的SQL风格 用于SQL Server 7和SQL Server 2000年被称为T-SQL。虽然很多 本快速参考中的示例 它可能适用于其他数据库 假设使用了SQL Server 2000, 特别是对于高级主题,如 存储过程。
答案 9 :(得分:0)
我认为这可能对您有所帮助。
了解ANSI SQL标准 作者:Kevin Kline
http://www.amazon.com/gp/product/1565927443/102-0105946-4028970?v=glance&n=283155