《SQL基础教程》+ 《SQL进阶教程》 学习笔记 (17)

《程序设计能从冯·诺依曼风格中解放出来吗?程序的函数风格及其代数》中提到,只要使用变量,就无法逃出地址的魔咒。反过来说,之所以SQL 能成为不依赖于地址的自由的语言,也是因为它不使用变量。

其实 SQL 还是有变量的,也可以理解成它是个别数据库厂商违反 SQL 标准而进行的扩展吧。

与 SQL 一样不使用变量的语言还有 Lisp。它是一种年龄仅次于 Fortran 的高级语言,已经可以称得上是编程语言中的“老将”。

3、SQL 是一种什么语言

SQL 很大程度上是一种声明式编程,但是其也含有过程式编程的元素。

例如,关联子查询是为了使 SQL 能够实现类似面向过程语言中循环的功能而引入的。

SQL 在设计之初,就有意地避免了循环。所以 SQL 中没有专门的循环语句。

虽然可以使用游标实现循环,但是这样的话还是面向过程的做法。

所以,我们用好 SQL,就要有从面向过程思维向声明式思维、面向集合思维转变的意识。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zygdwg.html