MySQL数据库行列转换查询,你知道吗
一. 前言
不知道小伙伴们发现没有,在面试中,数据库的查询都是必问的!更有甚者,面试官会直接让我们在答题纸上手写SQL代码。其中数据库表的行列转换查询,就是经常考察的一道题目!
二. 行转列需求展示
我们先来看看MySQL实现行转列查询的一个需求。
先给大家展示一下效果图,按行查询的结果如下图所示:

行转列后查询的结果如下图所示:

三. 代码实现

此处用到max函数,这主要是为了将无数据的字段设置为0,防止出现字段值为NULL造成出错异常。
四. 列转行需求
我们再来看看MySQL实现列转行查询的一个需求。
现创建表test2,在未转换前查询结果如下:

列转行的sql语句:
select user_name,'语文' COURSE,CN_SCORE as SCORE from test2
union select user_name,'数学' COURSE,MATH_SCORE as SCORE from test2
union select user_name,'英语' COURSE,EN_SCORE as SCORE from test2 order by user_name,COURSE;
列转行查询的结果如下图所示:

五. 小结
最后给大家总结一下,无论是行转列或者是列转行,关键就是sql子句的使用。小伙伴们可以对照代码多练习加深理解,下次再遇见类似的问题应该就不成问题啦!
相关推荐
-
「nginx」十、nginx的location配置详解2026-07-04 00:51:45 -

最清晰的mysql体系架构图 ,助你深度掌握MySQL开发管理,赢在大数据时代
最清晰的mysql体系架构图 ,助你深度掌握MySQL开发管理,赢在大数据时代2026-07-04 00:21:47 -
PHP读取Excel内的图片2026-07-03 00:07:41 -
mysql:Otter跨机房数据同步(单向)2026-07-03 00:02:48 -

在windows10系统下搭建IIS+PHP+MYSQL+phpMyAdmin服务器运行环境
在windows10系统下搭建IIS+PHP+MYSQL+phpMyAdmin服务器运行环境2026-07-02 00:15:08