SqlServer基础练习题

合集下载

sql server练习题

sql server练习题

sql server练习题SQLServer由Microsoft司开发的关系数据库管理系统,其中包含了大量的不同类型的数据库管理功能,可以满足不同用户在不同领域的需求。

SQL Server 中提供了丰富的练习题,可以帮助用户更好地理解和掌握系统的特性、功能及使用方法。

本文将介绍一些 SQL Server习题,帮助用户掌握 SQL Server基本功能。

一、数据操作1.建表:在 SQL Server 中,使用 CREATE TABLE句可以创建一个新的表,以便在其中添加数据。

示例:CREATE TABLE Student (stuID int,stuName varchar(50),stuAge int);2.入数据:当表创建成功后,使用 INSERT INTO句就可以将数据插入表中,以便在其中存储新的数据。

示例:INSERT INTO Student VALUES(1, John 23);INSERT INTO Student VALUES(2, David 24);3.新数据:如果需要更新已存储的数据,可以使用 UPDATE句来更新表中的数据。

示例:UPDATE Student SET stuName = Michael WHERE stuID = 2;4.除数据:使用 DELETE句可以删除表中的某些数据。

示例:DELETE FROM Student WHERE stuID = 1;二、数据查询1. 使用 SELECT句可以从数据库中检索数据:示例:SELECT * FROM Student2.以结合 WHERE句来筛选检索出的数据:示例:SELECT * FROM Student WHERE stuName = Michael3.据可以根据任意列进行排序:示例:SELECT * FROM Student ORDER BY stuAge DESC4.据可以根据多个列进行分组:示例:SELECT stuName, COUNT(*) FROM Student GROUP BY stuName三、视图(Views)1.图可以将多个表联接起来,提供一种更简单的方式来访问数据库中的数据:示例:CREATE VIEW StudentInfoASSELECT s.stuName, c.classNameFROM Student sINNER JOIN Class cON s.classID = c.classID2.图可以嵌套,提供更复杂的数据查询功能:示例:CREATE VIEW vViewASSELECT s.stuName, c.classNameFROM StudentInfo sINNER JOIN Teacher tON s.classID = t.classID四、存储过程1.储过程是一种数据操作语义,它可以封装可重复使用的 SQL 句,以便用户可以用更简单的方式来使用:示例:CREATE PROCEDURE GetStudentInfoASSELECT s.stuName, c.classNameFROM Student sINNER JOIN Class cON s.classID = c.classID2.储过程也可以接收参数,以便实现更灵活的数据操作:示例:CREATE PROCEDURE GetStudentInfo@stuID intASSELECT s.stuName, c.classNameFROM Student sINNER JOIN Class cON s.classID = c.classIDWHERE s.stuID = @stuID五、触发器1.发器是一种存储过程,它可以在指定表上触发特定的动作。

sql server经典练习题

sql server经典练习题

sql server经典练习题SQL Server是一种关系型数据库管理系统,被广泛应用于企业和个人的数据管理。

熟练掌握SQL Server的使用和编程技巧对于数据库开发人员至关重要。

本文将介绍一些SQL Server的经典练习题,帮助读者巩固和提升SQL Server的技术能力。

1. 查询表中所有的列名和数据类型在SQL Server中,我们可以使用以下语句查询表中所有的列名和对应的数据类型:```sqlSELECT COLUMN_NAME, DATA_TYPEFROM INFORMATION_SCHEMA.COLUMNSWHERE TABLE_NAME = 'YourTableName'```将上述代码中的"YourTableName"替换为你需要查询的表名,即可获得相应的结果。

2. 查询表中的前N条数据有时候我们只需要查看表中的前几条数据,可以使用以下语句实现:```sqlSELECT TOP N *FROM YourTableName```将上述代码中的"N"替换为你需要查询的条数,"YourTableName"替换为你需要查询的表名。

3. 查询表中符合某个条件的数据要查询表中符合某个条件的数据,可以使用以下语句:```sqlSELECT *FROM YourTableNameWHERE Condition```将上述代码中的"YourTableName"替换为你需要查询的表名,"Condition"替换为你需要的条件。

例如,要查询表中年龄大于18岁的员工信息:```sqlSELECT *FROM EmployeeWHERE Age > 18```4. 对表进行排序我们可以使用ORDER BY子句对表中的数据进行排序。

以下是一个示例:```sqlSELECT *FROM YourTableNameORDER BY ColumnName ASC|DESC```将上述代码中的"YourTableName"替换为你需要查询的表名,"ColumnName"替换为你需要排序的列名,"ASC"表示升序排列,"DESC"表示降序排列。

