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

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

相关推荐
无名-CODING10 小时前
Docker 部署 Redis:小白一键安装、配置与迁移教程
数据库·redis·bootstrap
CodeSheep10 小时前
JetBrains又一知名软件宣布倒下,五味杂陈
前端·后端·程序员
SimonKing10 小时前
GitHub热榜1k星影视壳(OuonnkiTV)遇上AI影视源
java·后端·程序员
Exquisite.10 小时前
k8s的Pod管理
linux·运维·服务器
IMPYLH10 小时前
Linux 的 env 命令
linux·运维·服务器·数据库
fobwebs11 小时前
如何通过phpmyadmin指令来优化数据库表,给数据库“减肥”。
数据库·wordpress·数据库优化·phpmyadmin
syinfo11 小时前
oracle使用PLSQL导出表数据
数据库·oracle
客梦11 小时前
数据库基础
数据库·笔记
老苏畅谈运维11 小时前
Oracle AI Database 26ai 安装实战
数据库·oracle·oracle 26ai
Rick199311 小时前
SQL优化
数据库·sql