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

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

相关推荐
Data-Miner几秒前
休闲食品行业数据分析平台建设方案,揭秘增长新引擎!
大数据·数据库·数据分析
invicinble2 分钟前
sql层面语法的总结(mysql层面语法,主要侧重于sql的查询相关的信息量积累)
sql·mysql·oracle
KKKlucifer2 分钟前
数据分类分级排名解析:三大核心能力决定选型方向
大数据·数据库·分类
我命由我123455 分钟前
Windows 操作系统 - Windows 查看防火墙是否开启、Windows 查看防火墙放行端口
java·运维·开发语言·windows·java-ee·操作系统·运维开发
fly spider6 分钟前
Spring 原理总览:从启动到请求执行
java·数据库·spring
天天进步20157 分钟前
Python全栈项目--基于Python的数据库管理工具
开发语言·数据库·python
snow@li16 分钟前
DevOps:深入理解 DevOps(2026版)
运维·devops
Safeploy安策数据18 分钟前
等保测评总卡壳?PCI加密卡如何破解政务云与金融合规难题
运维·网络·安全
Mr -老鬼21 分钟前
2026移动端自动化平台横向对比指南:15+主流平台深度评测,开发者选型必备
运维·自动化·easyclick·移动测试
cui_ruicheng21 分钟前
MySQL(三):库操作与表操作
数据库·mysql·oracle