您现在的位置是:首页 > 编程 > 

【技术布局】PostgreSql Select初探

2025-07-24 00:49:24
【技术布局】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可以省略,如下:

代码语言:sql复制
select name || "@qq"  email from employee;

如果别名中含有空格,直接写出来就会有歧义,所以需要用双引号将别名括起来

代码语言:sql复制
select name || "@qq"  "qq email" from employee;

#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格

本文地址:http://www.dnpztj.cn/biancheng/1184549.html

相关标签:无
上传时间: 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