当前位置: 首页 > news >正文

PostgreSQL查询一个表的数据

要从一个表中检索数据就是按要求查询表的信息,。SQL的SELECT语句可分为:

1.选择列表(选择查询返回的列)

2.表列表操作(从中查询出的数据,进一步进行加减乘除=-*/、筛选等操作)

3.可选的条件 where查询条件或者排序去重等。

上节最后清空了weather表数据,现在加上了数据:

insert into weather values (1,'北京', 1, 37, 0.55, '2025-05-12');insert into weather values (2,'上海', 10, 41, 0.65, '2025-05-12');
INSERT INTO weather (id,city, temp_low, temp_high, prcp, date) VALUES (3,'广州', 15, 33, 0.74, '2025-05-12');INSERT INTO weather (id,city, temp_low, temp_high, date) VALUES (4,'深圳', 14, 32, '2025-05-12');
insert into weather values (5,'杭州', 2, 38, 0.75, '2025-05-12');insert into weather values (6,'西安', 1, 36, 0.35, '2025-05-12');

执行后如图:

一.选择列表

查询表weather的所有行:​​​​​​​

-- *是“所有列”的缩写select * from weather;

完整的查询结果如下:

select id,city, temp_low, temp_high, date from weather;

二.表列表操作

选择列表中按需求写任意表达式,而不仅仅是所有列表。

​​​​​​​

select  city , (temp_low+temp_high)/2 as temp_avg , datefrom weather;

(temp_low+temp_high)/2 as temp_avg :将最低温度和最高温度相加除以2,得到平均温度, as 表示别名,是输出后重新给这段语句的命名,也可以不要。

三.可选的条件


查询可以使用WHERE指定需要哪些行。

正式表达是WHERE子句包含一个布尔(真值)表达式,只有布尔表达式为真的行才会被返回。

在条件设置时常用布尔操作符:和and、或or、非not 。

比如查询天气表种杭州的最高温度大于30°数据:

​​​​​​​

select * from weather  where city = '杭州'        and temp_high >30 ;

结果:

另一个返回的查询结果是经过排序的:​​​​​​​

select * from weather order by id desc;
select * from weather       order by temp_high, id desc;      
  1. order by id 是默认id按小到大的顺序。

  2. order by id desc 表示id按从大到小的顺序。

  3. order by temp_high, id 表示按照从temp_high按小到大顺序, 之后按照id按小到大顺序

  4. order by temp_high desc, id asc 表示按照从temp_high按大到小顺序, 之后id默认按小到大顺序

最后可以组合使用distinct(去重) 和 order by :

select distinct city from wheather order by city;

可以新增多条不同日期同一个城市的数据进行尝试。

完!

http://www.xdnf.cn/news/716455.html

相关文章:

  • AI预测3D新模型百十个定位预测+胆码预测+去和尾2025年5月29日第92弹
  • N2语法 逆接
  • Python应用while嵌套循环
  • 嵌入式学习笔记 - freeRTOS 阻塞延时的实现机制,同时避免在中断中扫描停留
  • 2025音频传输模块全球选购指南:高品质音频体验的品牌之选
  • 民锋视角下的资产配置策略优化与风险评估模型探索
  • 华为OD机试真题——字母组合过滤组合字符串(2025A卷:100分)Java/python/JavaScript/C/C++/GO最佳实现
  • LangChain【2】之专业术语
  • DTO、VO、DO、BO、PO 的概念与核心区别
  • Swagger 访问不到 报错:o.s.web.servlet.PageNotFound : No mapping for GET /doc.html
  • leetcode hot100刷题日记——28.环形链表2
  • 【论文精读】2024 ECCV--MGLD-VSR现实世界视频超分辨率(RealWorld VSR)
  • 第十三章:预处理
  • Dify+MCP+MySQL:智能问数本地实践
  • 品优购项目(HTML\CSS)
  • 缓存架构方案:Caffeine + Redis 双层缓存架构深度解析
  • 2025年05月29日Github流行趋势
  • 【SOLUTION】Java 生成 TOTP 验证码
  • 政策与数字双赋能驱动:ERP助力外贸企业高质量发展路径解析
  • Maven-生命周期
  • 信创采购热潮下的隐忧:单一技术路线的市场垄断之困
  • Oracle RMAN自动恢复测试脚本
  • mongodb的安装使用
  • 20250529-C#知识:分部类和分部方法
  • 小白畅通Linux之旅-----Linux日志管理
  • 【芯片设计中的交通网络革命:Crossbar与NoC架构的博弈C架构的博弈】
  • 在Linux环境里面,Python调用C#写的动态库,如何实现?
  • Java集合操作常见错误与最佳实践
  • OSCP备战-SickOs1.2靶场详细步骤
  • 第九章 MQTT报文