第1节-PostgreSQL入门-从表中查询数据

摘要:在本教程中,你将学习如何使用 PostgreSQLSELECT 语句从表中检索数据。

SELECT 语句

要从表中查询数据,需使用 PostgreSQLSELECT 语句。

以下是 SELECT 语句的基本语法:

SELECT column1, column2, ...
FROM table_name;

在这种语法中:

  • 首先,在 SELECT 关键字后列出表的一个或多个列以检索数据。多个列之间用逗号分隔。
  • 其次,在 FROM 关键字中指定表名。

执行 SELECT FROM 语句时,PostgreSQL 会先计算 FROM 子句,再计算 SELECT 子句。

SELECT 子句中,你可以从一个列中检索数据:

SELECT column1
FROM table_name;

或者你可以从多个列中查询数据:

SELECT column1, column2
FROM table_name;

如果你想从一个表的所有列中查询数据,假设 table_name 有三列,你可以列出所有列:

SELECT column1, column2, column3
FROM table_name;

或者你可以使用 SELECT * 来查询表中所有列的数据:

SELECT *
FROM table_name;

(*) 或星标是所有列的快捷方式。 SELECT * 通常被读作 SELECT star

从所有表列中选择数据

以下示例使用 SELECT 语句从 inventories 表的所有列中查询数据:

SELECT * FROM inventories;

输出:

       name       |  brand  | quantity |  price
------------------+---------+----------+---------iPhone 14 Pro    | Apple   |       10 |  999.99Galaxy S23 Ultra | Samsung |       15 | 1199.99Pixel 7 Pro      | Google  |        8 |  899.99Xperia 1 IV      | Sony    |        7 | 1299.99

它在 inventories 表中返回四行数据。

从某些列中查询数据

以下示例使用 SELECT 语句从 nameprice 列中查询数据:

SELECTname,price
FROMinventories;

输出:

       name       |  price
------------------+---------iPhone 14 Pro    |  999.99Galaxy S23 Ultra | 1199.99Pixel 7 Pro      |  899.99Xperia 1 IV      | 1299.99

SELECT 语句仅返回 nameprice 列中的数据。

使用 PostgreSQLSELECT 语句转换数据

到目前为止,你已经学习了如何使用 SELECT 语句从表中提取存储的数据。SELECT 语句还可以检索并转换表中的数据。

例如,您可以使用 SELECT 语句,通过将 inventories 表中每个产品的数量乘以价格来计算库存金额:

SELECTname,quantity * price
FROMinventories;

输出:

       name       | ?column?
------------------+----------iPhone 14 Pro    |  9999.90Galaxy S23 Ultra | 17999.85Pixel 7 Pro      |  7199.92Xperia 1 IV      |  9099.93

在本语句中,我们从 inventories 表的 name 列中检索数据。此外,我们还从 quantity 列和 price 列中检索数据,并同时将它们相乘。

除了乘法运算符 (*),你还可以使用其他数学运算符,如加法 (+)、减法 (-) 和除法 (/)

如果在 SELECT 语句中对列执行计算,该列通常被称为计算列。

列别名

请注意,计算列 (quantity * price) 的输出是 ?column? 。这是 PostgreSQL 为其分配的临时列名。然而,这个名称并没有实际意义。

要为计算列 (or a regular column) 指定有意义的列名,您可以使用列别名。

列别名是您在 SELECT 语句中为列分配的临时列名。

以下是定义列别名的语法:

column_name AS column_alias

在这种语法中,你需要在列名后指定 AS 关键字和列别名。

由于 AS 关键字是可选的,您可以像这样省略它:

column_name column_alias

例如,您可以按如下方式为计算列分配列别名:

SELECTname,quantity * price AS amount
FROMinventories;

输出:

       name       |  amount
------------------+----------iPhone 14 Pro    |  9999.90Galaxy S23 Ultra | 17999.85Pixel 7 Pro      |  7199.92Xperia 1 IV      |  9099.93

输出显示, ?column? 变为 amount

或者,你也可以不使用 AS 关键字来使用列别名:

SELECTname,quantity * price amount
FROMinventories;

它返回相同的输出。