sqlserver考试试题库

sqlserver考试试题库

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上机练习题

sqlserver上机练习题

sqlserver上机练习题SQL Server上机练习题SQL Server是一种关系数据库管理系统(RDBMS),被广泛应用于各种企业级应用程序中。

为了能够更好地熟练使用SQL Server,以下是一些上机练习题,帮助您巩固和提升SQL Server的技能。

1. 创建数据库:请创建一个名为"Company"的数据库,用于存储公司员工和部门的信息。

2. 创建表:在"Company"数据库中创建两个表,名为"Employees"和"Departments"。

员工表(Employees)应包含以下列:- 员工ID(EmployeeID):整数类型,主键。

- 员工姓名(EmployeeName):字符串类型,最大长度为50。

- 岗位(Position):字符串类型,最大长度为50。

- 部门ID(DepartmentID):整数类型,外键。

部门表(Departments)应包含以下列:- 部门ID(DepartmentID):整数类型,主键。

- 部门名称(DepartmentName):字符串类型,最大长度为50。

3. 插入数据:向"Employees"表和"Departments"表中插入一些示例数据,确保每个表至少有3条记录。

4. 更新数据:将"Employees"表中ID为1的员工的岗位更改为"经理"。

5. 删除数据:从"Employees"表中删除ID为2的员工。

6. 查询数据:请编写SQL查询语句,执行以下操作:- 检索"Employees"表中所有员工的姓名和岗位。

- 检索"Departments"表中所有部门的名称。

- 检索"Employees"表中岗位为"经理"的员工的姓名和岗位。

SQL Server 练习题

SQL Server 练习题

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语言中行注释的符号为-- ;块注释的符号为/* */ 。

SQLSERVER试题库(答案已完成)

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习题及答案

SQLServer习题及答案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数据库试题十及答案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练习题参考答案

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.为逻辑数据模型选取一个最适合应用环境的物理结构,包括数据库在物理设备上.为逻辑数据模型选取一个最适合应用环境的物理结构,包括数据库在物理设备上的存储结构和存取方法。

SQLServer数据库的练习题和答案6共6份

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 字段创建聚集索引。

sqlserver测试题及答案

sqlserver测试题及答案

Sql server一期内部测试题一选择题1、_______是指组成表的各列的名称及数据类型,也就是日常表格的“栏目信息”。

(选择1项)A) 表型B) 记录C) 属性D)关键字2、在SQL查询时,使用()子句指出的是分组后的条件。

(选择1项)A) WHEREB) HA VINGC) WHEND)GROUP3、已知关系:员工(员工号,姓名,部门号,薪水)PK=员工号FK=部门号部门(部门号,部门名称,部门经理员工号)PK=部门号(PK指的式主键FK指的式外键)现在要查询部门员工的平均工资大于3000的部门名称及平均工资,下面哪两句查询正确:(选择2项)A)SELECT 部门名称,A VG(薪水)FROM 部门P,员工E WHERE E.部门号=(SELECT部门号FROM 部门WHERE 部门名称= P.部门名称)GROUP BY 部门名称HA VING A VG(薪水)> 3000B) SELECT 部门名称,A VG(薪水) FROM 部门P INNER JOIN 员工E ON P.部门号=E.部门号GROUP BY 部门名称WHERE A VG(薪水)> 3000C)SELECT 部门名称,A VG(薪水) FROM 部门P INNER JOIN 员工E ON P.部门号=E.部门号GROUP BY 部门名称HA VING A VG(薪水)> 3000D)SELECT 部门名称,A VG(薪水) FROM 部门P,员工 E WHERE P.部门号=(SELECT部门号FROM 部门WHERE 部门名称= P.部门名称)GROUP BY 部门名称HA VING A VG(薪水)> 30004、要将表userInfo从数据库中删除,用以下的哪个命令?(选择1项)A) DROP TABLE userInfoB) TRUNCATE TABLE userInfoC) DELETE FROM userInfoD) DROP FROM userInfo5、在以下哪种情况下使用主键约束而不使用唯一约束:(选择1项)A) 列的值允许为空值B) 列有外键引用C) 列的值不允许为空值D) 以上都不对6、在数据库表employee中查找字段empid中以两个数字开头第三个字符是下画线“_”的所有记录。

SQLServer数据库试题(1—6)附答案

SQLServer数据库试题(1—6)附答案

SQLServer数据库试题(1—6)附答案数据库试题(⼀)⼀、单选 (每空2分,共10分)1. 当采⽤Windows认证⽅式登录数据库服务器时,SQL Server客户端软件会向操作系统请求⼀个()。

