SQL全稱是「結構化查詢語言(Structured Query Language),用的時候是直接傳的sql語句去在數據庫中執行;java
hql是hibernate query language,操做的是持久化對象,由底層的持久化對象的數據更新到數據庫中區,他是hibernate造出來的對象sql語言,只有hibernate框架可以解析,並將其經過一系列的映射轉換,拼湊成sql語言。sql
JPQL是面向對象的查詢語言,所以它能夠徹底理解繼承、多態和關聯等特徵。並且JPQL內置了大量函數,極大地方便了JPQL查詢的功能。固然JPQL底層依然是基於SQL的,但JPQL到SQL的轉換無須開發者關心,JPQL解析器會負責完成這種轉換,並負責執行這種轉換的SQL語句來更新數據庫。 jpql其原型就是hibernate。sun看到hibernate作的orm技術作的很是好,成爲行業內領導orm框架的主流產品,故sun將其吸取進EJB3中,制定了一套orm的java api標準(特別說明的是:hibernate框架製造者,也是ejb3 jpa規範的定製者)。 故jpql極其相似hql。數據庫
CQL是Cassandra Query Language的縮寫,目前做爲Cassandra默認而且主要的交互接口。CQL和SQL比較相似,主要的區別是Cassandra不支持join或子查詢,除了支持經過Hive進行批處理分析。api