很多程序员视 SQL 为洪水猛兽。SQL 是一种为数不多的声明性语言,它的运行方式完全不同于我们所熟知的命令行语言、面向对象的程序语言、甚至是函数语言(尽管有些人认为 SQL 语言也是一种函数式语言)。
如果你是一下这三类人中,不妨看下此文,相信会对你有所帮助:
- 在工作中会用到 SQL 但是对它并不完全了解的人;
- 能够熟练使用 SQL 但是并不了解其语法逻辑的人;
- 想要教别人 SQL 的人。
以下为10个简单步骤,可完全理解SQL:
- SQL 是一种声明式语言——SQL 语言声明的是结果集的属性,计算机会根据 SQL 所声明的内容来从数据库中挑选出符合声明的数据,而不是像传统编程思维去指示计算机如何操作。
- SQL 的语法并不按照语法顺序执行
- SQL 语言的核心是对表的引用(table references)
- 灵活引用表能使 SQL 语句变得更强大
- SQL 语句中推荐使用表连接——记着要尽量使用 JOIN 进行表的连接,永远不要在 FROM 后面使用逗号连接表。
- SQL 语句中不同的连接操作
- SQL 中如同变量的派生表——大体上来说 SQL 语句就是对表的引用,而并非对字段的引用。
- SQL 语句中 GROUP BY 是对表的引用进行的操作
- SQL 语句中的 SELECT 实质上是对关系的映射
- SQL 语句中的几个简单的关键词: DISTINCT , UNION , ORDER BY 和 OFFSET
正如其他语言一样,想要学好 SQL 语言就要大量的练习。上面的 10 个简单的步骤能够帮助你对你每天所写的 SQL 语句有更好的理解。另一方面来讲,从平时常见的错误中也能积累到很多经验。由于篇幅限制,无法一一详解,请阅读原文:《十步完全理解SQL》