提起编程语言,更多人想到的是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的怀抱吧,让我们一起交流,一起成长。
领取专属 10元无门槛券
私享最新 技术干货