mysql demo_mysql 查询小demo

两张表的的结构如下,需求是写出从one表到two表和从two表到one表的查询转换。

create table student_one(

name varchar(50) default '' not null,

type varchar(10) not null default 0,

score float(5,2) not null default 0.00

)Engine=innodb;

create table student_two(

name varchar(50) default '' not null,

math float(5,2) not null default 0.00,

english float(5,2) not null default 0.00,

chinese float(5,2) not null default 0.00

)Engine=innodb;

目前表中数据如下所示

7c932235f9b89f0af5b04f4d43fd0bd7.png

82e8b3ca9af96b7c8e1dae7047979d0d.png

以表one为基准查出表two的格式的语句如下:

select a.name,a.score as 'math',b.score as 'chinese',c.score as 'english'

from student_one a join student_one b join student_one c

on a.name=b.name and a.name=c.name and b.name=c.name

where a.type='math' and b.type='chinese' and c.type='Engine';

查询结果如下图所示:

de2f71d5e987790aaf0d656973d3595f.png

以表two为基准查出表one的格式的语句如下:

select a.name,a.math as score,'math' as type from student_two a

union

select b.name,b.english as score,'english' as type from student_two b

union

select c.name,c.chinese as score,'chinese' as type from student_two c;

查询结果如下:

eff386345897e67b4dd6f6c6f4c95532.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值