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"; # 報(bào)錯 SELECT 'abc'; # 正常查詢,返回字符串
CREATE TABLE default.temp_t( `a` String COMMENT "匹配鍵" )ENGINE=Log; # 字段注釋使用雙引號報(bào)錯 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-06
mysql 導(dǎo)出select語句結(jié)果到excel文件遇到問題及解決方法
這篇文章主要介紹了mysql 導(dǎo)出select語句結(jié)果到excel文件遇到問題及解決方法的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-09-09