需要注意的是,你可以为任何列指定列别名,而不仅限于计算列。

例如,以下语句将列别名 product_name 分配给 name 列:

SELECTname AS product_name,quantity * price AS amount
FROMinventories;

输出:

   product_name   |  amount
------------------+----------iPhone 14 Pro    |  9999.90Galaxy S23 Ultra | 17999.85Pixel 7 Pro      |  7199.92Xperia 1 IV      |  9099.93

总结

  • 使用 PostgreSQLSELECT 语句从表的一个或多个列中查询数据。
  • 使用 SELECT * 查询表中所有列的数据。
  • PostgreSQL 先计算 FROM 子句,再计算 SELECT 子句。
  • 使用列别名在 SELECT 语句中为列分配一个临时列

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/98572.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/98572.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C++进阶】---- map和set的使用

1.序列式容器和关联式容器 前⾯我们已经接触过STL中的部分容器如:string、vector、list、deque、array、forward_list等,这些容器统称为序列式容器,因为逻辑结构为线性序列的数据结构,两个位置存储的值之间⼀般没有紧密的关联关系…

430章:Python Web爬虫入门:使用Requests和BeautifulSoup

在软件交付日益高频、用户需求快速迭代的今天,版本发布流程的规范性直接决定了团队的交付效率、产品质量和用户满意度。然而,许多团队仍面临以下痛点:发布混乱:分支管理随意,代码冲突频发;质量失控&#xf…

代码随想录第七天|● 454.四数相加II ● 383. 赎金信 ● 15. 三数之和 18.四数之和

本文所有题目链接/文章讲解/视频讲解:https://programmercarl.com/0454.%E5%9B%9B%E6%95%B0%E7%9B%B8%E5%8A%A0II.html 454.四数相加II 有四个数组,如果要遍历则时间复杂度太大 可以选择分组,a和b一组,c和d一组 这样就可以等同于…

Vue3源码reactivity响应式篇之computed计算属性

概述 vue3中,computed函数用于表示计算属性,有惰性求值、响应式追踪依赖的特点。本文将介绍computed的实现原理以及其机制细节。 源码解析 computed计算属性和computed方法、ComputedRefImpl类以及refreshComputed方法有关。 computed方法 computed暴露给…

[嵌入式embed]Keil5烧录后STM32不自动运行,复位才能运行

[嵌入式embed]Keil5烧录后STM32不自动运行,复位才能运行Keil5-验证“Reset and Run”功能是否生效参考文章Keil5-验证“Reset and Run”功能是否生效 参考文章 Keil5烧录后STM32不自动运行?必须复位才能启动的终极解决方案

阿里云Qwen3系列模型部署微调评测

与阿里云一起轻松实现数智化让算力成为公共服务:用大规模的通用计算,帮助客户做从前不能做的事情,做从前做不到的规模。让数据成为生产资料:用数据的实时在线,帮助客户以数据为中心改变生产生活方式创造新的价值。模型…

北京鲁成伟业 | 三屏加固笔记本电脑C156F3

在工业控制、应急指挥、测控及无人机作业等对设备稳定性与环境适应性要求较高的领域,一款性能均衡且坚固耐用的计算机往往能为工作效率提供有力支撑。三屏加固笔记本电脑C156F3便是针对这类需求设计的设备,凭借多方面的特性,可满足不同场景下…

七彩氛围灯芯片EH3A01RGB驱动芯片定时开关IC方案

‍在现代智能家居和个性化照明领域,EH3A01-442A-A24F小夜灯定时芯片凭借其多功能、低功耗和灵活配置的特点,成为LED氛围灯、小夜灯及便携式照明方案的理想选择。本文将深入解析该芯片的核心功能、电气特性及应用场景,帮助开发者与用户全面掌握…

Spring Boot 项目新增 Module 完整指南

1. 模块化开发的重要性 在软件开发中,随着项目规模的不断扩大,​​模块化设计​​已成为提高代码可维护性和可复用性的关键实践。通过将大型项目拆分为多个独立模块,开发团队可以​​并行开发​​不同功能组件,降低代码耦合度&…

