投影查询
2023-02-18 15:28:57 时间
使用SELECT * FROM <表名> WHERE <条件>
可以选出表中的若干条记录。我们注意到返回的二维表结构和原表是相同的,即结果集的所有列与原表的所有列都一一对应。
如果我们只希望返回某些列的数据,而不是所有列的数据,我们可以用SELECT 列1, 列2, 列3 FROM ...
,让结果集仅包含指定列。这种操作称为投影查询。
例如,从students
表中返回id
、score
和name
这三列:
-- 使用投影查询
----
SELECT id, score, name FROM students;
这样返回的结果集就只包含了我们指定的列,并且,结果集的列的顺序和原表可以不一样。
使用SELECT 列1, 列2, 列3 FROM ...
时,还可以给每一列起个别名,这样,结果集的列名就可以与原表的列名不同。它的语法是SELECT 列1 别名1, 列2 别名2, 列3 别名3 FROM ...
。
例如,以下SELECT
语句将列名score
重命名为points
,而id
和name
列名保持不变:
-- 使用投影查询,并将列名重命名:
----
SELECT id, score points, name FROM students;
投影查询同样可以接WHERE
条件,实现复杂的查询:
-- 使用投影查询+WHERE条件:
----
SELECT id, score points, name FROM students WHERE gender = 'M';
小结
使用SELECT *
表示查询表的所有列,使用SELECT 列1, 列2, 列3
则可以仅返回指定列,这种操作称为投影。
SELECT
语句可以对结果集的列进行重命名。
相关文章
- 【架构师(第三十七篇)】 服务端开发之后端框架与数据库技术选型
- 【架构师(第三十八篇)】 服务端开发之本地安装最新版 MySQL 数据库
- 【架构师(第三十九篇)】 服务端开发之连接 MySQL 数据库
- 【架构师(第四十一篇)】 服务端开发之安装并连接 Redis数据库
- MySQL的date_format()和str_to_date()
- mysql查询语句left join和right join问题(日常工作遇到问题总结-仅供个人学习)
- Mac安装Navicat for MySQL(数据库管理工具)教程支持M2M1
- 【MySQL】深入分析 锁机制(一)行锁 加锁规则 之 等值查询
- MYSQL数据库-索引
- MYSQL数据库-复合查询
- MYSQL数据库-内外连接
- [android] 安卓消息推送的几种实现方式
- [android] 安卓进程优先级&为什么使用服务
- MySQL 日志之 binlog 格式 → 关于 MySQL 默认隔离级别的探讨
- [android] 安卓自定义样式和主题
- [javaEE] 开源数据库连接池
- [javaEE] 数据库连接池和动态代理
- [android] 安卓消息推送的几种实现方式
- [android] 安卓进程优先级&为什么使用服务
- Mysql join left查询无法命中索引一例