1-SQL Server-练习题
- 格式:doc
- 大小:50.50 KB
- 文档页数:4
一、单项选择题(共30题)1. 创建数据库使用()命令。
A. create databaseB. alter databaseC. drop databaseD. dbcc shinkdatabase答案:A2. DBMS对数据库恢复的重要文件是()。
A. 日志文件B. 数据文件C. 数据库文件D. 备注文件答案:A3. SQL Server 2000的主数据文件名推荐的扩展名为()。
A. .ldfB. .mdfC. .ndfD. 无扩展名答案:B4. 使用create database命令建立数据库时,给出的数据库名是()。
A. 数据库逻辑名B. 数据库物理名C. 数据文件名D. 日志文件名答案:A5. 下列说法正确的是()。
A. 不能修改已创建的数据文件属性B. 可以向数据库添加文件组C. 不能删除数据库的文件组D. 不能删除数据库中的文件答案:B6. 创建数据库时不能省略的参数是()。
A. nameB. filenameC. filegroupD. 数据库名答案:D7. 下面有关文件组的叙述不正确的为()。
A. 一个文件只能属于一个文件组B. 一个文件或文件组只能属于一个数据库C. 文件组中包括日志文件D. 主数据文件只能属于主文件组答案:C8. 如果创建的数据库文件的大小为2.5MB,则参数size的正确写法是()。
A. 2.5B. 2.5MBC. 2500KBD. 2560KB答案:D9. 按照所采用的数据模型划分,SQL Server2000应当是()。
A. 层次型数据库管理系统B. 网状型数据库管理系统C. 关系型数据库管理系统D. 混合型数据库管理系统答案:C10. SQL Server 2000使用()。
A. ANSI SQL-86B. ANSI SQL-89C. ANSI SQL-92D. T-SQL答案:D11. SQL Server系统解决死锁的方法是()。
A. 一次封锁法B. 顺序封锁法C. 预防法D. 诊断解除法答案:D12. 在SQL Server中,用来显示数据库信息的系统存储过程是()。
sql server考试题SQL Server考试题指的是针对SQL Server数据库管理系统进行考试的相关题目。
这些题目用于测试考生对SQL Server的掌握程度,包括理论知识、操作技能和问题解决能力等方面。
示例:1.单选题:在SQL Server中,用于创建表的语句是:A. CREATE INDEXB. CREATE DATABASEC. CREATE TABLED. CREATE VIEW答案:C. CREATE TABLE。
2.多选题:在SQL Server中,可以使用哪些语句进行数据查询?A. SELECTB. DELETEC. UPDATED. INSERT答案:A、B、C、D。
在SQL Server中,SELECT、DELETE、UPDATE和INSERT都是用于数据查询的语句。
3.简答题:请简述SQL Server中的事务处理的概念及其作用。
答案:事务处理是SQL Server中的一个重要概念,它是一个完整的业务逻辑单元,可以确保数据库的完整性和一致性。
事务可以确保一系列操作要么全部成功执行,要么全部不执行,从而保持数据库的一致性状态。
事务处理的作用是确保数据的完整性和避免数据损坏或不一致的情况。
4.案例分析题:给定一个数据库表结构,要求编写一个查询语句,从表中检索符合特定条件的记录,并按照一定顺序对结果进行排序。
答案:根据具体的表结构和条件要求,编写相应的SELECT语句,并使用WHERE子句来筛选符合条件的记录。
然后使用ORDER BY子句对结果进行排序。
具体的查询语句和排序方式应根据实际情况进行调整。
总结来说,SQL Server考试题指的是针对SQL Server数据库管理系统进行的考试所使用的相关题目。
这些题目用于测试考生对SQL Server的掌握程度,包括理论知识、操作技能和问题解决能力等方面。
考生需要通过学习和实践来掌握相关知识和技能,以顺利通过考试。
SQL Server复习题一、选择题1、数据库系统的主要特征是()A、数据的冗余度小B、数据的结构化C、数据独立性高D、数据可以共享2、下面不属于关系数据库管理系统的是( B )A、OracleB、IMSC、SQL ServerD、DB23、数据库(DB),数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是(A)。
A、DBS包括DB和DBMSB、DBMS包括DB和DBSC、DB包括DBS和DBMSD、DBS就是DB,也就是DBMS4、(C)是数据库系统的核心,它负责数据库的配置、存取、管理和维护等工作。
A、操作系统B、关系模型C、数据库管理系统D、数据库5、下列四项说法中不正确的是(C ) 。
A、数据库减少了数据冗余B、数据库中的数据可以共享C、数据库避免了一切数据的重复D、数据库具有较高的数据独立性6、下列特点中哪个不是数据库系统阶段的特点( B)。
A.数据共享B.数据冗余大C.完善的数据控制D.数据和程序相互独立7、数据库设计中概念模型设计阶段的主要描述工具是(C)。
A. 数据字典B. 流程图C. E-R图D.二维表格8、关系模型的基本数据结构是(B)A、树B、二维表C、图D、二叉树9、将E-R模型转换成关系模型的过程,属于数据库设计的( C)阶段。
A、需求分析B、概念设计C、逻辑设计D、物理设计10、在E-R模型中,实体间的联系用(C)表示A、矩形B、直线C、菱形D、椭圆11、为了防止多个用户对数据库的同一数据进行非法存取操作,DBMS必须提供(A).A、安全性保护B、完整性保护C、故障恢复D、并发控制12、按照数据模型分类,数据库管理系统可分为(C)。
A.关系型,概念型,网状B.模式,概念模式,外模式C.关系型,层次型,网状模型D.SQL Server,oracle,DB213、SQL Server安装程序创建4个系统数据库,下列哪个不是系统数据库(C)。
A. masterB. modelC. AdventureWorksD. msdb14、SQL server数据库文件有三类,其中主数据文件的后缀为(D)A、NDFB、LDFC、MDFD、IDF15、SQL server 数据库文件有3类,其中日志文件的后缀为(D)。
sqlserver考试试题库SQL Server考试试题库是一个专为准备SQL Server相关认证考试的考生设计的资源库。
以下是一些模拟考试题目,涵盖了SQL Server的基础知识、高级查询技术、性能优化、安全性以及数据库管理等方面。
一、选择题1. 在SQL Server中,以下哪个不是系统表?A. sys.databasesB. sys.tablesC. sys.columnsD. Customers2. 以下哪个SQL语句用于创建数据库?A. CREATE DATABASEB. CREATE TABLEC. CREATE INDEXD. CREATE PROCEDURE3. SQL Server中的事务可以保证哪些特性?A. 原子性、一致性、隔离性B. 原子性、一致性、持久性C. 原子性、隔离性、持久性D. 所有选项都是4. 以下哪个选项不是SQL Server的索引类型?A. 聚集索引B. 非聚集索引C. 唯一索引D. 复合索引5. SQL Server中,以下哪个命令用于备份数据库?A. BACKUP DATABASEB. BACKUP TABLEC. BACKUP INDEXD. BACKUP LOG二、简答题1. 解释SQL Server中的死锁是什么,并给出解决死锁的一般策略。
2. 描述SQL Server的恢复模式,并说明它们在数据库备份和恢复过程中的作用。
3. 什么是SQL Server的分区表,它有什么优势?三、操作题1. 假设你有一个名为`Sales`的数据库,里面有一个名为`Orders`的表,包含`OrderID`, `OrderDate`, `CustomerID`, `TotalAmount`等字段。
编写一个SQL查询,列出所有2019年的订单,并按`TotalAmount`降序排序。
2. 编写一个存储过程,该存储过程接受一个`CustomerID`作为参数,并返回该客户的所有订单信息。
SQLServer数据库考试试题与答案(doc8页)SQLServer数据库考试试题与答案(doc 8页)选择题:(20分)1、根据关系数据基于的数据模型——关系模型的特征判断下列正确的⼀项:(___)A、只存在⼀对多的实体关系,以图形⽅式来表⽰。
B、以⼆维表格结构来保存数据,在关系表中不允许有重复⾏存在。
C、能体现⼀对多、多对多的关系,但不能体现⼀对⼀的关系。
D、关系模型数据库是数据库发展的最初阶段。
2、在“连接”组中有两种连接认证⽅式,其中在(___)⽅式下,需要客户端应⽤程序连接时提供登录时需要的⽤户标识和密码。
A、Windows⾝份验证B、SQL Server ⾝份验证C、以超级⽤户⾝份登录时D、其他⽅式登录时3、SQL Server 2000 在安装之前,应注意的事项:(___)A、SQL Server 2000的任何版本在安装时都不⽤考虑操作系统的制约。
B、SQL Server 2000的安装对硬件的要求不作C、alter table table1 column1 primary key ;5、表在数据库中是⼀个⾮常重要的数据对象,它是⽤来(1___)各种数据内容的,数据库创建后就可以创建表了,创建表可以⽤(2___)等⽅法来创建。
⑴ A、显⽰ B、查询 C、存放 D、检索⑵ A、企业管理器 B、查询分析器C、OSQLD、企业管理器和CREATE TABLE语句6、为数据表创建索引的⽬的是(1___),可以在创建表时⽤(2___)来创建唯⼀索引,也可以⽤(2___)来创建唯⼀索引。
⑴ A、提⾼查询的检索性能 B、创建唯⼀索引C、创建主键D、归类⑵ A、设置主键约束,设置唯⼀约束B、Create table,Create indexC、设置主键约束,Create indexD、以上都可以7、在Transact-SQL语法中,⽤来插⼊数据的命令是(___),⽤于更新的命令是(___)。
A、INSERT,UPDATEB、UPDATE,INSERTC、DELETE,UPDATED、CREATE,INSERT INTO8、在Transact-SQL语法中,SELECT语句的完整语法较复杂,但⾄少包括的部分(1___),使⽤关键字(2___)可以把重复⾏屏蔽,将多个查询结果返回⼀个结果集合的运算符是(3___),如果在SELECT语句中使⽤集合函数时,⼀定在后⾯使⽤(4___)。
SQL Server 练习题一、填空题1.数据库系统的特点分别是数据的结构化、数据共享、数据独立性和可控冗余度。
2.在数据库的表中,主键是指表中的某一列或几列,它的值唯一标识一行。
3.SQL Server 2005的文件包括: 数据文件(.mdf或.ndf)和日志文件。
4.在SQL Server 2005中,要访问某个数据库,除了需要有一个登录帐号外,还必须有一个该数据库的用户帐号。
5. 数据库管理系统,简称DBMS,它是指帮助用户建立、使用和管理数据库的软件系统。
6.在T-SQL语言中,若要修改某张表的结构,应该使用的修改关键字是ALTER;若要创建一个数据库,应该使用的语句是CREA TE DA TABASE。
5.命令Truncate Table的功能是清空数据库。
6.数据完整性是指存储在数据库中的数据的一致性和准确性,,根据完整性机制所作用的数据库对象和范围不同,可以分为:实体完整性、域完整性、参照(或:引用)完整性和用户自定义完整性约束等四种,其中主键可以实现实体完整性。
7.模糊查询符号% 代表任意字符,查询条件e%im 代表意思是查询以 e 开头中间任意字符(串)且以im 结尾的字符串。
8.使用索引可以减少检索时间,根据索引的存储结构不同将其分为两类:簇集索引和非簇集索引。
9.SQL Server中的变量分为两种,全局变量和局部变量。
其中全局变量的名称以@@字符开始,由系统定义和维护;局部变量以@字符开始,由用户自己定义和赋值。
10.实现数据完整性的途径有默认值、约束、规则、存储过程、触发器等。
11.访问SQL Server数据库对象时,需要经过身份验证和权限验证两个阶段,其中身份验证分为Windows验证模式和混合验证模式。
12.SQL Server使用日志文件记载用户对数据库进行的所有操作。
13.sp_help系统存储过程的功能是显示数据对象的相关属性。
?14.SQL语言中行注释的符号为-- ;块注释的符号为/* */ 。
练习题1—数据库创建与管理1.请在空白处填写合适的内容,以完善下列语句。
(1)创建一个名为company的用户数据库。
其数据文件的初始大小为10MB,无最大限制,以10%的速度增长。
日志文件的初始大小为1MB,最大为5MB,以1MB的速度增长。
create databaseon primary(name=company_data,=‘D:\MSSQL\DATA\company.mdf',SIZE=,MAXSIZE= ,)log on(name=company_log,=‘D:\MSSQL\DATA\company.ldf',SIZE= ,MAXSIZE = ,)(2)将company数据库设置为只读状态。
EXEC SP_DBOPTION‘’,‘ ’,’true’(3)将company数据库的初始分配空间大小扩充到20MB。
ALTERDATABASEMODIFY FILE(NAME=,SIZE=)(4)将company用户数据库改名为corporation。
EXEC SP_DBOPTION ‘company ’,‘ ’,‘true’EXEC‘company’, ‘corporation’EXECSP_DBOPTION ‘corporation’, ‘singleuser’,‘’(5)将corporation数据库的空间压缩至最小容量。
(‘corporation’)(6)删除corporation数据库。
corporation2.简答题(1)SQL Server中包含了哪两种类型的数据库?(2)系统数据库有哪些?它们各自的功能是什么?(3)创建用户数据库的方法有哪些?练习题2—数据表的创建、修改一、选择题1.假如定义表时没有为一个CHAR数据类型的列指定长度,其默认长度是多少( )A. 256 B. 1000 C.64 D.12.关系数据库是若干()的集合。
A.表(关系) B. 视图 C. 列 D.行3.从下列选项中选择一个无效的数据类型( )。
SQLserver选择题(仅作参考)第一套(39道题目)一、单项选择题1.下列四项中,不属于数据库特点的是( C )。
A.数据共享B.数据完整性C.数据冗余很高D.数据独立性高2.SQL Server安装程序创建4个系统数据库,下列哪个不是(C )系统数据库。
A.masterB.modelC.pubD.msdb3.(A )是位于用户与操作系统之间的一层数据管理软件,它属于系统软件,它为用户或应用程序提供访问数据库的方法。
数据库在建立、使用和维护时由其统一管理、统一控制。
A.DBMS B.DBC.DBS D.DBA4. 在SQL中,建立表用的命令是( B )。
A.CREATE SCHEMAB.CREATE TABLEC.CREATE VIEWD.CREATE INDEX5.在MS SQL Server中,用来显示数据库信息的系统存储过程是( D )。
A. sp_dbhelpB. sp_dbC. sp_helpD. sp_helpdb6.SQL语言中,删除表中数据的命令是( A )。
A. DELETEB. DROPC. CLEARD. REMOVE7.SQL的视图是从( C )中导出的。
A. 基本表B. 视图C. 基本表或视图D. 数据库8. 下列哪个不是sql 数据库文件的后缀。
CA..mdf B..ldfC..tif D..ndf9. 数据定义语言的缩写词为( A )。
A.DDLB.DCLC.DMLD.DBL10. 在SQL语言中,建立存储过程的命令是(A)A、CREATE PROCEDUREB、CREATE RULEC、CREATE DURED、CREATE FILE11. 目前(A )数据库系统已逐渐淘汰了网状数据库和层次数据库,成为当今最为流行的商用数据库系统。
A.关系B.面向对象C.分布12. 在SQL中,建立视图用的命令是( C )。
A.CREATE SCHEMAB.CREATE TABLEC.CREATE VIEWD.CREATE INDEX13.SQL语言中,删除一个表中所有数据,但保留表结构的命令是(A )A、DELETE B、DROPC、CLEARD、REMORE14.在MS SQL Server中,关于数据库的说法正确的是(B )A、一个数据库可以不包含事务日志文件B、一个数据库可以只包含一个事务日志文件和一个数据库文件C、一个数据库可以包含多个数据库文件,但只能包含一个事务日志文件D、一个数据库可以包含多个事务日志文件,但只能包含一个数据库文件15.数据库管理系统的英文缩写是( A )。
sqlserver综合练习题SQL Server综合练习题题目1: 管理数据库在SQL Server中,管理数据库是非常重要的任务。
请根据以下场景,回答相应的问题。
场景背景:某公司使用SQL Server作为其主要数据库管理系统,负责存储和管理大量的业务数据。
作为数据库管理员,您需要对数据库进行适当的管理和维护。
问题1:如何创建一个新数据库?要创建一个新的数据库,可以使用以下SQL语句:```sqlCREATE DATABASE [数据库名称];```问题2:如何备份和恢复数据库?为了备份数据库,可以使用以下方法之一:- 使用SQL Server Management Studio (SSMS):在对象资源管理器中,右键单击相应的数据库,选择“任务” > “备份”。
- 使用Transact-SQL:使用`BACKUP DATABASE`语句执行备份。
为了恢复数据库,可以使用以下方法之一:- 使用SSMS:在对象资源管理器中,右键单击“数据库”文件夹,选择“还原数据库”。
- 使用Transact-SQL:使用`RESTORE DATABASE`语句执行恢复。
问题3:如何监视数据库的性能和活动?要监视数据库的性能和活动,可以使用以下方法之一:- 使用SSMS:连接到相应的数据库服务器,在“对象资源管理器”中选择相应的数据库,右键单击选择“报表” > “标准报表” > “活动监视器”。
- 使用Transact-SQL:可以查询系统视图(如`sys.dm_exec_query_stats`)来获取性能统计信息。
场景背景:某公司的数据库中存在有关员工和部门的表。
现在,需要针对这些表执行一些常见的查询操作。
问题4:如何创建一个包含所有员工信息的视图?要创建一个包含所有员工信息的视图,可以使用以下SQL语句:```sqlCREATE VIEW [所有员工信息] ASSELECT * FROM [员工表];```问题5:如何查询工资最高的员工?要查询工资最高的员工,可以使用以下SQL语句:```sqlSELECT * FROM [员工表] WHERE [工资] = (SELECT MAX([工资]) FROM [员工表]);```问题6:如何计算每个部门的员工人数?要计算每个部门的员工人数,可以使用以下SQL语句:```sqlSELECT [部门], COUNT(*) AS [人数] FROM [员工表] GROUP BY [部门];```题目2: 数据库设计良好的数据库设计是一个高效、稳定和可扩展的数据库系统的关键。
SQL Server选择题第一章数据库基础1.DBMS的全称是()A.数据库系统B.业务管理系统C.数据库管理系统D.数据库信息系统2.下列关于SQL Server数据库分离和附加的说法,正确的是()A.分离出来的数据库文件有mdf文件和ldf文件B.分离出来的数据库文件只有mdf文件C.分离出来的数据库文件只有ldf文件D.不能对分离出来的数据库文件进行重命名,否则附加不成功3.目前,主流的模型数据库系统是()A.关系模型数据库系统B.网状模型数据库系统C.层次模型数据库系统D.面向对象模型数据库系统4.下列关于SQL Server身份认证模式的说法,错误的是()A.S QL Server提供了Windows身份认证和SQL Server身份认证两种模式B.S QL Server身份认证模式是默认的身份认证模式C.采用SQL Server身份认证,用户名和密码均由SQL Server 创建并存储在SQL Server中D.采用Windows身份认证,用户身份由Windows进行确认,SQL Server不要求提供密码5.主数据库文件的后缀名是()A..ndfB..logC..masterD..mdf第二章创建和管理数据表1.商品表的商品名属于()数据类型A.整型B.字符类型C.日期类型D.小数类型2.下列关于主键的说法,错误的是()A.一个表只能有一个主键B.主键值不能重复C.一个表可以有多个主键D.主键约束是一种重要的实体完整性约束3.有关varchar和nvarchar的比较,下列说法正确的有()A.它们都是字符类型数据B.它们都是可变长度字符类型数据C.Varchar存储Unicode字符数据D.nvarchar存储Unicode字符数据4.关于外键约束,下列说法正确的是()A.外键约束建立在主表的字段上B.外键约束建立在从表的字段上C.外键列的值不能为空D.外键一定要与相应的主键同名5.表A中的列B是标识列,属于自动增长数据类型,标识种子是2,标识递增量为3。
SQL基础练习题
1管理工具练习
1、启动SQL服务器
2、创建用户JSERP,以SQL身份验证
3、创建数据库,库名为DBTEST,数据文件和日志文件均存放在D:\SQLData下。
分别命名为DBTEST_Data.mdf,DBTEST_log.ldf。
4、将JSERP用户赋予访问DBTEST数据库的权限,同时具有所有者权限
5、打开SQL查询分析器,以JSERP用户登录,并执行如下语句
select * from sysobjects 检查是否正常执行。
6、备份DBTEST数据库到d:\SQLData\DBTEST。
7、删除数据库DBTEST
8、还原数据文件d:\SQLData\DBTEST到DBDEMO。
9、打开事件探查器,进行相关设置,在查询分析器中执行如下语句
select * from sysobjects
到事件探查器中查看是否已捕获此语句。
10、关闭SQL服务器
2SQL语句练习
2.1数据表
*为关键字段
2.2练习题
基于以上数据表结构与数据,完成以下练习:
1、写出创建以上数据表的脚本
2、写出插入以上数据的脚本
3、查出所有男学生的身高,列出姓名与身高
4、查出86年出生的学生及秋季所修课程号及成绩
select STUDENT.*,COURSE_CNAME,STUC_GRADE
from STUDENT, STUC ,COURSE
where STUDENT_SNO=STUC_SNO and COURSE_CNO=STUC_CNO
and year(STUDENT_BDATE)=1986 and COURSE_SEMESTER='秋'
5、查出每门成绩的最高、最低、平均,如果没有成绩(null)的不统计
select STUC_CNO,max(STUC_GRADE) as MAXGRADE,min(STUC_GRADE) as MINGRADE, avg(STUC_GRADE) as AVGGRADE
from STUC
where STUC_GRADE is not null
group by STUC_CNO
6、列出83年出生的学生并且选修计算机系(CS开头)课程的学生学号和姓名
select STUDENT_SNO,STUDENT_SNAME
from STUDENT,STUC
where STUDENT_SNO=STUC_SNO and STUC_CNO like 'C%' and year(STUDENT_BDATE)=1983 7、查出秋季学期有一门以上课程获90分以上成绩的学生,列出学号、姓名
select STUDENT_SNO,STUDENT_SNAME
from STUDENT, STUC ,COURSE
where STUDENT_SNO=STUC_SNO and COURSE_CNO=STUC_CNO
and COURSE_SEMESTER='秋' and isnull(STUC_GRADE,0)>90
8、查出所有学生的总成绩排行,由高到低列出学号、姓名、总成绩
select STUDENT_SNO,STUDENT_SNAME,sum( isnull(STUC_GRADE,0)) as ALLGRADE from STUDENT
left join STUC on STUC_SNO=STUDENT_SNO
left join COURSE on COURSE_CNO=STUC_CNO
group by STUDENT_SNO,STUDENT_SNAME
order by ALLGRADE desc
9、对C003课程在原有基础上加10%,请对成绩进行处理
update STUC
set STUC_GRADE=isnull(STUC_GRADE,0)*1.1
where STUC_CNO='C003'
10、删除84年前学生的选课信息
delete from STUC
where STUC_SNO
in (select STUDENT_SNO from STUDENT where year(STUDENT_BDATE)<1984)
11、将课程C001改为秋季开课
update course
set SEMSTER=’秋’
where CNO=’C001’
12、创建一个男学生成绩V_Mgrade,并生成其数据
SNO SName CNO CNAME GRADE
if exists(select * from dbo.sysobjects where id=object_id('V_Mgrade') and sysstat&0xf=3)
drop table V_Mgrade
go
create table V_Mgrade
(
V_Mgrade_sno char(10) null,
V_Mgrade_sname char(10) null,
V_Mgrade_cno char(6) null,
V_Mgrade_cname char(40) null,
V_Mgrade_grade float null
)
insert into V_Mgrade( V_Mgrade_SNO,V_Mgrade_SName,V_Mgrade_CNO, V_Mgrade_Cname, V_Mgrade_grade)
select STUDENT_SNO as SNO,STUDENT_SNAME as SNAME,COURSE_CNO as CNO,
COURSE_CNAME as CNAME,STUC_GRADE as GRADE
from STUDENT
left join STUC on STUC_SNO=STUDENT_SNO
left join COURSE on COURSE_CNO=STUC_CNO
where STUDENT_SEX='男'
13、删除V_MGrade表中的数据
delete from V_Mgrade
where 1=1
14、删除V_MGrade数据表
drop table V_Mgrade
15、列出学生成绩表
学生C001 C003 C005 总成绩
并增加合计行,合计行数据使用平均成绩
select student.SNO,student.SNAME,
sum(case when O='C001' then isnull(STUC_GRADE,0) else 0 end) as C001, sum(case when O='C003' then isnull(STUC_GRADE,0) else 0 end) as C003, sum(case when O='C005' then isnull(STUC_GRADE,0) else 0 end) as C005, sum(isnull(STUC_GRADE,0)) as ALLGRADE
from STUDENT
left join STUC on STUC_SNO=STUDENT_SNO
group by STUDENT_SNO,STUDENT_SNAME
union all
select '','合计',
sum(case when STUC_CNO='C001' then isnull(STUC_GRADE,0) else 0 end/SL) as C001, sum(case when STUC_CNO='C003' then isnull(STUC_GRADE,0) else 0 end/SL) as C003, sum(case when STUC_CNO='C005' then isnull(STUC_GRADE,0) else 0 end/SL) as C005, 0
from STUDENT
left join STUC on STUC_SNO=STUDENT_SNO
,(select count(*) as SL from STUDENT) as stu。