如何理解这句话:
SQL不是完整的程序语言。
问题的关键是,什么是“完整的程序语言”?不知道这句话上下文中“完整的程序语言”的定义,所以完全无法回答这个问题。
==========================
下面是另一个角度,可能这句话原意无关...
在计算机理论里面,有一种叫做图灵机的东西,它不是一个真实的计算机,这是一个模型,但是它定义了当前计算机解决问题能力的上限。
如果一个系统(指令集、计算机语言,等等)能够解决所有图灵机能够解决的问题,那么就称它是图灵完备的。
[这里要忽略内存的限制。图灵机也是有无限“内存”的]
所有通用的编程语言(C,java,pascal,python,....)都是图灵完备的。
SQL 虽然没有循环语句,但是 WITH RECURSIVE 的存在,使得 SQL 也是图灵完备的。(一个简单的构造性证明)
=========================
[我开始以为不完整就是说它不是图灵完备的,查了下它竟然是 ...]
[所以不完整这是说它没有循环?]
[它有能力,并不意味着用它来开发是简单的,或者可行的。由于它不是为通用开发设计的,使得用它来进行通用会非常困难。其实图灵机的结构是非常简单的,造一个出来也不困难,但是实际的计算机没有直接按照图灵机制造的,也没有实用的开发语言是直接基于图灵机模型的,就是因为直接基于图灵机开发会是非常困难的。]
2 回答835 阅读✓ 已解决
1 回答879 阅读✓ 已解决
1 回答889 阅读✓ 已解决
1 回答715 阅读✓ 已解决
2 回答983 阅读
1 回答1.1k 阅读
1 回答868 阅读
SQL简介 – SUPINFO中国校区技术博客