广告
返回顶部
首页 > 资讯 > 数据库 >MySQL ClickHouse不同于SQL的语法介绍
  • 363
分享到

MySQL ClickHouse不同于SQL的语法介绍

2024-04-02 19:04:59 363人浏览 独家记忆
摘要

目录ClickHouse的JOIN逻辑INSERT SELECT临时表窗口函数单引号和双引号下面只展示和Mysql或Hive区别较大的语法 例如ClickHouse建库语法和mysql几乎1卵样的不予展示 Cli

下面只展示和MysqlHive区别较大的语法

例如ClickHouse建库语法和mysql几乎1卵样的不予展示

ClickHouse的JOIN逻辑

MySQL ClickHouse不同于SQL的语法介绍

# 创建左表
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;
# 创建右表
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;
# 左联
SELECT *
FROM default.temp_left le
LEFT JOIN default.temp_right ri ON le.a=ri.a

左联测试结果

MySQL ClickHouse不同于SQL的语法介绍

在右表中,b允许空,ac冇允许空 左联后,联不上的a是空字符串,联不上的bNULL,联不上的c是0

INSERT SELECT

INSERT INTO t2
WITH a AS (SELECT * FROM t1)
SELECT * FROM a;

和HIVE、Mysql等不一样,ClickHouse的INSERT写在WITH之前

临时表

  • 当回话结束时,临时表将随会话一起消失
  • 临时表仅能用Memory表引擎
  • 无法为临时表指定数据库,它是在数据库之外创建的
  • 当查询没有指定库,且临时表与另一个表名相同 时,会优先使用临时表
CREATE TEMPORARY TABLE temp_t(`a` String,`b` Int32);
INSERT INTO temp_t VALUES ('AB',3),('CC',4);
SELECT * FROM temp_t;
# 结束会话后,临时表不存在

窗口函数

CREATE TEMPORARY TABLE sales(
name  String  COMMENT '产品',
city  String  COMMENT '城市',
sale  Int32   COMMENT '销量');
INSERT INTO sales VALUES
('椰子','佛山',99),('雪梨','佛山',77),('苹果','佛山',88),
('椰子','广州',80),('雪梨','广州',80),('苹果','广州',70);

MySQL ClickHouse不同于SQL的语法介绍

SELECT city
      ,groupArray(name) OVER (PARTITION BY city)
FROM sales;

MySQL ClickHouse不同于SQL的语法介绍

SELECT
    city,
    name,
    sale,
    rank() OVER(PARTITION BY city ORDER BY sale DESC)
FROM sales;

MySQL ClickHouse不同于SQL的语法介绍

单引号和双引号

多数情况使用单引号

SELECT "abc";
# 报错
SELECT 'abc';
# 正常查询,返回字符串
CREATE TABLE default.temp_t(
  `a` String COMMENT "匹配键"
)ENGINE=Log;
# 字段注释使用双引号报错
CREATE TABLE default.temp_t(
  `a` String COMMENT '匹配键'
)ENGINE=Log;
# 正常建表

到此这篇关于MySQL ClickHouse不同于SQL的语法介绍的文章就介绍到这了,更多相关MySQL ClickHouse内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL ClickHouse不同于SQL的语法介绍

