按照人名查出学生的各科成绩以及总成绩并按总成绩排名的sql语句

/*      

        create table 学生表(

        学号 nvarchar(100) null,

        姓名 nvarchar(100) null)

        

        create table 成绩表(

         学号 nvarchar(100) null,

        科目 nvarchar(100) null,

        成绩 decimal(10,1) null

        )

        

        insert into 学生表 values('101','张三')

        insert into 学生表 values('104','李四')

        insert into 学生表 values('107','王五')

        insert into 学生表 values('111','任六')

        

        insert into 成绩表 values('101','语文',90)

        insert into 成绩表 values('101','数学',91)

        insert into 成绩表 values('101','英语',92)

        insert into 成绩表 values('101','政治',93)

        

        insert into 成绩表 values('104','语文',96)

        insert into 成绩表 values('104','数学',70)

        insert into 成绩表 values('104','英语',80)

        insert into 成绩表 values('104','政治',92)

        

        insert into 成绩表 values('107','语文',70)

        insert into 成绩表 values('107','数学',100)

        insert into 成绩表 values('107','英语',90)

        insert into 成绩表 values('107','政治',98)

        

        insert into 成绩表 values('111','语文',97)

        insert into 成绩表 values('111','数学',90)

        insert into 成绩表 values('111','英语',99)

        insert into 成绩表 values('111','政治',99)        

        */

        select A.姓名

        ,(select B.成绩 from 成绩表 B where B.科目='语文' and A.学号=B.学号) as 语文

        ,(select B.成绩 from 成绩表 B where B.科目='数学' and A.学号=B.学号) as 数学

        ,(select B.成绩 from 成绩表 B where B.科目='英语' and A.学号=B.学号) as 英语

        ,(select B.成绩 from 成绩表 B where B.科目='政治' and A.学号=B.学号) as 政治

         ,(select SUM(B.成绩) from 成绩表 B where A.学号=B.学号) as 总成绩

        from 学生表 A order by 总成绩 DESC

 

查询结果:

 

按另一个表数据修改当前表数据
update a set a.address_ID = b.addressname from a,b where a.address_ID = b.address_ID