数据示例如下:
T_STUDENT(学员信息表)数据示例如下:
STUDENT_ID NAME SEX(0表示男、1表示女) AGE
1 张三 0 20
2 李四 1 18
…
T_CLASS(课程信息表)数据示例如下:(假定课程表的数据不会发生变化)
CLASS_ID NAME
1 语文
2 数学
3 英语
T_SCORE(考试成绩表)数据示例如下:
SCORE_ID STUDENT_ID CLASS_ID SCORE
1 1 1 96
2 1 2 90
3 2 1 96
问题一:写出对应SQL语句,查询所有缺考的学员以及对应的缺考科目。
问题二 请采用SQL输出学员考试成绩清单(动态吧),并按照总分进行排序,如下结果:
姓名 语文 数学 英语 总分
王五 2 3 4 9
------解决方案--------------------
1, having, not exists, left join, apply
写出不同的语句,就是用了不同的思路去想。都可以。
2,行转列, 搜老贴。
------解决方案--------------------
这个是良民,请大家积极回复。
------解决方案--------------------
------解决方案--------------------
先写第一个把:
create table T_STUDENT(
STUDENT_ID int ,
NAME varchar(20),
SEX int,
AGE int)
insert into T_STUDENT
select 1 ,'张三', 0 , 20 union all
select 2 ,'李四', 1 , 18
create table T_CLASS(CLASS_ID int, NAME varchar(20))
insert into T_CLASS
select 1 ,'语文' union all
select 2 ,'数学' union all
select 3 ,'英语'
create table T_SCORE(SCORE_ID int,STUDENT_ID int, CLASS_ID int, SCORE int)
insert into T_SCORE
select 1 , 1 , 1 , 96 union all
select 2 , 1 , 2 , 90 union all
select 3 , 2 , 1 , 96
go
select *
from
(
select ts.STUDENT_ID,tc.CLASS_ID
from T_STUDENT ts
inner join T_CLASS tc
on 1=1