SQLServer列转行操作及union all用法

1.创建测试表及数据sql如下

create table ScoresTable(

Name varchar(50),

ChineseScore int,

MathScore int

)

insert into ScoresTable values('小张',90,95)

insert into ScoresTable values('小王',98,99)

2.表中查询结果如下

3.现需列转行显示,每行显示 姓名,科目,成绩

实现sql如下:

select * from

(

select Name, Subject ='语文',Scores=ChineseScore from ScoresTable

union all

select Name, Subject ='数学',Scores=MathScore from ScoresTable

) t

order by Name ,Subject

运行结果如下,实现了列转行

相关推荐
l1t1 分钟前
DeepSeek总结的PostgreSQL 19回退会一直继续,直到士气好转
数据库·postgresql
Thneonl2 分钟前
值班第一年:最先要学的不是排障,是叫人
后端·程序员
codigger2 分钟前
Redis 正式接入 AI:当"最懂速度的数据库"开始解决"记忆问题"
redis·分布式·后端·ai·向量检索
沐言人生5 分钟前
82.4k 星!把十几万行代码变成知识图谱,新人终于不用硬啃了
前端·后端·github
Thneonl5 分钟前
让 LLM 值第一班岗:只读的活放手交,变更的活一条别给
后端·架构
ao-weilai6 分钟前
MySQL数据库:C语言连接MySQL教程
c语言·数据库·mysql
资深电气设计8 分钟前
ABB AFC/AF/AX系列接触器在数据中心液冷机组中的负载适配技术
运维·物联网·创业创新·业界资讯
盛世宏博智慧档案8 分钟前
档案库房温湿度采集数据存储方案:时序数据库选型与存储优化
数据库·时序数据库
禾小西8 分钟前
08丨Redis 哨兵集群:哨兵故障后还能完成切换吗?
数据库·redis·缓存
SatanII14 分钟前
MySQL 数据库学习总结|理论 + SQL 实训完整笔记
数据库·学习·mysql