求助:一道练习题sql语句怎么写?
createtablestudent(namevarchar(5),coursevarchar(5),scorenumber(6,2));学生表有三个字段,插入一些学生姓...
create table student(name varchar(5),course varchar(5),score number(6,2));
学生表有三个字段,插入一些学生姓名、课程、分数数据后。
怎么写sql语句才能查询出如下图中的 姓名、语文、化学、英语 这种显示形式?
我自己的思路:
select name,score from student where course='语文' ;
select name,score from student where course='化学';
select name,score from student where course='英语';
这三条sql语句该怎么用join才能关联查询出来。 展开
学生表有三个字段,插入一些学生姓名、课程、分数数据后。
怎么写sql语句才能查询出如下图中的 姓名、语文、化学、英语 这种显示形式?
我自己的思路:
select name,score from student where course='语文' ;
select name,score from student where course='化学';
select name,score from student where course='英语';
这三条sql语句该怎么用join才能关联查询出来。 展开
2个回答
展开全部
select a.name,a.score 语文,b.score 化学,c.score 英语 from
(select name,score from student where course='语文' ) a
left join
(select name,score from student where course='化学' ) b
on a.name=b.name
left join
(select name,score from student where course='英语' ) c
on a.name = c.name
(select name,score from student where course='语文' ) a
left join
(select name,score from student where course='化学' ) b
on a.name=b.name
left join
(select name,score from student where course='英语' ) c
on a.name = c.name
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select name,case when course='语文' then score end as '语文',
case when course='化学' then score end as '化学',
case when course='英语' then score end as '英语'
from student;
这是列转行,行转列的话用UNION ALL
case when course='化学' then score end as '化学',
case when course='英语' then score end as '英语'
from student;
这是列转行,行转列的话用UNION ALL
追问
你写的这条sql语句执行提示:未找到要求的FROM关键字
追答
逗号估计是中文的,要换成英文的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询