Git cherry-pick 与分支重置技术实现代码健全性保障下的提交记录精简

代码健全性保障:上市审查中的 Git 提交记录整理方案(核心功能提交筛选流程) 一、背景与目的 我司正处于上市筹备阶段,券商需对核心系统进行 Git 代码审查,并基于提交记录生成测试报告。由于原始提交记录包含大量细节性…

前后端联调时出现的一些问题记录

服务器的ip没有设置成所有ip都能访问的,或防火墙没开跨域问题(刚开始异源,有这个问题,主要是前端做一下配置代理,后端也可以配置跨域资源共享(CORS))Configuration public class Cor…

数字图像处理-设计生成一个半球

1 实验题目设计生成一个半球(matlab)。2 程序源代码%Hemisphere clear,clc,close all %Sphere radius R1; %Set grid number n30; theta (-n:2:n)/n*pi; phi ([0,0:2:n])/n*pi/2; cosphi cos(phi); cosphi(1) 0; cosphi(end) 0; sintheta sin(thet…

mac M1上安装windows虚拟机报错

Parallels版本是18.0.02 mac:arm系统15.6.1 自动获取windows11下载,安装的时候报错,蓝屏,是因为安装的版本不对,猜测原因应该是18.0.02不支持最新版的windows11,需要更新最新版的Parallels。 解决方案&am…

基于R语言机器学习方法在生态经济学领域中的实践技术应用

近年来,人工智能领域已经取得突破性进展,对经济社会各个领域都产生了重大影响,结合了统计学、数据科学和计算机科学的机器学习是人工智能的主流方向之一,目前也在飞快的融入计量经济学研究。表面上机器学习通常使用大数据&#xf…

第01章 初识MySQL与mysql8.0的安装

初识 MySQL 文章目录初识 MySQL引言一、数据库基础1.1 什么是数据库1.2 表1.3 数据类型1.4 主键二、数据库技术构成2.1 数据库系统2.2 SQL 语言2.2.1 数据定义语言(DDL)2.2.2 数据操作语言(DML)2.2.3 数据查询语言(DQL…

【数据结构基础习题】-1- 数据结构基本操作

一、顺序表和链表习题 1. 顺序表就地逆置#include <stdio.h> // 定义顺序表结构 #define MAXSIZE 100 typedef struct {int data[MAXSIZE];int length; } SqList; // 就地逆置顺序表 void reverseList(SqList *L) {int i, temp;for (i 0; i < L->length / 2; i) {…

【Java实战㉞】从0到1:Spring Boot Web开发与接口设计实战

目录一、Spring Boot Web 基础配置1.1 Web 起步依赖&#xff08;spring-boot-starter-web 导入与核心组件&#xff09;1.2 内置服务器配置&#xff08;Tomcat 端口、线程池、连接超时设置&#xff09;1.3 静态资源访问&#xff08;静态资源存放路径、自定义资源映射&#xff09…

房屋安全鉴定机构评价

房屋安全鉴定机构评价&#xff1a;如何选择专业可靠的检测服务在建筑行业快速发展的今天&#xff0c;房屋安全鉴定已成为保障建筑安全、预防事故的重要环节。面对市场上众多的房屋安全鉴定机构&#xff0c;如何科学评价并选择一家专业可靠的服务提供方&#xff0c;是许多业主、…

【算法专题训练】19、哈希表

1、哈希表基础知识 以键值对的方式进行数据存储优点&#xff1a;哈希表数据结构在插入、删除或查找一个元素时&#xff0c;都只需要O(1)的时间 哈希表设计三要点&#xff1a; 为了快速确定一个元素在哈希表中的位置&#xff0c;可以使用一个数组&#xff0c;元素的位置为他的…

某光伏电力监控系统网络安全监测项目:智能组网技术优化方案实践

背景与挑战随着光伏电力行业的快速发展&#xff0c;光伏电站的规模和分布范围日益扩大。电力监控系统作为光伏电站的核心平台&#xff0c;其网络安全直接关系到电力生产的稳定性与可靠性。然而&#xff0c;光伏场站通常分布在偏远地区&#xff0c;网络环境复杂&#xff0c;传统…