A. 信任连接B. 邮件集成C. 并发控制D. 数据转换服务2. SQL Server的物理存储主要包括3类⽂件()。

A. 主数据⽂件、次数据⽂件、事务⽇志⽂件B. 主数据⽂件、次数据⽂件、⽂本⽂件C. 表⽂件、索引⽂件、存储过程D. 表⽂件、索引⽂件、图表⽂件3. Transact-SQL对标准SQL的扩展主要表现为()。

A. 加⼊了程序控制结构和变量B. 加⼊了建库和建表语句C. 提供了分组(Group By)查询功能D. 提供了Min、Max等统计函数4. 以下哪种情况应尽量创建索引()。

A. 在Where⼦句中出现频率较⾼的列B. 具有很多NULL值的列C. 记录较少的基本表D. 需要更新频繁的基本表5. SQL Server触发器主要针对下列语句创建()。

A. SELECT、INSERT、DELETEB. INSERT、UPDATE、DELETEC. SELECT、UPDATE、INSERTD. INSERT、UPDATE、CREATE⼆、填空 (每空1分,共20分)1.使⽤数据库设计程序时,只需要告诉数据库管理系统________,不需要告诉它________。

2.若⼀个联系涉及到两个实体则称为________联系,若只涉及到⼀个实体则称为________联系。

3.若实体A和B是1对多的联系,实体B和C是1对1的联系,则实体A和C是________对________的联系。

4.在⼀个关系中不允许出现重复的________,也不允许出现具有相同名字的________。

5.数据库系统中的四类⽤户分别为数据库管理员、数据库设计员、____________和____________。

6.在存取数据库的数据的过程中,使⽤了两个数据缓冲区,分别为________缓冲区和________缓冲区。

SQLServer基础练习题及答案

SQLServer基础练习题及答案
5、统计<学生选修信息表>,统计学号为"S001"的学生的总成绩 select sum(score) as 总成绩 from A_studentcourse where sno ='S001'
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

SQLServer单科测试题(带答案)

SQLServer单科测试题(带答案)

选择题(每题2分,共计100分)1.在SQL Server中,要防止大于100的数被保存到int类型的列,可以使用()。

A.主键约束B.限制约束C.外键约束D.检查约束2.在SQL Server中,下面关于数据完整性的描述正确的是()。

[选两项]A.如果数据库中没有重复的数据,数据就是完整的B.维护数据完整性就是保证数据的准确性C.数据库中数据越详细越符合数据完整性D.维护数据完整性可以保证数据的一致性,避免出现没有意义的数据3.在SQL Server 2005中,有系统数据库和用户数据库,下列不属于系统数据库的是()。

A.masterB.modelC.msdbD.pubs4.在SQL Sever 2005中,假设表 users 包含主键列 id ,那么执行”update users set id=20 whereid=30”,执行的结果可能有()。

A.如果表中含有id为30的记录,但不包含id为20的记录,则更新失败B.执行出错,因为主键列不可以被更新C.如果表中同时含有id 为20和id 为30的记录,则更新失败。

D.如果表中不包含id为20 和id 为30 的记录,则更新一行记录5.在SQL Server 2005数据库中,使用update语句更新数据库表中的数据,以下说法正确的是()。

A.每次只能更新一行数据B.每次可更新多行数据C.如果没有数据项被更新,将提示错误消息D.更新数据时,必须带有WHERE条件句子6.关于数据完整性,以下说法正确的是()。

[选两项]A.引用完整性通过主键和外键之间的引用关系实现B.引用完整性通过限制数据类型、检查约束等实现C.数据完整性是通过数据操纵者自身对数据的控制来实现的D.如果两个表中存储的信息相互关联,那么只要修改了一个表,另外一个表也要做出相应的修改,则称该这两个表中的数据具备完整性7.关于标识列,以下说法正确的是()。

A.使用sql语句插入数据时,可以为标识列指定要插入的值B.只能把主键设定为标识列C.一个表可以有多个标识列D.标识列可以为任何数据类型8.在SQL Server 2005数据库中,有一个book(图书)表,包含字段:bookID(图书编号),title(书名),pDate(出版日期),author(作者)等字段,其中()字段作为该表主键是最恰当的。

SQLServer试题--数据库、表基本操作选择题-综合操作题-一单元

SQLServer试题--数据库、表基本操作选择题-综合操作题-一单元

练习题1—数据库创建与管理1.请在空白处填写合适的内容,以完善下列语句。

