返回顶部
首页 > 资讯 > 数据库 >MySQLClickHouse不同于SQL的语法介绍
  • 207
分享到

MySQLClickHouse不同于SQL的语法介绍

MySQLClickHouseMySQLClickHouse语法 2022-11-13 19:11:34 207人浏览 泡泡鱼
摘要

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

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

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

ClickHouse的JOIN逻辑

# 创建左表
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

左联测试结果

在右表中,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);

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;

单引号和双引号

多数情况使用单引号

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--

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

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

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

猜你喜欢
  • MySQLClickHouse不同于SQL的语法介绍
    目录ClickHouse的JOIN逻辑INSERT SELECT临时表窗口函数单引号和双引号下面只展示和MySQL或HIVE区别较大的语法 例如ClickHouse建库语法和...
    99+
    2022-11-13
    MySQL ClickHouse MySQL ClickHouse语法
  • MySQL ClickHouse不同于SQL的语法介绍
    目录ClickHouse的JOIN逻辑INSERT SELECT临时表窗口函数单引号和双引号下面只展示和mysql或HIVE区别较大的语法 例如ClickHouse建库语法和MySQL几乎1卵样的不予展示 Cli...
    99+
    2024-04-02
  • SQL常用语法介绍
    这篇文章主要讲解了“SQL常用语法介绍”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SQL常用语法介绍”吧!目录系列教程一、SQL语言的简介和规范二、数据库操作创建库删除库查看数据库列表三、...
    99+
    2023-06-20
  • PHP不同控制语句的详细介绍
    本篇内容主要讲解“PHP不同控制语句的详细介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PHP不同控制语句的详细介绍”吧!PHP控制语句1、IF语句 IF语句是多数语言中的一个重要特点,它根...
    99+
    2023-06-17
  • sql语句中with as的用法介绍
    本篇内容介绍了“sql语句中with as的用法介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2024-04-02
  • SQL Server的基本功能性语法介绍
    这篇文章主要介绍“SQL Server的基本功能性语法介绍”,在日常操作中,相信很多人在SQL Server的基本功能性语法介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”...
    99+
    2024-04-02
  • MYSQL的基本SQL语句介绍
    下文主要给大家带来MYSQL的基本SQL语句介绍,希望这些内容能够带给大家实际用处,这也是我编辑MYSQL的基本SQL语句介绍这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。MYSQL介绍MySQL...
    99+
    2024-04-02
  • MySQL特有的SQL语句介绍
    本篇内容介绍了“MySQL特有的SQL语句介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!create语...
    99+
    2024-04-02
  • mybatis中sql语句CDATA标签的用法介绍
    这篇文章主要介绍“mybatis中sql语句CDATA标签的用法介绍”,在日常操作中,相信很多人在mybatis中sql语句CDATA标签的用法介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mybatis...
    99+
    2023-06-20
  • 详解介绍删除Git历史的不同方法
    Git是一个非常流行的版本控制系统,它提供了很多方便的命令和功能来管理代码的各个版本。其中一个非常有用的功能是删除历史记录的能力。Git允许你删除某个特定的commit,它还有一些高级的选项来清理历史记录并保持你的代码库干净整洁。本文将介绍...
    99+
    2023-10-22
  • 三种不同SQL Update语句的用法
    SQL Update三种用法,需要具体代码示例 SQL(Structured Query Language)是一种用于管理关系型数据库的编程语言。在SQL中,Update语句...
    99+
    2024-02-22
  • MySQL InnoDB锁介绍及不同SQL语句分别加什么样的锁的示例分析
    今天就跟大家聊聊有关MySQL InnoDB锁介绍及不同SQL语句分别加什么样的锁的示例分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。文章正文开...
    99+
    2024-04-02
  • 关于Node.js的events.EventEmitter用法介绍
    Node.js 所有的异步 I/O 操作在完成时都会发送一个事件到事件队列。 Node.js里面的许多对象都会分发事件:一个net.Server对象会在每次有新连接时分发一个事件, 一个fs.readStr...
    99+
    2022-06-04
    js Node EventEmitter
  • python3 中的几种除法介绍,小数的不同显示
    环境:python3.6.1 一、python3 中的除法 在python3中,一个算数表达式中遇到除法时,有两种不同的除法方式可以选择,分别是/ 和 // 。不同的表达式有不同的运...
    99+
    2024-04-02
  • Csh的基本语法介绍
    在*unix系统中,常用的shell有sh,bash,csh/tcsh, ksh. sh来自于systemV的Unix,是传统的Unix的shell,直到现在很多的系统管理员仍然喜欢使用sh。 bash来自...
    99+
    2022-06-04
    语法 Csh
  • Dockerfile的基本语法介绍
    这篇文章主要讲解了“Dockerfile的基本语法介绍”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Dockerfile的基本语法介绍”吧!Dockerfile的组成Dockerfile分为...
    99+
    2023-06-04
  • Win8系统添加不同时区的时钟方法介绍
    在新版本的 Windows 8系统中,你其实是可以为系统添加最多到 3 个不同时区的时钟,可以方便不少有跨国联系的朋友,下面小编说说方法。  具体的方法是,点击托盘里的时间显示,然后点击「更改日期和时间设置」...
    99+
    2023-06-06
    Win8 时区 时钟 系统 添加
  • 关于Python中的__init__()方法介绍
    本文主要介绍了Python中的__init__()方法,__init__()方法是Python学习当中重要的基础知识,需要的朋友可以参考下 __init__()方法意义重大的原因有两个。第一个原因是在对象生命周期中初始化是最重要的一步;...
    99+
    2023-09-25
    python microsoft 开发语言
  • 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
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作