【我和 openGauss 的故事】openGauss 易知易会的几个实用特性
【我和 openGauss 的故事】openGauss 易知易会的几个实用特性
使用 openGauss 已经有很长一段时间了,本文将介绍几个简单易用的数据库特性。
单列显示整行数据
where 比较列合并
独立写布尔列
using 关键字
domain
单列显示整行数据
首先我们准备测试数据表:
复制代码
通常我们使用如下语句进行查询
复制代码
也可以使用下面的语句进行查询,尤其是列较多时
复制代码
上面是将所有列作为行类型返回单列,可以比较简洁的返回数据。
where 比较列合并
假设我们有以下查询:
复制代码
根据名称和邮箱查询用户,有的时候 where 条件后面可能会出现 1=1
复制代码
应用层需要比较方便进行 where 条件拼接。
其实可以去掉 and,使用如下语句:
复制代码
可以查询到同样的结果
我们还可以使用 in 来满足 or 条件,例如下面的查询:
复制代码
可以将其缩短为:
复制代码
这可以使查询更短且更易于阅读。
独立写布尔列
接下来的查询,获取未删除的用户,比较常见的是这种写法:
复制代码
多数人并不知道布尔值不需要与另一个布尔值进行比较,可以这样写:
复制代码
这样阅读起来也更好,结果如下:
复制代码
using 关键字
当我们做多张表的 join 连接时,如果 join 字段的名称相同可以使用 using 关键字来简化语句
复制代码
可以改写为:
复制代码
多个字段还可以使用逗号进行分隔:
复制代码
改写为
复制代码
domain
domain 也是比较有用的一个特性,例如可以很多需要进行相同限制的列创建自定义类型:
复制代码
或者是作为别名支持兼容性数据类型:
复制代码
本文总结了几个有帮助的实用特性,大家在日常使用过程中可以进一步挖掘。
评论