(1)创建一个名为company的用户数据库。

其数据文件的初始大小为10MB,无最大限制,以10%的速度增长。

日志文件的初始大小为1MB,最大为5MB,以1MB的速度增长。

create databaseon primary(name=company_data,filename=,D:\MSSQL\DATA\company.mdf',SIZE= ,MAXSIZE = ,FILEGROWTH= )log on(name=company_log,filename=,D:\MSSQL\DATA\company.ldf',SIZE= ,MAXSIZE = ,FILEGROWTH= )(2)将company数据库设置为只读状态。

EXEC SP_DBOPTION ,?, ,?,?true?(3)将company数据库的初始分配空间大小扩充到20MB。

ALTER DATABASEMODIFY FILE(NAME= ,SIZE= )(4)将company用户数据库改名为corporation。

EXEC SP_DBOPTION ,company ?, ,?, ,true?EXEC ,company ?, ,corporation?EXEC SP_DBOPTION ,corporation?, ,single user?, ,?(5)将corporation数据库的空间压缩至最小容量。

(,corporation?)(6)删除corporation数据库。

corporation2.简答题(1)SQL Server中包含了哪两种类型的数据库?(2)系统数据库有哪些?它们各自的功能是什么?(3)创建用户数据库的方法有哪些?练习题2—数据表的创建、修改一、选择题1.假如定义表时没有为一个CHAR数据类型的列指定长度,其默认长度是多少()A. 256B. 1000C.64D.12.关系数据库是若干()的集合。

SQLServer基础查询练习(附标准答案)

SQLServer基础查询练习(附标准答案)