本文链接: https://www.lsjlt.com/news/117003.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL ClickHouse不同于SQL的语法介绍
    目录ClickHouse的JOIN逻辑INSERT SELECT临时表窗口函数单引号和双引号下面只展示和mysql或HIVE区别较大的语法 例如ClickHouse建库语法和MySQL几乎1卵样的不予展示 Cli...
    99+
    2022-11-02
  • MySQLClickHouse不同于SQL的语法介绍
    目录ClickHouse的JOIN逻辑INSERT SELECT临时表窗口函数单引号和双引号下面只展示和MySQL或HIVE区别较大的语法 例如ClickHouse建库语法和...
    99+
    2022-11-13
    MySQL ClickHouse MySQL ClickHouse语法
  • MYSQL的基本SQL语句介绍
    下文主要给大家带来MYSQL的基本SQL语句介绍,希望这些内容能够带给大家实际用处,这也是我编辑MYSQL的基本SQL语句介绍这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。MYSQL介绍MySQL...
    99+
    2022-10-18
  • MySQL特有的SQL语句介绍
    本篇内容介绍了“MySQL特有的SQL语句介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!create语...
    99+
    2022-10-18
  • MySQL InnoDB锁介绍及不同SQL语句分别加什么样的锁的示例分析
    今天就跟大家聊聊有关MySQL InnoDB锁介绍及不同SQL语句分别加什么样的锁的示例分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。文章正文开...
    99+
    2022-10-19
  • PHP不同控制语句的详细介绍
    本篇内容主要讲解“PHP不同控制语句的详细介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PHP不同控制语句的详细介绍”吧!PHP控制语句1、IF语句 IF语句是多数语言中的一个重要特点,它根...
    99+
    2023-06-17
  • sql语句中with as的用法介绍
    本篇内容介绍了“sql语句中with as的用法介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2022-10-18
  • SQL Server的基本功能性语法介绍
    这篇文章主要介绍“SQL Server的基本功能性语法介绍”,在日常操作中,相信很多人在SQL Server的基本功能性语法介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”...
    99+
    2022-10-18
  • mysql中count()语句的用法介绍
    本篇内容主要讲解“mysql中count()语句的用法介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql中count()语句的用法介绍”吧!查看表结构...
    99+
    2022-10-18
  • mybatis中sql语句CDATA标签的用法介绍
    这篇文章主要介绍“mybatis中sql语句CDATA标签的用法介绍”,在日常操作中,相信很多人在mybatis中sql语句CDATA标签的用法介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mybatis...
    99+
    2023-06-20
  • 详解介绍删除Git历史的不同方法
    Git是一个非常流行的版本控制系统,它提供了很多方便的命令和功能来管理代码的各个版本。其中一个非常有用的功能是删除历史记录的能力。Git允许你删除某个特定的commit,它还有一些高级的选项来清理历史记录并保持你的代码库干净整洁。本文将介绍...
    99+
    2023-10-22
  • mysql数据库查询语句的语法格式介绍
    这篇文章给大家分享的是mysql数据库查询语句的语法格式的介绍。小编觉得挺实用的,因此分享给大家学习。如下资料是关于查询语句的语法格式的内容。mysql数据库使用SELECT语句来查询数据。通用语法...
    99+
    2022-10-18
  • Mysql中的触发器定义及语法介绍
    目录1.定义:2.语法:3.删除触发器4.查询触发器5.触发器类型OLD和NEW的使用1.定义:   触发器和存储过程相似,都是嵌入到 mysql 中的一段程序。触发器是由事件来触发某个操作。当数据库执行这些事件时,就会...
    99+
    2022-06-23
    mysql触发器
  • SQL Server数据库DATEADD的语法介绍及使用实例
    DATEADD函数是SQL Server数据库中的一个内置函数,用于在指定日期上添加或减去指定的时间间隔。语法:DATEADD(da...
    99+
    2023-09-23
    SQL Server数据库
  • 详细介绍PHP中SQL查询语句的使用方法
    PHP是一种流行的服务器端编程语言,MySQL是一种广泛应用的关系型数据库管理系统,它们的结合能够为Web应用程序提供强大的查询和数据处理能力。在PHP开发过程中,SQL查询语句是必须掌握的知识之一。本文将详细介绍PHP中SQL查询语句的使...
    99+
    2023-05-14
    SQL php
  • python3 中的几种除法介绍,小数的不同显示
    环境:python3.6.1 一、python3 中的除法 在python3中,一个算数表达式中遇到除法时,有两种不同的除法方式可以选择,分别是/ 和 // 。不同的表达式有不同的运...
    99+
    2022-11-11
  • Win8系统添加不同时区的时钟方法介绍
    在新版本的 Windows 8系统中,你其实是可以为系统添加最多到 3 个不同时区的时钟,可以方便不少有跨国联系的朋友,下面小编说说方法。  具体的方法是,点击托盘里的时间显示,然后点击「更改日期和时间设置」...
    99+
    2023-06-06
    Win8 时区 时钟 系统 添加
  • EntityFrameworkCore中执行SQL语句和存储过程的方法介绍
    无论ORM有多么强大,总会出现一些特殊的情况,它无法满足我们的要求。在这篇文章中,我们介绍几种执行SQL的方法。 表结构 在具体内容开始之前,我们先简单说明一下要使用的表结构。 ...
    99+
    2022-11-13
  • 用一条SQL语句查询不同数据库的方法
    小编给大家分享一下用一条SQL语句查询不同数据库的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!需求:一条SQL语句从多个数...
    99+
    2022-10-18
  • SQL语句中不同的连接JOIN及join的用法是什么
    本篇文章为大家展示了SQL语句中不同的连接JOIN及join的用法是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。为了从两个表中获取数据,我们有时会用JOIN将...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作