SQL Server 基础练习题及答案
SQL Server基础查询练习(附答案)
--创建数据库USE[master]GOCREATEDATABASE[test]ONPRIMARY(NAME=N'test',FILENAME=N'D:\SQL\DataBase\test.mdf',SIZE=3072KB,MAXSIZE=UNLIMITED,FILEGROWTH= 1024KB)LOG ON(NAME=N'test_log',FILENAME=N'D:\SQL\DataBase\test_log.ldf',SIZE= 1024KB,MAXSIZE= 2048GB,FILEGROWTH= 10%)GOALTERDATABASE[test]SETCOMPATIBILITY_LEVEL= 90GOIF (1 =FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))beginEXEC[test].[dbo].[sp_fulltext_database]@action='enable'endGOALTERDATABASE[test]SETANSI_NULL_DEFAULTOFFGOALTERDATABASE[test]SETANSI_NULLSOFFGOALTERDATABASE[test]SETANSI_PADDINGOFFGOALTERDATABASE[test]SETANSI_WARNINGSOFFGOALTERDATABASE[test]SETARITHABORTOFFGOALTERDATABASE[test]SETAUTO_CLOSEOFFGOALTERDATABASE[test]SETAUTO_CREATE_STATISTICSONGOALTERDATABASE[test]SETAUTO_SHRINKOFFGOALTERDATABASE[test]SETAUTO_UPDATE_STATISTICSONGOALTERDATABASE[test]SETCURSOR_CLOSE_ON_COMMITOFFGOALTERDATABASE[test]SETCURSOR_DEFAULTGLOBALGOALTERDATABASE[test]SETCONCAT_NULL_YIELDS_NULLOFFGOALTERDATABASE[test]SETNUMERIC_ROUNDABORTOFFGOALTERDATABASE[test]SETQUOTED_IDENTIFIEROFFGOALTERDATABASE[test]SETRECURSIVE_TRIGGERSOFFGOALTERDATABASE[test]SETDISABLE_BROKERGOALTERDATABASE[test]SETAUTO_UPDATE_STATISTICS_ASYNCOFF GOALTERDATABASE[test]SETDATE_CORRELATION_OPTIMIZATIONOFF GOALTERDATABASE[test]SETTRUSTWORTHYOFFGOALTERDATABASE[test]SETALLOW_SNAPSHOT_ISOLATIONOFFGOALTERDATABASE[test]SETPARAMETERIZATIONSIMPLEGOALTERDATABASE[test]SETREAD_COMMITTED_SNAPSHOTOFFGOALTERDATABASE[test]SETREAD_WRITEALTERDATABASE[test]SETRECOVERYSIMPLEGOALTERDATABASE[test]SETMULTI_USERGOALTERDATABASE[test]SETPAGE_VERIFY CHECKSUMGOALTERDATABASE[test]SETDB_CHAININGOFFGO--创建表USE testCREATETABLE emp(EMPNO NUMERIC(5, 0)NOTNULL,ENAME NVARCHAR(10),JOB NVARCHAR(9),MGR NUMERIC(5, 0),HIREDATE DATETIME,SAL NUMERIC(7, 2),COMM NUMERIC(7, 2),DEPTNO NUMERIC(2, 0),)CREATETABLE dept(DEPTNO NUMERIC(2),DNAME NVARCHAR(14),LOC NVARCHAR(13),)--插入数据INSERTINTO EMP VALUES(7369,'SMITH','CLERK', 7902,'2000-12-17', 800,NULL, 20)。
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复习题汇总带答案
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)。
SQL Server 2000试卷基础知识(含答案)
SQL Server 2000一、单选题1、DELETE语句来删除表中的数据,一次可以删除( D ).A .一行 B.多行 C.一行和多行 D .多个2、不是SQL Server中所包含的约束种类的是( A ).A. 关键字约束B.外关键字约束C.唯一性约束D.默认约束3、数据库文件中主数据文件扩展名为( C ),次数据库文件扩展名为( ).A .mdf , .ldfB .ldf , .mdfC .mdf , .ndfD .ndf , .mdf4、每个触发器有两个特殊的( C )和( ).A.逻辑表、查询表B.设计表、逻辑表C.插入表、删除表D.删除表、查询表5、视图是从一个或多个表或试图中导出的( C ).A.报表B.查询C.表D.数据6、下列运算符中表示0或多个任意字符的是( B ).A. *B. %C. LIKED._7、( D )不是用来查询、添加、修改和删除数据库中数据的语句。
A、SELECTB、INSERTC、UPDATED、DROP8、( A )是SQL Server中最重要的管理工具A.企业管理器 B.查询分析器 C.服务管理器 D.事件探察器9、以下属于聚合函数的是( A )A SUM;B DATEUP;C RAND;D DROP10、角色分为服务起角色和数据库角色,一个用于为整个服务器设置权限另一个用于为单个( D )设置权限.A.服务器B.对象C.服务器组D.数据库1、以下属于聚合函数的是( A )A SUM;B DATEUP;C RAND;D DROP2、不是SQL Server中所包含的约束种类的是( A ).A. 关键字约束B.外关键字约束C.唯一性约束D.默认约束3、DELETE语句来删除表中的数据,一次可以删除( D ).A .一行 B.多行 C.一行和多行 D .多个4、视图是从一个或多个表中或视图中导出的( A )A 表;B 查询;C 报表;D 数据5、默认值的输入顺序( C )A.先输记录后确定默认.B.先输命令,后输记录C.先确定默认后输入记录.D.先输入命令后输记录.6、下列运算符中表示任意字符的是( B ).A. *B. %C. LIKED._7、索引分为( A )索引、主见索引、聚集索引.A.外键B.具体C.非具体D.唯一8、( A )是SQL Server中最重要的管理工具A.企业管理器 B.查询分析器 C.服务管理器 D.事件探察器9、角色分为服务起角色和数据库角色,一个用于为整个服务器设置权限另一个用于为单个( D )设置权限.A.服务器B.对象C.服务器组D.数据库10、SQL Server2000中支持的触发器是( C )A.CREATEB.ASC.AFTERD.SELECT1.()包含用于恢复数据库的日志信息。
SQLServer数据库考试试题与答案(doc8页)
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. 有个用户的计算机不能连接到中心机房的SQL Server 2000上。
你在调试过程中发现这个用户的计算机的网络功能是正常的,而且其他用户都能正常地连接到SQL Server 2000。
下面的哪些工具有助于你诊断和解决该问题?(多选)A.Enterprise ManagerB.Server Network UtilityC.ProfilerD.Query AnalyzerE.Client Network Utility答:B和E2. 你在SQL Server 2000创建了酒店管理系统的数据库HotelDB,并创建了表CustInfo。
当下面的哪些数据库被删除的情况下,仍能正确地执行“SELECT * FROM CustInfo?A.ModelB.TempdbC.MsdbD.MasterE.Pubs答:A、C、E3. 你正在使用SQL Server 2000开发银行交易系统,为了保证商业数据在网络传输(用TCP/IP协议)时不会被窃取,你在SQL Server 2000中启用了网络加密功能。
请问该功能在哪一层被实现?A.TCP/IP协议软件B.超级套接字层C.开放式数据服务D.关系引擎E.存储引擎答:B4. 你正在使用SQL Server 2000开发超市收银系统。
在客户端编写软件时使用SQL语句“SELECT * FROM Products”来查询商品的信息,但是不小心把Products输入成Product。
请问该错误在哪一层被发现?A.客户端的数据库APIB.客户端的NET-LIBRARYC.服务器端的开放式数据服务D.服务器端的关系引擎E.服务器端的存储引擎答:D5. 数据库操作时服务器突然掉电,当重新启动后,您如何恢复已经完成但还没把数据写入硬盘的事务,以及正在进行一半的事务?A、运行ROLL FORWARD ALL TRANSACTIONB、不用。
SQL Server 2000自动恢复,即通过日志恢复所有已经完成但还没把数据写入硬盘的事务到硬盘,并撤消正在进行一半的事务。
SQLserver复习题库及答案
SQLserver复习题库及答案SQLserver 复习题库及答案1. ()可以同一个表的不同字段进行联接。
( 选一项 )A 、内联接B 、自联接 ( 正确答案 )C 、外联接D 、左联接2. 在 SQL Server 数据库中 ,UNIQUE 约束与 PRIMARY KEY 约束之间最主要的区别是()( 选一项 )A 、 UNIQUE 约束要求数据库中至少存在一行数据 , 因此必须在创建数据库表之后才能创建 , 而 PRIMARY KEY 约束无此限制B 、 UNIQUE 约束允许有空值 , 而 PRIMARY KEY 约束不允许有空值C 、创建 UNIQUE 约束后 , 该数据行允许被更改 , 而PRIMARY KEY 约束的数据行不允许更改D 、 UNIQUE 约束列不能创建外键 , 而 PRIMARY KEY 约束可以创建外键引用 ( 正确答案 )3. 查询 student 表中的所有非空 email 信息 , 以下语句正确的是()( 选一项 )A 、 Select email from student where email !=nullB 、 Select email from student where email not is nullC 、 Select email from student where email <> nullD 、 Select email from student where email is not null ( 正确答案 )4. SQL 语句 :select from students where SNO like'010[^0]%[A,B,C]%', 可能会查询出的 SNO 是 ( )( 选两项 )A 、 01053090A ( 正确答案 )B 、 01003090A01C 、 01053090D 、 0101A01 ( 正确答案 )5. 查找 student 表中所有电话号码 ( 列名 :telephone) 的第一位为8 或6, 第三位为0 的电话号码()(‘[86]_0%’等同于'[8,6]_0%')( 选一项 )A 、 SELECT telephone FROM student WHERE telephone LIKE '[86]%0'B 、 SELECT telephone FROM student WHERE telephone LIKE '(8,6)0%'C 、 SELECT telephone FROM student WHERE telephone LIKE '[8,6]_0'D 、 SELECT telephone FROM student WHERE telephone LIKE '[86]_0%' ( 正确答案 )6. 查找 authors 表中的所有电话号码的首位为 4, 第二位为0 或 1 的电话号码()( 选一项 )A 、SELECT phone FROM authors WHERE phone LIKE '4[1,0]%' ( 正确答案 )B 、SELECT phone FROM authors WHERE phone in '4[^10]%'C 、SELECT phone FROM authors WHERE phone LIKE '4_[1,0]%'D 、 SELECT phone FROM authors WHERE phone between '41%' and '40%'7. 查找 student 表中所有电话号码 ( 列名 :telephone)的第一位为 8 或 6, 第三位为 0 的电话号码()( 选一项 )A 、 SELECT telephone FROM student WHERE telephone LIKE '[86]%0'B 、 SELECT telephone FROM student WHERE telephone LIKE '(8,6)0%'C 、 SELECT telephone FROM student WHERE telephone LIKE'[8,6]_0'D 、 SELECT telephone FROM student WHERE telephone LIKE '[86]_0%' ( 正确答案 )8. 成绩表 grade 中字段 score 代表分数 , 以下 ( ) 语句返回成绩表中的最低分。
SQLServer基础练习题及
SQL Server基础练习题及答案【幻天火焰】目录一、单表盘问练习 (1)二、聚合函数练习 (3)三、分组盘问练习 (3)四、嵌套盘问练习 (4)五、联接盘问练习 (6)六、外联接盘问 (7)七、补充提高 (7)一、单表盘问练习1、盘问 <学生信息表 >,盘问学生 "张三 "的全部根本信息Select *from A_studentinfowhere sname=' 张三 '2、盘问 <学生信息表 >,盘问学生 "张三 "和〞李四〞的根本信息Select *from A_studentinfowhere sname=' 张三 'or sname=' 李四 '3、盘问 <学生信息表 >,盘问姓 " 张 "学生的根本信息Select *from A_studentinfowhere sname like ' 张%'4、盘问 <学生信息表 >,盘问姓名中含有 "四 " 字的学生的根本信息Select *from A_studentinfowhere sname like '% 四 %'5、盘问 <学生信息表 >,盘问姓名长度为三个字,姓“李〞,且最后一个字是“强〞的全部学生信息。
select *from A_studentinfowhere sname like ' 李_强 '6、盘问 <学生信息表 >,盘问姓 " 张 "也许姓〞李〞的学生的根本信息。
Select *from A_studentinfowhere sname like ' 张%'or sname like ' 李 %'7、盘问 <学生信息表 >,盘问姓 " 张 "并且 " 所属省份 " 是 "北京 "的学生信息Select *from A_studentinfowhere sname like ' 张%'and province=' 北京 '8、盘问 <学生信息表 >,盘问 "所属省份 "是 " 北京 " 、〞新疆〞、〞山东〞也许 "上海 " 的学生的信息 Select *from A_studentinfowhere province in (' 北京 ',' 上海 ',' 新疆 ','山东 ')9、盘问 <学生信息表 >,盘问姓 " 张 ",但是 " 所属省份 " 不是 " 北京 "的学生信息Select *from A_studentinfowhere sname like ' 张%'and province !=' 北京 '10、盘问 <学生信息表 >,盘问全部学生信息,并依照“性别〞排序,性别相同的情况下依照“所属省份〞排序,所属省份相同的情况下再依照“班级〞排序select *from A_studentinfoorder by sex,province,class11、盘问 <学生信息表 >,盘问现有学生都来自于哪些不相同的省份select distinct province as省份from A_studentinfo12、盘问 <学生选修信息表 >,盘问没有填写成绩的学生的学号、课程号和成绩Select *from A_studentcoursewhere score is null13、盘问 <学生选修信息表 >,盘问全部填写了成绩的学生的选修信息,并依照“成绩〞从高到低进行排序Select *from A_studentcoursewhere score is not nullorder by score desc二、聚合函数练习1、统计 <学生信息表 >,统计共有多少个学生Select count (*) as 学生数量from A_studentinfo2、统计 <学生信息表 >,统计年龄大于20 岁的学生有多少个Select count(*) as 学生数量from A_studentinfowhere (2021-yearofbirth)>203、统计 <学生信息表 >,统计入学时间在1980 年至 1982 年的学生人数select count(*) as学生数量from A_studentinfowhere enrollment between '1998-01-01' and '2003-12-30'对照以下盘问方式,看看有何不相同,为什么?select count(*) as学生数量from A_studentinfowhere enrollment between '1998' and '2003'4、统计 <学生选修信息表>,统计学号为"S001"的学生的平均成绩Select avg(score) as 平均成绩from A_studentcoursewhere sno='S001'5、统计 <学生选修信息表>,统计学号为"S001"的学生的总成绩select sum(score) as 总成绩from A_studentcoursewhere sno ='S001'6、统计 <学生选修信息表>,盘问课程号为〞C001〞的课程的最高成绩select max(score) as 最高成绩from A_studentcoursewhere cno='C001'7、统计 <学生信息表 >,盘问全部学生中的最大年龄是多少select 2021-min(yearofbirth) as最大年龄from A_studentinfo三、分组盘问练习1、统计 <学生选修信息表>,统计每个课程的选修人数select cno,count(*)as 学生数量from A_studentcoursegroup by cno2、统计 <学生选修信息表>,统计每个同学的总成绩select sno,sum(score) as 总成绩from A_studentcoursegroup by sno3、统计 <学生信息表 >,统计每个班级中每种性其余学生人数,并依照班级排序select class as 班级 ,sex as 性别 , count(*) as 人数 from A_studentinfogroup by class,sexorder by class4、统计 <学生选修信息表>,统计每门课程的平均成绩,并依照成绩降序排序Select cno,avg(score) as 平均成绩from A_studentcoursegroup by cnoorder by avg(score) desc5、统计 <学生选修信息表>,显示有两门以上课程不及格的学生的学号Select sno as 不及格学生学号from A_studentcoursewhere score<60group by snohaving count(*)>16、统计 <学生信息表 >,统计每个班级中的最大年龄是多少select class as班级, 2021-min(yearofbirth) as最大年龄from A_studentinfogroup by class四、嵌套盘问练习1、用子盘问实现,盘问选修“高等数学〞课的全部学生的总成绩select sum(score) as 高等数学总成绩from A_studentcoursewhere cno =(select cnofrom A_courseinfowhere subject=' 高等数学 ')2、用子盘问实现,统计 <学生选修信息表 >,显示学号为 "S001"的学生在其各科成绩中,最高分成绩所对应的课程号和成绩select score,cnofrom A_studentcoursewhere sno='S001'and score =(select max(score)from A_studentcoursewhere sno ='S001')思虑:若是该学号学生有两个课程分数都为最高的100 分,盘问会有什么结果3、用子盘问实现,盘问 2 班选修 " 数据库技术 " 课的全部学生的成绩之和select sum(score) as 数据库技术总成绩 from A_studentcoursewhere cno =(select cnofrom A_courseinfowhere subject=' 数据库技术 ')and sno in(select snofrom A_studentinfowhere class='2')4、用子盘问实现,盘问 3 班 "张三 "同学的 " 测试管理 " 成绩select scorefrom A_studentcoursewhere cno=(select cnofrom A_courseinfowhere subject=' 测试管理 ')and sno in(select snofrom A_studentinfowhere class='3'and sname=' 张三 ')五、联接盘问练习1、盘问 " 张三 " 的各科考试成绩,要求显示姓名、课程号和成绩 select sname as 姓名 ,cno as 课程号 ,score as 成绩 fromA_studentinfo,A_studentcourseand sname='张三 '2、盘问 " 张三 " 的各科考试成绩中,哪科没有记录考试成绩,要求显示姓名、课程号和成绩 select sname as 姓名 ,cno as 课程号 ,score as 成绩 fromA_studentinfo,A_studentcourseand sname='张三 'and score is null3、盘问 " 张三 " 的各门课程成绩,要求显示姓名、课程名称和成绩 select sname as 姓名 ,subject as 课程名称 ,score as 成绩 fromA_studentinfo,A_courseinfo,A_studentcourseandand A_studentinfo.sname=' 张三 '4、盘问 3 班" 张三 " 的" 测试管理 " 成绩,要求显示姓名、成绩select sname as 姓名 ,score as 成绩from A_studentcourse,A_courseinfo,A_studentinfoandand subject=' 测试管理 'and class='3'and sname='张三 '5、盘问全部 2000 年以前入学的,各班男生的各科考试平均成绩select class as 班级 ,avg(score) as 男生平均成绩 fromA_studentcourse,A_courseinfo,A_studentinfoandand sex='男 'and enrollment<'2000-01-01'group by class六、外联接盘问盘问李刚毅全部课程的成绩,并显示学号、姓名、课程号和成绩,没有成绩记录的学号包括:('S009','S010','S011') 1、使用左联接select A_studentinfo.sno as 学生表学号 ,sname as 姓名 ,A_studentcourse.sno as 成绩表学号 , cno as 课程号 ,score as成绩from A_studentinfoleft join A_studentcoursewhere sname='李刚毅 '2、使用右联接select A_studentinfo.sno as 学生表学号 ,sname as 姓名 ,A_studentcourse.sno as 成绩表学号 , cno as 课程号 ,score as 成绩from A_studentcourseright join A_studentinfowhere sname='李刚毅 '3、对照等值连接select sname,scorefrom A_studentinfo,A_studentcourseand sname='李刚毅 '七、补充提高1、盘问“张三〞比“王三〞入学早几年select A.sname as 姓名 ,year(A.enrollment) asB.sname as 姓名 ,year(B.enrollment) as 入学时间入学时间,,datediff(year,A.enrollment,B.enrollment) as年差from A_studentinfo A,A_studentinfo Bwhere A.sname=' 张三 'and B.sname='王三 '2、盘问所在班级和该班内学生的年龄之和,其中每个人的年龄都大于20 岁,每个班的年龄之和大于60 岁select class as 班级 ,sum(2021-yearofbirth) as 年龄和from A_studentinfowhere (2021-yearofbirth) >20group by classhaving sum(2021-yearofbirth)>60order by class3、从学生表中盘问第 2 到 5 条数据〔以学号排序〕select top 4 *from a_studentinfowhere sno not in(select top 1 snofrom a_studentinfoorder by sno)order by sno4、计算每种产品的节余库存量表 1,为产品进货表,产品名称 name[char(10)] ,产品数量 amount[int] 表 2,为产品出货表,产品名称 name[char(10)] ,产品数量 amount[int]业务逻辑:表 1 储藏产品的总进货量,表 2储藏每种产品每次的出货量,如产品 A 进货为 100,出货了 3 次,每次分别为 10、 20、 30,那么 A 产品的库存就为40表 A1|表 A2---------------------------------|---------------------------name amount|name amountA100|A10B100|A20|A30|B10|B40--方法 1--建立视图create view A2Sumasselect name,sum(amount) as thesumfrom A2group by name--关系盘问from A1,A2Sum--方法 2select ,A1.amount-A2Table.A2amount as stocks--方法 3--定义单个产品变量declare @aa int(select sum(amount)from A2where name='A'group by name)--计算单个产品节余select name,amount-@aa as leavefrom A1where name='A'5、盘问学生表,在结果中将性别为“男〞的显示为“先生〞,将性别为“女〞的显示为“女士〞,否那么显示为空。
(有答案)SQLServer复习题.doc
SQL Server复习题一、填空题1.在SQL Server2000的____ 查询编辑器窗U _______ 中,既可以输入、执行Transact-SQL命令语句,也可以创逮查询命令文件,查询命令文件的扩展名为_.sql_。
2.默认约束指定在插入操作中如果没有提供输入值时,则系统自动指定值。
默认约束可以包括_常:W: 、函数、不带变量的內建函数或者空值。
3.SQL Server2000的“身份脸证模式”分为两种,分别是“ Windows身份验证_______ ”和“ Windows和SQL Server混合身份验证_____ ”。
Z1.在Transact-SQL语言中变量分为_局部变S _________ 和全局变量。
5.在SQL Server中,用来显示数掘库信息的系统存储过程是_sp_helpdp ________ 。
6.DROP TABLE语句可以删除一个表和表中的 _数据 _______ 及其与表有关的所有_索引_、触发器、约朿、许可对象。
7.视图可以看成是从一个或几个_____ 基本表 ____ 导出的虚表或存储在数据库中的查询。
8.可以使用______ CREATE INDEX语句__________ 创建独立于约束的索引。
9. _______ 以_______ @@ 符号开头的变S:为全局变:S:。
10.定义局部变量需要使用命令_________ @ ____________ 。
11.在CREATE PROCEDURE语句屮可以声明一个或多个参数,用户必须在执行(调川)过程时提供每个所声明参数的_值_。
12.数据库中只存放视图的_____ 定义______ ,而不存放视图对应的数据,数据存放在原来的基本表中,当基本表屮数据发生变化时,从视图屮查询出的数据是_随之变化_的。
13.在数据表中创建主键约束时,会自动产生____ 唯一性的聚集______ 索引。
14.存储过程有多种调用方式,其屮比较常用的是使用EXECUTE 语句。
SQLSERVER试题库(答案已完成)
SQL Server2000数据库试题库一、单选题1.关系数据库中,主键是(__)A、为标识表中唯一的实体B、创建唯一的索引,允许空值C、只允许以表中第一字段建立D、允许有多个主键的2.表在数据库中是一个非常重要的数据对象,它是用来(___)各种数据内容的A、显示B、查询C、存放D、检索3.在“连接”组中有两种连接认证方式,其中在(___)方式下,需要客户端应用程序连接时提供登录时需要的用户标识和密码。
A、Windows身份验证B、SQL Server 身份验证C、以超级用户身份登录时D、其他方式登录时4.在Transact-SQL语法中,用来插入数据的命令是(___),用于更新的命令是(___)。
A、INSERT,UPDA TEB、UPDA TE,INSERTC、DELETE,UPDA TED、CREA TE,INSERT INTO5.已知成绩关系如图所示:执行SQL语句:SELECT COUNT(DISTINCT学号)FROM成绩WHERE分数>60查询结果中包含的元组数目是()A、1B、2C、3D、46. 下列哪一种备份方式只备份了自上次完全数据库备份操作发生后重新发生改变的数据?()A. 全数据库备份B. 差异备份C. 日志备份D. 文件和文件组备份7.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。
在这几个阶段中,数据独立性最高的是()阶段。
A.数据库系统B.文件系统 C .人工管理 D .数据项管理8.定义外键实现的是哪一(些)类完整性?()A.实体完整性 B.参照完整性 C.用户定义的完整D.实体完整性、参照完整性和用户定义的完整性9.下列四项中说法不正确的是( )A.数据库减少了数据冗余B.数据库中的数据可以共享C.数据库避免了一切数据的重复D.数据库具有较高的数据独立性10.下面有关主键的叙述正确的是()A.不同的记录可以具有重复的主键值或空值B.一个表中的主键可以是一个或多个字段C.在一个表中主键只可以是一个字段D.表中的主键的数据类型必须定义为自动编号或文本11.在SQL语言中,条件“B ETWEEN 20 AND 30”表示年龄在20到30之间,且()A.包括20岁和30岁B.不包括20岁和30岁C.包括20岁不包括30岁D.不包括20岁包括30岁12.有一个关系:学生(学号,姓名,系别),规定学号的值域是8个数字组成的字符串,这一规则属于().A.实体完整性约束B.参照完整性约束C.用户自定义完整性约束D.关键字完整性约束13.SQL语言中,删除一个表的命令是()A.DELETE B.DROP C.CLEAR D.REMOVE14.基于"学生-选课-课程"数据库中的三个关系:S(S#,SNAME,SEX,AGE),SC(S#,C#,GRADE),C(C#,CNAME,TEACHER)若要求查找选修”数据库技术”这门课程的学生姓名和成绩,将使用关系A.S和SC B.SC和C C.S和C D.S、SC和C15.在通常情况下,下列哪个角色的用户不能够创建表?()A.db_owner (拥有者)B.sysadmin超户(sa)C.db_creator创造者D.guest(来宾)16.下列哪个角色或者用户拥有SQL Server 服务器范围内的最高权限?()A.dbo B.sysadmin C.public D.guestDbo只对他管辖范围内的数据库管理,不能管理别的。
SQLServer数据库试题十及答案
SQLServer数据库试题十及答案SQL Server数据库试题及答案一、单项选择题(每题2分,共15题)1. SQL Server 2005是一个(C)的数据库系统。
(A)网状型(B)层次型(C)关系型(D)以上都不是2. DTS 是一个简称,它的全称是(B)。
A. 数据运输系统B. 数据传输服务C. 数据库传输系统D. 数据库运输服务3. SQL Server 2005 采用的身份验证模式有(D)。
(A)仅Windows身份验证模式(B)仅SQL Server身份验证模式(C)仅混合模式(D)Windows身份验证模式和混合模式4. SQL 语言按照用途可以分为三类,下面选项中哪一种不是的:(C)(A)DML (B)DCL (C)DQL (D)DDL5. 在SELECT语句的WHERE子句的条件表达式中,可以匹配0个到多个字符的通配符是(B)(A) * (B)% (C)- (D)?6. SQL Server提供的单行注释语句是使用(B)开始的一行内容。
(A)“/*” (B)“--” (C)“{” (D)“/”7. 以下那种类型能作为变量的数据类型(C)。
(A)text (B)ntext (C)table (D)image8. 下面不属于数据定义功能的SQL语句是:(C)A.CREATE TABLEB.CREATE CURSORC.UPDATED.ALTER TABLE9. 如果希望完全安装SQL Server,则应选择(A)。
A. 典型安装B. 最小安装C. 自定义安装D. 仅连接10. 在SQL SERVER中局部变量前面的字符为:(D )(A)* (B)# (C)@@ (D) @11. 假如有两个表的连接是这样的:table_1 INNER JOIN table_2 其中table_1和table_2是两个具有公共属性的表,这种连接会生成哪种结果集?(D)(A)包括table_1中的所有行,不包括table_2的不匹配行(B)包括table_2中的所有行,不包括table_1的不匹配行(C)包括和两个表的所有行(D)只包括table_1和table_2满足条件的行12. 对视图的描述错误的是:(C)(A)是一张虚拟的表(B)在存储视图时存储的是视图的定义(C)在存储视图时存储的是视图中的数据(D)可以像查询表一样来查询视图13. 在T-SQL语言中,若要修改某张表的结构,应该使用的修改关键字是(A )。
sqlserver练习题参考答案
1第1章 数据库基础数据库基础练习题一一、 单项选择题1.C 2.A 3.C 4.D 5.D6.B 7.A 8.B 9.B 10.D 1111..C 12.A 13.C 14.B 15.A 1616..B 17.A 18.D 19.B 20.B 2121..A; D 22.A 23.C 24.D 25.B 2626..B 27.B 28.D 29.B 30.B 二、 填空题1.概念.概念 ; 数据数据 2.属性.属性 3.码.码4.一对一联系;一对多(或多对一)联系;多对多联系.一对一联系;一对多(或多对一)联系;多对多联系 5.候选码.候选码 6.候选码.候选码7.关系名(属性1,属性2,…,属性n )8.关系数据结构;关系操作集合;关系完整性约束.关系数据结构;关系操作集合;关系完整性约束9.实体;参照;用户定义的;实体;参照.实体;参照;用户定义的;实体;参照 10.空值.空值11.需求分析阶段;.需求分析阶段;概念结构设计阶段;逻辑结构设计阶段;物理结构设计阶段;数据库实施阶段;数据库运行和维护阶段数据库实施阶段;数据库运行和维护阶段1212.准确了解并分析用户对系统的要求,尤其是用户的信息要求、处理要求、安全性.准确了解并分析用户对系统的要求,尤其是用户的信息要求、处理要求、安全性与完整性要求,确定所要开发的应用系统的目标,产生用户和设计者都能接受的需求说明书,做为下一步数据库概念结构设计的依据。
书,做为下一步数据库概念结构设计的依据。
13.将需求分析得到的用户需求抽象为信息结构即概念模型。
.将需求分析得到的用户需求抽象为信息结构即概念模型。
1414.将概念结构进一步转化为某一.将概念结构进一步转化为某一DBMS 支持的数据模型,并对其进行优化。
支持的数据模型,并对其进行优化。
1515.为逻辑数据模型选取一个最适合应用环境的物理结构,包括数据库在物理设备上.为逻辑数据模型选取一个最适合应用环境的物理结构,包括数据库在物理设备上的存储结构和存取方法。
SQL_Server测试题及答案(10套)
绿色刚开始选对的,红色没有选对的,黄色一直没有写……SQL Server试题1班级: _______ 姓名: _______ 学号: _______ 成绩: _______一、填空题( 30*1 分)1.SQL server 2005 从设计结构来看,是按 _________ 进行设计的。
2.根据模型应用目的的不同,数据模型可以分为两类:一类是 _________ ,是按用户的观点来对数据和信息进行抽象;另一类是 _________ ,是按计算机的观点建模。
3.结构数据模型直接描述数据库中数据的逻辑结构,常用的结构数据模型有 _________ ,_________ , _________ , _________ 。
4.在给数据库改名之前,必须设置数据库处于 ____________ 状态。
命令 truncate table 的功能是 _______________ 。
5.数据完整性实质,存储在数据库中的数据正确无误并且相关数据具有一致性,根据完整性机制所作用的数据库对象和范围不同,可以分为: _________ , _________ , _________ , _________ 四种,其中标志列可以实现 _________ 数据完整性。
6.SQL 语言中行注释的符号为 _________ ;块注释的符号为 _________ 。
使用索引可以减少检索时间,根据索引的存储结构不同将其分为两类: _________ 和 _________ 。
____________ 是将用户组成一个集体授权的单一单元。
7.为了实现安全性,每个网络用户在访问 SQL server 数据库之前,都必须经过两个阶段的检验:_________ 和 _________ 。
事务有两种类型 _________ 和 _________ 。
8.SQL server 中的变量分为两种,全局变量和局部变量。
其中全局变量的名称以 _________ 字符开始,有系统定义和维护。
数据库技术(SQLServer)习题与参考答案
数据库技术(SQLServer)习题与参考答案第一章:1、SQL Server 2005有哪些新增特性?答:SQL Server 2005的新特性主要体现在企业数据管理、开发人员生产力、商务智能三个方面。
企业数据管理体现在高可用性、管理工具、安全性和可伸缩性;开发人员生产力体现在Common Language Runtime集成、集成XML、Transact-SQL增强和SQL服务代理;商务智能体现在分析服务、数据转换服务、报表服务和数据挖掘。
2、SQL Server 2005安装的软件和硬件环境是什么?答:SQL Server 2005安装的软件和硬件环境参见教材6。
3、SQL Server 2005有哪些版本?有哪些服务组件?答:SQL Server 2005包括企业版、标准版、工作组版、开发版和简易版五个版本,服务组件主要有SQL Server 数据库引擎、Analysis Services、Reporting Services、Notification Services、Integration Services等。
4、什么是实例?经常提到的SQL Server 2005服务器和服务器实例是否具有相同的含义?答:实例就是SQL服务器引擎,每个SQL Server数据库引擎实例各有一套不为其他实例共享的系统及用户数据库。
一个SQL Server服务器就是一个实例,一台计算机上,可以安装多个SQL SERVER,每个SQL SERVER就可以理解为是一个实例。
5、默认实例和命名实例有何差别?在安装和使用上有何不同?答:实例又分为“默认实例”和“命名实例”,如果在一台计算机上安装第一个SQL SERVER 2005命名设置保持默认的话,那这个实例就是默认实例。
一台计算机上最多只有一个默认实例,也可以没有默认实例,默认实例名与计算机名相同。
除默认实例外,所有数据库引擎实例都由安装该实例的过程中指定的实例名标识。
SQLServer数据库的练习题和答案6共6份
一、上机题一、上机题1. 在Student 数据库的以下表中数据库的以下表中 学生表(Student)基本数据表的字段 字段名字段名 类型类型 长度长度 StudentID Int (Identity) StudentCode Char 8 StudentName V archar 20 Sex Bit Phone V archar 20 Address V archar 100 Parent V archar 20 Birthdate Smalldatetime Remark V archar 500 Photo Image RegisterDateDatetime成绩表(Score)基本数据的字段字段名字段名类型类型长度长度 小数位小数位 ScoreID Int(Identity) StudentCodeChar 8 ExamType Char 1 Chinese Decimal 5 1 Math Decimal 5 1 English Decimal 5 1 Physics Decimal5 1 ChemistDecimal51(1) 在Student 表的StudentCode 字段创建聚集索引Index_StudentCode ,并且该索引为唯一索引,然后向Student 表中插入一条与表中记录的StudentCode 字段相同的记录,检查能否插入成功。
录,检查能否插入成功。
Create union index index_studentcode on student (studenrcode) (2) 在Student 表的StudentName 字段创建非聚集索引。
字段创建非聚集索引。
Create nonclustered index index_studentcode on student(studentname) (3) 在Score 表的StudentCode 字段创建聚集索引。
SQLsever基础试题及答案
SQLsever基础试题及答案SQL Server基础试题及答案1. 什么是SQL Server?SQL Server是由Microsoft开发的关系数据库管理系统(RDBMS),它用于存储、管理、检索和分析数据。
2. SQL Server的主要组件有哪些?SQL Server的主要组件包括SQL Server数据库引擎、SQL Server Analysis Services、SQL Server Reporting Services、SQL Server Integration Services和SQL Server Notification Services。
3. 如何在SQL Server中创建一个新数据库?使用以下SQL语句可以创建一个新数据库:```CREATE DATABASE DatabaseName;```4. 如何在SQL Server中添加一个新表?使用以下SQL语句可以添加一个新表:```CREATE TABLE TableName (Column1 DataType,Column2 DataType,...);```5. 如何在SQL Server中插入数据?使用以下SQL语句可以插入数据:```INSERT INTO TableName (Column1, Column2, ...) VALUES (Value1, Value2, ...);```6. 如何在SQL Server中查询数据?使用SELECT语句可以查询数据:```SELECT Column1, Column2, ...FROM TableNameWHERE Condition;```7. 如何在SQL Server中更新数据?使用UPDATE语句可以更新数据:```UPDATE TableNameSET Column1 = Value1, Column2 = Value2, ... WHERE Condition;```8. 如何在SQL Server中删除数据?使用DELETE语句可以删除数据:```DELETE FROM TableNameWHERE Condition;```9. 如何在SQL Server中创建一个索引?```CREATE INDEX IndexNameON TableName (ColumnName);```10. 如何在SQL Server中备份数据库?使用以下SQL语句可以备份数据库: ```BACKUP DATABASE DatabaseNameTO DISK = 'BackupPath';```11. 如何在SQL Server中恢复数据库?使用以下SQL语句可以恢复数据库: ```RESTORE DATABASE DatabaseNameFROM DISK = 'BackupPath'WITH REPLACE;```12. 如何在SQL Server中创建一个视图?使用以下SQL语句可以创建一个视图: ```CREATE VIEW ViewName ASSELECT Column1, Column2, ...FROM TableNameWHERE Condition;```13. 如何在SQL Server中使用事务?```BEGIN TRANSACTION;-- SQL StatementsCOMMIT TRANSACTION;```如果需要回滚事务,可以使用:```ROLLBACK TRANSACTION;```14. 如何在SQL Server中创建一个存储过程?使用以下SQL语句可以创建一个存储过程: ```CREATE PROCEDURE ProcedureNameASBEGIN-- SQL StatementsEND;```15. 如何在SQL Server中使用触发器?使用以下SQL语句可以创建一个触发器: ```CREATE TRIGGER TriggerNameON TableNameAFTER INSERT, UPDATE, DELETEASBEGIN-- SQL StatementsEND;```以上是SQL Server基础试题及答案的示例。
SQL Server数据库的练习题和答案3 共6份
一、有以下三个关系:SALESPERSON(销售人员)Number CustName SalespersonName Amount(1)显示所有Salespeople的Ages和salary但是去掉重复的行。
Select distinct Ages, salaryfrom salespeople(2)显示所有和ABERNATHY CONSTRUCTION有订单的Salespeople。
SELECT DISTINCT , SALESPERSON.Age, SALESPERSON.Salary FROM [ORDER], SALESPERSONWHERE [ORDER].SalespersonName = AND [ORDER].CustName = 'Abernathy Construction'(3)显示所有的和ABERNATHY CONSTRUCTION没有订单的Salespeople,按工资的升序进行排列。
SELECT DISTINCT Name, Age, SalaryFROM SALESPERSONWHERE (Name NOT IN(SELECT NameFROM [ORDER] INNER JOINSALESPERSON ON[ORDER].SalespersonName = WHERE ([ORDER].CustName='Abernathy Construction')))ORDER BY Salary(4)显示所有的和ABERNATHY CONSTRUCTION有订单的Salepeople的年龄和姓名,按年龄的降序进行排列(使用子查询)。
SELECT DISTINCT Name, AgeFROM SALESPERSONWHERE (Name IN(SELECT SalespersonNameFROM [ORDER]WHERE CustName LIKE 'Abernathy Construction%'))ORDER BY Age DESC(5)显示所有的和ABERNATHY CONSTRUCTION有订单的Salepeople的年龄和姓名,按年龄的降序进行排列(使用连接)。
sqlserver选择题答案
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.SQL Server提供了Windows身份认证和SQL Server身份认证两种模式B.SQL Server身份认证模式是默认的身份认证模式创ServerSQL 身份认证,用户名和密码均由ServerSQL 采用.C.建并存储在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。
SQLServer基础练习题及答案
6、统计<学生选修信息表>,查询课程号为”C001”的课程的最高成绩 select max(score) as 最高成绩 from A_studentcourse where cno='C001'
一、单表查询练习 1、查询<学生信息表>,查询学生"张三"的全部基本信息 Select * from A_studentinfo where sname='张三'
2、查询<学生信息表>,查询学生"张三"和”李四”的基本信息 Select * from A_studentinfo where sname='张三' or sname='李四'
3、查询<学生信息表>,查询姓"张"学生的基本信息 Select * from A_studentinfo where sname like '张%'
4、查询<学生信息表>,查询姓名中含有"四"字的学生的基本信息 Select * from A_studentinfo where sname like '%四%'
11、查询<学生信息表>,查询现有学生都来自于哪些不同的省份 select distinct province as 省份 from A_studentinfo
12、查询<学生选修信息表>,查询没有填写成绩的学生的学号、课程号和成绩 Select * from A_studentcourse where score is null
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SQL Server 基础练习题及答案【幻天火焰】目录一、单表查询练习 (1)二、聚合函数练习 (3)三、分组查询练习 (3)四、嵌套查询练习 (4)五、联接查询练习 (6)六、外联接查询 (7)七、补充提高 (7)一、单表查询练习1、查询<学生信息表>,查询学生"张三"的全部基本信息Select *from A_studentinfowhere sname='张三'2、查询<学生信息表>,查询学生"张三"和”李四”的基本信息Select *from A_studentinfowhere sname='张三'or sname='李四'3、查询<学生信息表>,查询姓"张"学生的基本信息Select *from A_studentinfowhere sname like '张%'4、查询<学生信息表>,查询姓名中含有"四"字的学生的基本信息Select *from A_studentinfowhere sname like '%四%'5、查询<学生信息表>,查询姓名长度为三个字,姓“李”,且最后一个字是“强”的全部学生信息。
select *from A_studentinfowhere sname like '李_强'6、查询<学生信息表>,查询姓"张"或者姓”李”的学生的基本信息。
Select *from A_studentinfowhere sname like '张%'or sname like '李%'7、查询<学生信息表>,查询姓"张"并且"所属省份"是"北京"的学生信息Select *from A_studentinfowhere sname like '张%'and province='北京'8、查询<学生信息表>,查询"所属省份"是"北京"、”新疆”、”山东”或者"上海"的学生的信息Select *from A_studentinfowhere province in ('北京','上海','新疆','山东')9、查询<学生信息表>,查询姓"张",但是"所属省份"不是"北京"的学生信息Select *from A_studentinfowhere sname like '张%'and province !='北京'10、查询<学生信息表>,查询全部学生信息,并按照“性别”排序,性别相同的情况下按照“所属省份”排序,所属省份相同的情况下再按照“班级”排序select *from A_studentinfoorder by sex,province,class11、查询<学生信息表>,查询现有学生都来自于哪些不同的省份select distinct province as 省份from A_studentinfo12、查询<学生选修信息表>,查询没有填写成绩的学生的学号、课程号和成绩Select *from A_studentcoursewhere score is null13、查询<学生选修信息表>,查询全部填写了成绩的学生的选修信息,并按照“成绩”从高到低进行排序Select *from A_studentcoursewhere score is not nullorder by score desc二、聚合函数练习1、统计<学生信息表>,统计共有多少个学生Select count (*) as 学生数量from A_studentinfo2、统计<学生信息表>,统计年龄大于20岁的学生有多少个Select count(*) as 学生数量from A_studentinfowhere (2008-yearofbirth)>203、统计<学生信息表>,统计入学时间在1980年至1982年的学生人数select count(*) as 学生数量from A_studentinfowhere enrollment between '1998-01-01' and '2003-12-30'对比以下查询方式,看看有何不同,为什么?select count(*) as 学生数量from A_studentinfowhere enrollment between '1998' and '2003'4、统计<学生选修信息表>,统计学号为"S001"的学生的平均成绩Select avg(score) as 平均成绩from A_studentcoursewhere sno='S001'5、统计<学生选修信息表>,统计学号为"S001"的学生的总成绩select sum(score) as 总成绩from A_studentcoursewhere sno ='S001'6、统计<学生选修信息表>,查询课程号为”C001”的课程的最高成绩select max(score) as 最高成绩from A_studentcoursewhere cno='C001'7、统计<学生信息表>,查询所有学生中的最大年龄是多少select 2009-min(yearofbirth) as 最大年龄from A_studentinfo三、分组查询练习1、统计<学生选修信息表>,统计每个课程的选修人数select cno,count(*) as 学生数量from A_studentcoursegroup by cno2、统计<学生选修信息表>,统计每个同学的总成绩select sno,sum(score) as 总成绩from A_studentcoursegroup by sno3、统计<学生信息表>,统计每个班级中每种性别的学生人数,并按照班级排序select class as 班级,sex as 性别, count(*) as 人数from A_studentinfogroup by class,sexorder by class4、统计<学生选修信息表>,统计每门课程的平均成绩,并按照成绩降序排序Select cno,avg(score) as 平均成绩from A_studentcoursegroup by cnoorder by avg(score) desc5、统计<学生选修信息表>,显示有两门以上课程不及格的学生的学号Select sno as 不及格学生学号from A_studentcoursewhere score<60group by snohaving count(*)>16、统计<学生信息表>,统计每个班级中的最大年龄是多少select class as 班级, 2008-min(yearofbirth) as 最大年龄from A_studentinfogroup by class四、嵌套查询练习1、用子查询实现,查询选修“高等数学”课的全部学生的总成绩select sum(score) as 高等数学总成绩from A_studentcoursewhere cno =(select cnofrom A_courseinfowhere subject='高等数学')2、用子查询实现,统计<学生选修信息表>,显示学号为"S001"的学生在其各科成绩中,最高分成绩所对应的课程号和成绩select score,cnofrom A_studentcoursewhere sno='S001'and score =(select max(score)from A_studentcoursewhere sno ='S001')思考:如果该学号学生有两个课程分数都为最高的100分,查询会有什么结果3、用子查询实现,查询2班选修"数据库技术"课的所有学生的成绩之和select sum(score) as 数据库技术总成绩from A_studentcoursewhere cno =(select cnofrom A_courseinfowhere subject='数据库技术')and sno in(select snofrom A_studentinfowhere class='2')4、用子查询实现,查询3班"张三"同学的"测试管理"成绩select scorefrom A_studentcoursewhere cno=(select cnofrom A_courseinfowhere subject='测试管理')and sno in(select snofrom A_studentinfowhere class='3'and sname='张三')五、联接查询练习1、查询"张三"的各科考试成绩,要求显示姓名、课程号和成绩select sname as 姓名,cno as 课程号,score as 成绩from A_studentinfo,A_studentcoursewhere A_studentinfo.sno=A_studentcourse.snoand sname='张三'2、查询"张三"的各科考试成绩中,哪科没有记录考试成绩,要求显示姓名、课程号和成绩select sname as 姓名,cno as 课程号,score as 成绩from A_studentinfo,A_studentcoursewhere A_studentinfo.sno=A_studentcourse.snoand sname='张三'and score is null3、查询"张三"的各门课程成绩,要求显示姓名、课程名称和成绩select sname as 姓名,subject as 课程名称,score as 成绩from A_studentinfo,A_courseinfo,A_studentcoursewhere A_studentcourse.sno=A_studentinfo.snoand A_o=A_oand A_studentinfo.sname='张三'4、查询3班"张三"的"测试管理"成绩,要求显示姓名、成绩select sname as 姓名,score as 成绩from A_studentcourse,A_courseinfo,A_studentinfowhere A_o=A_oand A_studentcourse.sno=A_studentinfo.snoand subject='测试管理'and class='3'and sname='张三'5、查询所有2000年以前入学的,各班男生的各科考试平均成绩select class as 班级,avg(score) as 男生平均成绩from A_studentcourse,A_courseinfo,A_studentinfowhere A_o=A_oand A_studentcourse.sno=A_studentinfo.snoand sex='男'and enrollment<'2000-01-01'group by class六、外联接查询查询李坚强所有课程的成绩,并显示学号、姓名、课程号和成绩,没有成绩记录的学号包括:('S009','S010','S011') 1、使用左联接select A_studentinfo.sno as 学生表学号,sname as 姓名,A_studentcourse.sno as 成绩表学号, cno as 课程号,score as 成绩from A_studentinfoleft join A_studentcourseon A_studentinfo.sno=A_studentcourse.snowhere sname='李坚强'2、使用右联接select A_studentinfo.sno as 学生表学号,sname as 姓名,A_studentcourse.sno as 成绩表学号, cno as 课程号,score as 成绩from A_studentcourseright join A_studentinfoon A_studentinfo.sno=A_studentcourse.snowhere sname='李坚强'3、对比等值连接select sname,scorefrom A_studentinfo,A_studentcoursewhere A_studentinfo.sno=A_studentcourse.snoand sname='李坚强'七、补充提高1、查询“张三”比“王三”入学早几年select A.sname as 姓名,year(A.enrollment) as 入学时间,B.sname as 姓名,year(B.enrollment) as 入学时间,datediff(year,A.enrollment,B.enrollment) as 年差from A_studentinfo A,A_studentinfo Bwhere A.sname='张三'and B.sname='王三'2、查询所在班级和该班内学生的年龄之和,其中每个人的年龄都大于20岁,每个班的年龄之和大于60岁select class as 班级,sum(2008-yearofbirth) as 年龄和from A_studentinfowhere (2008-yearofbirth) >20group by classhaving sum(2008-yearofbirth)>60order by class3、从学生表中查询第2到5条数据(以学号排序)select top 4 *from a_studentinfowhere sno not in(select top 1 snofrom a_studentinfoorder by sno)order by sno4、计算每种产品的剩余库存量表1,为产品进货表,产品名称name[char(10)],产品数量amount[int]表2,为产品出货表,产品名称name[char(10)],产品数量amount[int]业务逻辑:表1存储产品的总进货量,表2存储每种产品每次的出货量,如产品A进货为100,出货了3次,每次分别为10、20、30,那么A产品的库存就为40表A1 | 表A2---------------------------------|---------------------------name amount | name amountA 100 | A 10B 100 | A 20| A 30| B 10| B 40--方法1--建立视图create view A2Sumasselect name,sum(amount) as thesumfrom A2group by name--关联查询select ,A1.amount-A2Sum.thesumfrom A1,A2Sumwhere =--方法2select ,A1.amount-A2Table.A2amount as stocksfrom A1,(select name,sum(amount) as A2amount from A2 group by name) as A2Tablewhere =--方法3--定义单个产品变量declare @aa int(select sum(amount)from A2where name='A'group by name)--计算单个产品剩余select name,amount-@aa as leavefrom A1where name='A'5、查询学生表,在结果中将性别为“男”的显示为“先生”,将性别为“女”的显示为“女士”,否则显示为空。