--创建数据库USE[master]GOCREATE DATABASE[test]ON PRIMARY(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%)GOALTER DATABASE[test]SET COMPATIBILITY_LEVEL= 90GOIF (1 =FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))beginEXEC[test].[dbo].[sp_fulltext_database]@action='enable'endGOALTER DATABASE[test]SET ANSI_NULL_DEFAULT OFFGOALTER DATABASE[test]SET ANSI_NULLS OFFGOALTER DATABASE[test]SET ANSI_PADDING OFFGOALTER DATABASE[test]SET ANSI_WARNINGS OFFGOALTER DATABASE[test]SET ARITHABORT OFFGOALTER DATABASE[test]SET AUTO_CLOSE OFFGOALTER DATABASE[test]SET AUTO_CREATE_STATISTICS ONGOALTER DATABASE[test]SET AUTO_SHRINK OFFGOALTER DATABASE[test]SET AUTO_UPDATE_STATISTICS ONGOALTER DATABASE[test]SET CURSOR_CLOSE_ON_COMMIT OFFGOALTER DATABASE[test]SET CURSOR_DEFAULT GLOBALGOALTER DATABASE[test]SET CONCAT_NULL_YIELDS_NULL OFFGOALTER DATABASE[test]SET NUMERIC_ROUNDABORT OFFGOALTER DATABASE[test]SET QUOTED_IDENTIFIER OFFGOALTER DATABASE[test]SET RECURSIVE_TRIGGERS OFFGOALTER DATABASE[test]SET DISABLE_BROKERGOALTER DATABASE[test]SET AUTO_UPDATE_STATISTICS_ASYNC OFF GOALTER DATABASE[test]SET DATE_CORRELATION_OPTIMIZATION OFF GOALTER DATABASE[test]SET TRUSTWORTHY OFFGOALTER DATABASE[test]SET ALLOW_SNAPSHOT_ISOLATION OFFGOALTER DATABASE[test]SET PARAMETERIZATION SIMPLEGOALTER DATABASE[test]SET READ_COMMITTED_SNAPSHOT OFFGOALTER DATABASE[test]SET READ_WRITEALTER DATABASE[test]SET RECOVERY SIMPLEGOALTER DATABASE[test]SET MULTI_USERGOALTER DATABASE[test]SET PAGE_VERIFY CHECKSUMGOALTER DATABASE[test]SET DB_CHAINING OFFGO--创建表USE testCREATE TABLE emp(EMPNO NUMERIC(5, 0)NOT NULL,ENAME NVARCHAR(10),JOB NVARCHAR(9),MGR NUMERIC(5, 0),HIREDATE DATETIME,SAL NUMERIC(7, 2),COMM NUMERIC(7, 2),DEPTNO NUMERIC(2, 0),)CREATE TABLE dept(DEPTNO NUMERIC(2),DNAME NVARCHAR(14),LOC NVARCHAR(13),)--插入数据INSERT INTO EMP VALUES(7369,'SMITH','CLERK', 7902,'2000-12-17', 800,NULL, 20); INSERT INTO EMP VALUES(7499,'allen','SALESMAN', 7698,'2001-2-20', 1600, 300, 30); INSERT INTO EMP VALUES(7521,'WARD','SALESMAN', 7698,'2001-2-22', 1250, 500, 30); INSERT INTO EMP VALUES(7566,'JONES','MANAGER', 7839,'2001-4-2', 2975,NULL, 20);INSERT INTO EMP VALUES(7654,'MARTIN','SALESMAN', 7698,'2001-9-28',1250, 1400, 30); INSERT INTO EMP VALUES(7698,'BLAKE','MANAGER', 7839,'2001-5-1', 2850,NULL, 30); INSERT INTO EMP VALUES(7782,'CLARK','MANAGER', 7839,'2001-6-9', 2450,NULL, 10); INSERT INTO EMP VALUES(7788,'scott','ANALYST', 7566,'2002-12-9',3000,NULL, 20); INSERT INTO EMP VALUES(7839,'king','PRESIDENT',NULL,'2001-11-17',5000,NULL, 10); INSERT INTO EMP VALUES(7844,'TURNER','SALESMAN', 7698,'2001-9-8', 1500, 0, 30); INSERT INTO EMP VALUES(7876,'ADAMS','CLERK', 7788,'2003-1-12',1100,NULL, 20); INSERT INTO EMP VALUES(7900,'JAMES','CLERK', 7698,'2001-3-12',950,NULL, 30); INSERT INTO EMP VALUES(7902,'FORD','ANALYST', 7566,'2001-3-12',3000,NULL, 20); INSERT INTO EMP VALUES(7934,'MILLER','CLERK', 7782,'2002-01-23',1300,NULL, 10);INSERT INTO DEPT VALUES (10,'ACCOUNTING','NEW YORK');INSERT INTO DEPT VALUES (20,'RESEARCH','DALLAS');INSERT INTO DEPT VALUES (30,'SALES','CHICAGO');INSERT INTO DEPT VALUES (40,'OPERATIONS','BOSTON');--1、查询所有的雇员SELECT*FROM emp--2、查询所有的部门SELECT*FROM dept--3、查询没有佣金(COMM)的所有雇员信息SELECT*FROM dbo.empWHERE COMM IS NULL--4、查询薪金(SAL)和佣金(COMM)总数大于2000的所有雇员信息SELECT*FROM empWHERE (sal+ISNULL(comm, 0))> 2000--5、选择部门30中的雇员SELECT*FROM empWHERE deptno=30--6、列出所有办事员("CLERK")的姓名、编号和部门SELECT ename,empno,dnameFROM empJOIN dept ON emp.deptno=dept.deptno WHERE emp.job='CLERK'--7、找出佣金高于薪金的雇员SELECT*FROM empWHERE comm>sal--8、找出佣金高于薪金60%的雇员SELECT*FROM empWHERE comm>sal* 0.6--9、找出部门10中所有经理和部门20中的所有办事员的详细资料SELECT*FROM empWHERE (job='MANAGER'AND deptno= 10)OR(job='CLERK'AND deptno= 20)ORDER BY job--10、找出部门10中所有经理、部门20中所有办事员,--既不是经理又不是办事员但其薪金>=2000的所有雇员的详细资料SELECT*FROM dbo.empWHERE (JOB='MANAGER'AND DEPTNO= 10)OR(JOB='CLERK'AND DEPTNO= 20)OR(JOB NOT IN('MANAGER','CLERK')AND SAL>= 2000)ORDER BY JOB--11、找出收取佣金的雇员的不同工作SELECT DISTINCTJOBFROM dbo.empWHERE COMM IS NOT NULL--12、找出不收取佣金或收取的佣金低于100的雇员SELECT*FROM empWHERE ISNULL(comm, 0)< 100--13、找出早于12年之前受雇的雇员SELECT*FROM dbo.empWHERE YEAR(GETDATE())-YEAR(HIREDATE)> 11--14、显示首字母大写的所有雇员的姓名SELECT enameFROM empWHERE ASCII(ename)BETWEEN 65 AND 90--15、显示正好为5个字符的雇员姓名SELECT enameFROM empWHERE LEN(ename)= 5--16、显示带有'R'的雇员姓名SELECT ENAMEFROM dbo.empWHERE ENAME LIKE'%R%''--17、显示不带有'R'的雇员姓名SELECT ENAMEFROM dbo.empWHERE ENAME NOT LIKE'%R%'--18、显示包含"A"的所有雇员的姓名及"A"在姓名字段中的位置SELECT ENAME,CHARINDEX('A',ENAME)A的位置FROM dbo.empWHERE ENAME LIKE'%A%'--19、显示所有雇员的姓名,用a替换所有'A'SELECT REPLACE(ename,'A','a')ENAMEFROM dbo.emp--20、显示所有雇员的姓名的前三个字符SELECT SUBSTRING(ename, 1, 3)ENAMEFROM dbo.emp--21、显示雇员的详细资料,按姓名排序SELECT*FROM dbo.empORDER BY ENAME--22、显示雇员姓名,根据其服务年限,将最老的雇员排在最前面SELECT ENAMEFROM dbo.empORDER BY HIREDATE--23、显示所有雇员的姓名、工作和薪金,按工作内的工作的降序顺序排序,--而工作按薪金排序SELECT ename,job,salFROM empORDER BY job DESC,Sal--24、显示在一个月为30天的情况下所有雇员的日薪金,忽略小数SELECT ename名字,CAST(sal/ 30 AS NUMERIC)日薪FROM dbo.emp--25、找出在(任何年份的)2月受聘的所有雇员SELECT ename,hiredateFROM dbo.empWHERE MONTH(hiredate)= 2--26、对于每个雇员,显示其加入公司的天数SELECT ename姓名,DATEDIFF(DAY,hiredate,GETDATE())天数FROM dbo.emp--27、列出至少有一个雇员的所有部门SELECT*FROM dbo.deptWHERE DEPTNO IN(SELECT DEPTNOFROM dbo.emp)--28、列出各种类别工作的最低薪金SELECT job,MIN(sal)minsalFROM dbo.empGROUP BY job--29、列出各个部门的MANAGER(经理)的最低薪金SELECT ename,dname,MIN(sal)minsalFROM dbo.emp,dbo.deptWHERE emp.deptno=dept.deptnoAND job='MANAGER'GROUP BY dname,ename--30、列出薪金高于公司平均水平的所有雇员SELECT ename,salFROM dbo.empWHERE sal>(SELECT AVG(sal)FROM dbo.emp)--31、列出各种工作类别的最低薪金,并使最低薪金大于1500 SELECT job,MIN(sal)minsalFROM dbo.empGROUP BY jobHAVING MIN(sal)> 1500--32、显示所有雇员的姓名和加入公司的年份和月份,--按雇员受雇日所在月排序,将最早年份的项目排在最前面SELECT ename,YEAR(hiredate)_year,MONTH(hiredate)_monthFROM empORDER BY hiredate--33、显示所有雇员的姓名以及满10年服务年限的日期SELECT ename,hiredateFROM empWHERE DATEDIFF(YEAR,hiredate,GETDATE())> 10--34、显示所有雇员的服务年限:总的年数或总的月数或总的天数SELECT ename,DATEDIFF(YEAR,hiredate,GETDATE())_years,DATEDIFF(MONTH,hiredate,GETDATE())_months,DATEDIFF(DAY,hiredate,GETDATE())_daysFROM dbo.emp--35、列出按计算的字段排序的所有雇员的年薪.--即:按照年薪对雇员进行排序,年薪指雇员每月的总收入总共12个月的累加SELECT ename,CAST(sal+ISNULL(comm, 0)AS NUMERIC)* 12 sal_year FROM dbo.empORDER BY sal_year--36、列出年薪前名的雇员SELECT TOP 5ename,CAST(sal+ISNULL(comm, 0)AS NUMERIC)* 12 sal_year FROM dbo.empORDER BY sal_year DESC--列出薪金水平处于第四位的雇员--注意子查询一定要起别名SELECT*FROM (SELECT ename,sal,rank()OVER (ORDER BY sal DESC)AS grade FROM emp)AS aWHERE a.grade= 4--37、列出年薪低于10000的雇员SELECT*FROM dbo.empWHERE (sal+ISNULL(comm, 0))* 12 < 10000--38、列出雇员的平均月薪和平均年薪SELECT CAST(SUM(sal+ISNULL(comm, 0))/COUNT(ename)AS NUMERIC)平均月薪,CAST(SUM((sal+ISNULL(comm,0))*12)/COUNT(ename)AS NUMERIC)平均年薪FROM emp--39、列出部门名称和这些部门的雇员,同时列出那些没有雇员的部门(重要)SELECT dname,enameFROM deptLEFT JOIN emp ON emp.deptno=dept.deptnoORDER BY dname--列出那些没有雇员的部门SELECT dnameFROM empRIGHT JOIN dept ON emp.deptno=dept.deptnoWHERE emp.ename IS NULL--40、列出每个部门的信息以及该部门中雇员的数量(重要)SELECT dept.*,COUNT(emp.ENAME)人数FROM deptLEFT JOIN dbo.emp ON dbo.dept.DEPTNO=dbo.emp.DEPTNOGROUP BY dept.DNAME,dept.DEPTNO,dept.LOC ORDER BY dbo.dept.DEPTNO--41、列出薪金比"SMITH"多的所有雇员SELECT emp.ename,emp.salFROM empWHERE sal>(SELECT salFROM empWHERE ename='smith')--42、列出所有雇员的姓名及其直接上级的姓名SELECT A.ENAME雇员,B.ENAME直接上级FROM dbo.emp ALEFT JOIN dbo.emp B ON A.MGR=B.EMPNOORDER BY B.EMPNO--43、列出入职日期早于其直接上级的所有雇员SELECT ename雇员,hiredate雇员入职日期FROM emp eWHERE hiredate<(SELECT hiredateFROM empWHERE empno=e.mgr)--44、列出所有办事员("CLERK")的姓名及其部门名称SELECT ename,dname,jobFROM emp eJOIN dept d ON e.deptno=d.deptnoWHERE job='CLERK'--45、列出从事"SALES"(销售)工作的雇员的姓名,假定不知道销售部的部门编号SELECT enameFROM empWHERE deptno=(SELECT deptnoFROM deptWHERE dname='sales')--46、列出与"SCOTT"从事相同工作的所有雇员SELECT ename,jobFROM empWHERE job=(SELECT jobFROM empWHERE ename='SCOTT')--47、列出某些雇员的姓名和薪金,条件是他们的薪金等于部门中任何一个雇员的薪金SELECT ename,sal,deptnoFROM empWHERE sal IN(SELECT salFROM empWHERE deptno= 30 )--48、列出某些雇员的姓名和薪金,条件是他们的薪金高于部门中所有雇员的薪金SELECT ename,sal,deptnoFROM empWHERE sal>(SELECT MAX(sal)FROM empWHERE deptno= 30)--49、列出从事同一种工作但属于不同部门的雇员的不同组合SELECT a.ename雇员A,b.ename雇员B,a.job雇员A工作,b.job雇员B工作,a.deptno雇员A部门,b.deptno雇员B部门FROM emp aJOIN emp b ON a.job=b.jobWHERE a.deptno!=b.deptnoAND a.job=b.jobORDER BY a.job--50、列出所有雇员的雇员名称、部门名称和薪金(包括没有雇员的部门)SELECT dbo.dept.DNAME,dbo.emp.ENAME,dbo.emp.SALFROM dbo.empRIGHT JOIN dbo.dept ON dbo.dept.DEPTNO=dbo.emp.DEPTNO。

