SQL,一门不是语言的语言?

时间:2022-04-24
本文章向大家介绍SQL,一门不是语言的语言?,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

提起编程语言,更多人想到的是java、python、C、C++,甚至是php、js,几乎无人提到SQL,甚至很多编程语言排行榜里也将SQL排除在外。

同是向计算机发出指令,得到结果,凭什么别的算语言,SQL不算?

IT技术革新如此之快,曾经C如日中天,后来轮到java,现在号称是python的天下,但有人预测很快要被go所取代,每一门语言都有着其独特的使用场合,并不断被后来者超越。

然而却有一门语言从其诞生到现在,从未被替代,那就是SQL。甚至那些号称要取代它的反而被他所取代,如hadoop、如spark,最终还是不得不拾起SQL搞起sql on hadoop、sparkSQL。

在大数据时代,SQL依然散发着伟大的光芒,并不断把所谓的挑战者(hadoop、spark)纳入麾下,并不用说mpp分布式并行计算本身就是sql数据库。

而且,即使其他语言,一样离不了SQL去操作底层的数据,如下图所示:

那SQL到底是一门什么样的语言呢?明明干着最累最重的活(大数据量的计算,不是指程序员),却得不到大部分一个编程语言的名分呢?

我想原因可能有以下几个:

1、SQL藏在深闺(工作都在后台悄悄干掉了),不像web语言等在外面“抛头露面”为大众所熟知(甚至很多语言还创造了ORM框架,更是把sql金屋藏娇了,尽管其实还是sql在实际干活)

2、不像其他语言都是过程化语言,非常接近人类的思维方式。SQL语言却是一门“非人类”的语言,它是结构化的、集合化的,不太好理解,尤其是中高级SQL。不信?试试理解下下面这句:

SELECT FanName FROM Fans

WHERE NOT EXISTS

(

SELECT EventID FROM Events

WHERE NOT EXISTS

(

SELECT * FROM Attendance

WHERE Attendance.FanID=Fans.FanID

AND Attendance.EventID=Events.EventID

)

)

所以,朋友说,加入SQL的怀抱吧,让我们一起交流,一起成长。