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

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

相关推荐
LSL666_9 小时前
1 概述及简单登录(不涉及数据库)
数据库·servlet
Zhao·o11 小时前
Lambda NodeJS 运行时链路接入观测云
运维开发·aws·lambda
q***064712 小时前
MySQL的UPDATE(更新数据)详解
数据库·mysql
8***B12 小时前
MySQL性能
数据库·mysql
q***721913 小时前
oracle使用PLSQL导出表数据
数据库·oracle
数据库生产实战13 小时前
Oracle DG备库日志切换解析,Private strand flush not complete如何理解?(基础知识)
数据库·oracle
百***757413 小时前
从 SQL 语句到数据库操作
数据库·sql·oracle
i***395813 小时前
SQL 注入详解:原理、危害与防范措施
数据库·sql·oracle
uzong13 小时前
Mermaid: AI 时代画图的魔法工具
后端·架构
ζั͡山 ั͡有扶苏 ั͡✾13 小时前
EFK 日志系统搭建完整教程
运维·jenkins·kibana·es·filebeat