sqlserver练习题

sqlserver练习题

sqlserver练习题SQL Server 练习题⼀、填空题1.数据库系统的特点分别是数据的结构化、数据共享、数据独⽴性和可控冗余度。

2.在数据库的表中,主键是指表中的某⼀列或⼏列,它的值唯⼀标识⼀⾏。

Server 2005的⽂件包括: 数据⽂件(.mdf或.ndf)和⽇志⽂件。

4.在SQL Server 2005中,要访问某个数据库,除了需要有⼀个登录帐号外,还必须有⼀个该数据库的⽤户帐号。

5. 数据库管理系统,简称DBMS,它是指帮助⽤户建⽴、使⽤和管理数据库的软件系统。

6.在T-SQL语⾔中,若要修改某张表的结构,应该使⽤的修改关键字是ALTER;若要创建⼀个数据库,应该使⽤的语句是CREATE DATABASE。

5.命令Truncate Table的功能是清空数据库。

6.数据完整性是指存储在数据库中的数据的⼀致性和准确性,,根据完整性机制所作⽤的数据库对象和范围不同,可以分为:实体完整性、域完整性、参照(或:引⽤)完整性和⽤户⾃定义完整性约束等四种,其中主键可以实现实体完整性。

7.模糊查询符号 % 代表任意字符,查询条件 e%im 代表意思是查询以 e 开头中间任意字符(串)且以im 结尾的字符串。

