首先要把这个概念记在脑中:“声明”。 SQL 语言是为计算机声明了一个你想从原始数据中获得什么样的结果的一个范例,而不是告诉计算机如何能够得到结果。这是不是很棒?
(注:简单地说,SQL 语言声明的是结果集的属性,计算机会根据 SQL 所声明的内容来数据库中挑选出符合声明的数据,而不是像传统编程思维去指示计算机如何操作。)
例如:
select name from student where age<30;
上面的例子是说我们并不需要知道这些学生的名字从哪里获取的,我们只需知道我们要的是年龄小于30的学生名字(注:age<30)。
SQL 语言这么简单,那么是什么让人们“闻 SQL 色变”?主要的原因是:我们潜意识中的是按照命令式编程的思维方式思考问题的。就好像这样:“电脑,先执行这一步,再执行那一步,但是在那之前先检查一下是否满足条件 A 和条件 B ”。例如,用变量传参、使用循环语句、迭代、调用函数等等,都是这种命令式编程的思维惯式。