就像SQL缩写所代表的意义一样,它是一种语言,它提供了循环,逻辑指令,变量等内容。但它并不是与Java或C++相同意义上的语言,SQL是一种第四代语言(4GL),而Java和C++是第三代语言(3GLs)。
第四代语言是一种比类似于Java的高级语言更接近人类语言的编程语言。第四代语言经常被用于访问数据库,例如SQL,它使用类似人类语言的句法来恢复和操作数据。
SQL可能与Java或C#不是同等的,但它确实是一种语言,这是Visual Basic和C开发者经常讨论的话题,他们对其持相反的观点,声称SQL并未编译且与3GL相比提供了很少的功能性。
证明其能力的最佳途径就是给出一个具体的实例,下面是SQL的例子:
IF EXISTS (SELECT * FROM table_name1)
BEGIN
UPDATE table_name2 SET field_name = ‘value’
FROM table_name2 alias2 INNER JOIN table_name1 alias1
ON alias2.field_name = alias1.field_name AND alias2.fieldname = alias1.fieldname
END
ELSE
BEGIN
UPDATE table_name2 SET field_name = ‘value’
FROM table_name2 alias3 INNER JOIN table_name1 alias4
ON alias3.fieldname = alias4.fieldname AND alias3.fieldname = alias4.fieldname
END
ELSE
PRINT ‘Error’
这个例子建立在SQL Server之上,它显示了几点内容:控制流(IF/ELSE),控制块(BEGIN/END)和Boolean操作符(AND) —一个编程语言的所有元素。
此外,合并变量是很容易实现的。你可以在存储程序中重用代码并使用触发器将程序作自动化或是时间安排。这些元素中的很多都取决于数据库的平台(SQL Server, Oracle, Sybase, Informix, DB/2等等),但core SQL99标准基本都是支持的。
SQL可以轻松地访问有用的数据,参阅ZDNet文章来了解更多的有关内容:
数据就是一个企业的支柱,他参与报告和审查,随着就数据的消除,新数据也经常被加入。SQL是一种可以轻松工作的语言,SQL所提供的功能不容轻易地被忽视。
我希望了解你的想法,你有没有遇到类似的关于SQL的偏见?请在下面讨论区发表你的意见。
欢迎评论或投稿