8.使⽤索引可以减少检索时间,根据索引的存储结构不同将其分为两类:簇集索引和⾮簇集索引。

Server中的变量分为两种,全局变量和局部变量。

其中全局变量的名称以@@字符开始,由系统定义和维护;局部变量以@字符开始,由⽤户⾃⼰定义和赋值。

10.实现数据完整性的途径有默认值、约束、规则、存储过程、触发器等。

11.访问SQL Server数据库对象时,需要经过⾝份验证和权限验证两个阶段,其中⾝份验证分为Windows验证模式和混合验证模式。

Server使⽤⽇志⽂件记载⽤户对数据库进⾏的所有操作。

系统存储过程的功能是显⽰数据对象的相关属性。

语⾔中⾏注释的符号为 -- ;块注释的符号为 /* */ 。

15.备份是为了在数据库遭到破坏时,能够修复,数据库备份的类型有四种分别为:数据库备份、⽇志备份、差异备份、⽂件和⽂件组备份。

sql server 练习题

sql server 练习题

sql server 练习题SQL Server 练习题SQL Server 是一种关系型数据库管理系统,广泛应用于企业级应用程序和数据存储。

掌握 SQL Server 的技能对于数据库开发人员和数据分析师来说至关重要。

为了提高自己的 SQL Server 技能,下面将介绍一些 SQL Server 练习题,帮助读者加深对 SQL Server 的理解和应用。

