clickhouse系列之二-SQL语法

本文介绍了Ch数据库支持的SQL风格和C语言风格的注释,以及关键字的大小写规则。强调了在特定上下文中,如何使用和关键字相同的名字。同时,讲解了变量的表示方式、数据输出格式如JSON,并提及了函数调用、运算符解析以及表达式别名的使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 注释

ch支持SQL风格和c语言风格的注释:
- sql 风格的注释以--开头,直到行末;
- c语言风格的注释以/*开头 ,*/ 结束;

2. 关键字

以下情况关键字是大小写不敏感的:

  • 标准SQL,例如SELECT ,select 都是允许的;
  • 在某些流行的RDBMS中被实现的关键字,例如,DateTime 和 datetime是一样的;
    以下sql可查询哪些类型关键字不区分大小写;
   SELECT * FROM system.data_type_families

在这里插入图片描述
其他的关键字是区分大小写的,比如函数名等;另外关键字不是被保留的,仅在相应的上下文才会被处理,如果要使用和关键字相同的变量名,需要用双引号或转义符引起来,例如:

select "from"  from aaa; -- 合法

3. 变量

变量名可以用反引号包括起来;例如a;

4. 输入输出数据格式

ch支持多种数据格式:例如: json(只支持输出)、csv、avro、xml(只支持输出);
例如json输出格式:

 SELECT * FROM system.data_type_families FORMAT JSON
{
	"meta":
	[
		{
			"name": "name",
			"type": "String"
		},
		{
			"name": "case_insensitive",
			"type": "UInt8"
		},
		{
			"name": "alias_to",
			"type": "String"
		}
	],

	"data":
	[
		{
			"name": "Polygon",
			"case_insensitive": 0,
			"alias_to": ""
		},
		{
			"name": "Ring",
			"case_insensitive": 0,
			"alias_to": ""
		},
		{
			"name": "MultiPolygon",
			"case_insensitive": 0,
			"alias_to": ""
		},
		{
			"name": "IPv6",
			"case_insensitive": 0,
			"alias_to": ""
		},
		{
	....
	}
	}

详细可参考:输入输出数据格式

5. 函数

函数调用时圆括号必须写,及时没有参数;例如 now();

6. 运算符

在查询解析阶段,运算符会被解析成对应的函数;例如:1+1 ;解析为 plus(1,1);

7. 表达式别名

支持表达式别名;例如 expr as alias

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值