读书人

十步完全了解SQL(转)

发布时间: 2014-01-15 15:40:23 作者: rapoo

十步完全理解SQL(转)

本文由?伯乐在线?-?水果泡腾片?翻译自?Lukas Eder?。欢迎加入技术翻译小组。转载请参见文章末尾处的要求。

很多程序员视 SQL 为洪水猛兽。SQL 是一种为数不多的声明性语言,它的运行方式完全不同于我们所熟知的命令行语言、面向对象的程序语言、甚至是函数语言(尽管有些人认为 SQL 语言也是一种函数式语言)。

我们每天都在写 SQL 并且应用在开源软件 jOOQ 中。于是我想把 SQL 之美介绍给那些仍然对它头疼不已的朋友,所以本文是为了以下读者而特地编写的:

1、 在工作中会用到 SQL 但是对它并不完全了解的人。

2、 能够熟练使用 SQL 但是并不了解其语法逻辑的人。

3、 想要教别人 SQL 的人。

十步完全了解SQL(转)

本文着重介绍 SELECT 句式,其他的 DML —ata Manipulation Language 数据操纵语言命令)将会在别的文章中进行介绍。

10个简单步骤,完全理解SQL

1、 SQL 是一种声明式语言

首先要把这个概念记在脑中:“声明”。 SQL 语言是为计算机声明了一个你想从原始数据中获得什么样的结果的一个范例,而不是告诉计算机如何能够得到结果。这是不是很棒?

(译者注:简单地说,SQL 语言声明的是结果集的属性,计算机会根据 SQL 所声明的内容来从数据库中挑选出符合声明的数据,而不是像传统编程思维去指示计算机如何操作。)

1SELECT first_name, last_name FROM employees WHERE salary > 100000

上面的例子很容易理解,我们不关心这些雇员记录从哪里来,我们所需要的只是那些高薪者的数据(译者注: salary>100000 )。

我们从哪儿学习到这些?

如果 SQL 语言这么简单,那么是什么让人们“闻 SQL 色变”?主要的原因是:我们潜意识中的是按照命令式编程的思维方式思考问题的。就好像这样:“电脑,先执行这一步,再执行那一步,但是在那之前先检查一下是否满足条件 A 和条件 B ”。例如,用变量传参、使用循环语句、迭代、调用函数等等,都是这种命令式编程的思维惯式。

2、 SQL 的语法并不按照语法顺序执行

SQL 语句有一个让大部分人都感到困惑的特性,就是:SQL 语句的执行顺序跟其语句的语法顺序并不一致。SQL 语句的语法顺序是:

读书人网 >SQL Server

热点推荐