1. 数据查询假设有一个名为 "Employees" 的表,其中包含员工的姓名、年龄、性别和薪水等信息。

请编写一条 SQL 查询语句,找出薪水最高的员工。

解答:```SELECT TOP 1 * FROM Employees ORDER BY Salary DESC;```这条查询语句将按照薪水降序排列表中的记录,并返回第一条记录,即薪水最高的员工。

2. 数据过滤在上述的 "Employees" 表中,如果要筛选出薪水在 5000 到 8000 之间的员工,应该如何编写 SQL 查询语句?解答:```SELECT * FROM Employees WHERE Salary BETWEEN 5000 AND 8000;```这条查询语句使用了 BETWEEN 操作符来筛选出薪水在指定范围内的员工。

3. 数据排序和分组在"Employees" 表中,如果要按照年龄从小到大的顺序显示员工的姓名和年龄,应该如何编写 SQL 查询语句?解答:```SELECT Name, Age FROM Employees ORDER BY Age ASC;```这条查询语句将按照年龄升序排列表中的记录,并只返回姓名和年龄这两列。

4. 数据聚合在 "Employees" 表中,如果要计算员工的平均薪水,应该如何编写 SQL 查询语句?解答:```SELECT AVG(Salary) AS AverageSalary FROM Employees;```这条查询语句使用了 AVG() 聚合函数来计算平均薪水,并使用 AS 关键字给结果列起了一个别名。

SQL SERVER练习题及答案

SQL SERVER练习题及答案

题目1:问题描述:为管理岗位业务培训信息,建立3个表:S (S#,SN,SD,SA) S#,SN,SD,SA 分别代表学号、学员姓名、所属单位、学员年龄C (C#,CN ) C#,CN 分别代表课程编号、课程名称SC ( S#,C#,G ) S#,C#,G 分别代表学号、所选修的课程编号、学习成绩1. 使用标准SQL嵌套语句查询选修课程名称为’税收基础’的学员学号和姓名--实现代码:SELECT SN,SD FROM SWHERE [S#] IN(SELECT [S#] FROM C,SCWHERE C.[C#]=SC.[C#]AND CN=N\'税收基础\')2. 使用标准SQL嵌套语句查询选修课程编号为’C2’的学员姓名和所属单位--实现代码:SELECT S.SN,S.SD FROM S,SCWHERE S.[S#]=SC.[S#]AND SC.[C#]=\'C2\'3. 使用标准SQL嵌套语句查询不选修课程编号为’C5’的学员姓名和所属单位--实现代码:SELECT SN,SD FROM SWHERE [S#] NOT IN(SELECT [S#] FROM SCWHERE [C#]=\'C5\')4. 使用标准SQL嵌套语句查询选修全部课程的学员姓名和所属单位--实现代码:SELECT SN,SD FROM SWHERE [S#] IN(SELECT [S#] FROM SCRIGHT JOINC ON SC.[C#]=C.[C#] GROUP BY [S#]HA VING COUNT(*)=COUNT([S#]))5. 查询选修了课程的学员人数--实现代码:SELECT 学员人数=COUNT(DISTINCT [S#]) FROM SC6. 查询选修课程超过5门的学员学号和所属单位--实现代码:SELECT SN,SD FROM SWHERE [S#] IN(SELECT [S#] FROM SCGROUP BY [S#]HA VING COUNT(DISTINCT [C#])>5)题目2问题描述:本题用到下面三个关系表:CARD 借书卡。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档