【技术布局】PostgreSql Select初探
【技术布局】PostgreSql Select初探
最近计划学习rust并使用异步web框架写一个demo,在数据库的选择上我计划使用PostgreSQL,因为它能更好的适配异步开发情况,性能更高。1、基础Select语句代码语言:sql复制select [field list] from [table_name]假定我们有这样一个表格代码语言:sql复制CREATE TABLE employee
【技术布局】PostgreSql Select初探
最近计划学习rust并使用异步web框架写一个demo,在数据库的选择上我计划使用PostgreSQL,因为它能更好的适配异步开发情况,性能更高。
1、基础Select语句
代码语言:sql复制select [field list] from [table_name]
假定我们有这样一个表格
代码语言:sql复制CREATE TABLE employee(
id IT PRIMARY KEY OT ULL,
name TEXT OT ULL,
age IT OT ULL,
address CHAR(50),
salary REAL
);
使用以下SELECT语句从 employee 表中查所有雇员的名字和地址
代码语言:sql复制select name,address from employee;
或者查询所有字段
代码语言:sql复制select * from employee;
但是在实际的应用开发中,不建议使用这种方式来查询,主要从下面两个点考虑:
1、数据库性能。假设一个表中包含许多列和大量数据,带有星号 (*) 简写的SELECT语句将从表的所有列中选择数据,但是对于应用的该查询考虑,不是所有字段都是必要的。
2、应用性能。不必要的数据会增加数据库服务器和应用程序服务器之间的流量,这种情况在高并发情况下可能会导致应用性能下降。
2、带表达式的Select
postgreSQL中提供了多种表达式来适应各种需求,比如串联表达式 ||
下面这个sql就是使用串联表达式来获取 姓名和地址的拼接字符串
代码语言:sql复制select name || '_' || address from employee;
或者查询一个计算结果,下面这句SQL会在这次查询中,让所有雇员工资翻倍
代码语言:sql复制select salary * 2 from employee;
、给查询的列设置别名
有时候我们在数据库中的字段名称或者计算结果的名称不一定是应用程序想要的名称,或者无法明确表达它在这次查询中的含义,所以postgreSQL允许为SELECT语句的查询列表中的列或表达式分配临时名称,列别名只在查询执行期间临时性的存在。
比如下面这句sql就是将名称拼接一个邮箱后缀,生成邮箱地址,并将这一列设置别名为 email
代码语言:sql复制select name || "@qq" as email from employee;
当然,as
可以省略,如下:
select name || "@qq" email from employee;
如果别名中含有空格,直接写出来就会有歧义,所以需要用双引号将别名括起来
代码语言:sql复制select name || "@qq" "qq email" from employee;
#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格
上传时间: 2025-07-22 09:36:50
推荐阅读
留言与评论(共有 8 条评论) |
本站网友 臭屁屁 | 3分钟前 发表 |
应用性能 | |
本站网友 当爱靠近时 | 25分钟前 发表 |
不必要的数据会增加数据库服务器和应用程序服务器之间的流量 | |
本站网友 蔡慎坤 | 5分钟前 发表 |
所以需要用双引号将别名括起来代码语言:sql复制select name || "@qq" "qq email" from employee; | |
本站网友 去老年斑 | 2分钟前 发表 |
不必要的数据会增加数据库服务器和应用程序服务器之间的流量 | |
本站网友 前列腺图 | 16分钟前 发表 |
不建议使用这种方式来查询 | |
本站网友 魔兽大战僵尸2 | 2分钟前 发表 |
所以postgreSQL允许为SELECT语句的查询列表中的列或表达式分配临时名称 | |
本站网友 如何加快新陈代谢 | 4分钟前 发表 |
1 |