MySQL ClickHouse不同于SQL的語法介紹
下面只展示和MySQL或HIVE區(qū)別較大的語法
例如ClickHouse建庫語法和MySQL幾乎1卵樣的不予展示
ClickHouse的JOIN邏輯
# 創(chuàng)建左表 CREATE TABLE default.temp_left( `a` String COMMENT '匹配鍵' )ENGINE = MergeTree ORDER BY (a); INSERT INTO default.temp_left SELECT 'A1' AS a UNION ALL SELECT 'A1' AS a UNION ALL SELECT 'A2' AS a UNION ALL SELECT 'A3' AS a; # 創(chuàng)建右表 CREATE TABLE default.temp_right( `a` String COMMENT '匹配鍵', `b` Nullable(UInt32), `c` UInt32 )ENGINE = MergeTree ORDER BY (a); INSERT INTO default.temp_right SELECT 'A2' AS a,9 AS b,8 AS c UNION ALL SELECT 'A3' AS a,9 AS b,8 AS c UNION ALL SELECT 'A4' AS a,9 AS b,8 AS c; # 左聯(lián) SELECT * FROM default.temp_left le LEFT JOIN default.temp_right ri ON le.a=ri.a
左聯(lián)測試結(jié)果
在右表中,b
允許空,a
和c
冇允許空 左聯(lián)后,聯(lián)不上的a
是空字符串,聯(lián)不上的b
是NULL
,聯(lián)不上的c
是0
INSERT SELECT
INSERT INTO t2 WITH a AS (SELECT * FROM t1) SELECT * FROM a;
和HIVE、MySQL等不一樣,ClickHouse的INSERT
寫在WITH
之前
臨時表
- 當(dāng)回話結(jié)束時,臨時表將隨會話一起消失
- 臨時表僅能用Memory表引擎
- 無法為臨時表指定數(shù)據(jù)庫,它是在數(shù)據(jù)庫之外創(chuàng)建的
- 當(dāng)查詢沒有指定庫,且臨時表與另一個表名相同 時,會優(yōu)先使用臨時表
CREATE TEMPORARY TABLE temp_t(`a` String,`b` Int32); INSERT INTO temp_t VALUES ('AB',3),('CC',4); SELECT * FROM temp_t; # 結(jié)束會話后,臨時表不存在
窗口函數(shù)
CREATE TEMPORARY TABLE sales( name String COMMENT '產(chǎn)品', city String COMMENT '城市', sale Int32 COMMENT '銷量'); INSERT INTO sales VALUES ('椰子','佛山',99),('雪梨','佛山',77),('蘋果','佛山',88), ('椰子','廣州',80),('雪梨','廣州',80),('蘋果','廣州',70);
SELECT city ,groupArray(name) OVER (PARTITION BY city) FROM sales;
SELECT city, name, sale, rank() OVER(PARTITION BY city ORDER BY sale DESC) FROM sales;
單引號和雙引號
多數(shù)情況使用單引號
SELECT "abc"; # 報錯 SELECT 'abc'; # 正常查詢,返回字符串
CREATE TABLE default.temp_t( `a` String COMMENT "匹配鍵" )ENGINE=Log; # 字段注釋使用雙引號報錯 CREATE TABLE default.temp_t( `a` String COMMENT '匹配鍵' )ENGINE=Log; # 正常建表
到此這篇關(guān)于MySQL ClickHouse不同于SQL的語法介紹的文章就介紹到這了,更多相關(guān)MySQL ClickHouse內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
關(guān)于Mysql-connector-java驅(qū)動版本問題總結(jié)
這篇文章主要介紹了Mysql-connector-java驅(qū)動版本問題,本文給大家介紹的很詳細(xì),通過原因說明問題小結(jié)個人建議給大家展示的很好,需要的朋友可以參考下2021-06-06mysql 導(dǎo)出select語句結(jié)果到excel文件遇到問題及解決方法
這篇文章主要介紹了mysql 導(dǎo)出select語句結(jié)果到excel文件遇到問題及解決方法的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-09-09