文档库 最新最全的文档下载
当前位置:文档库 › SQL练习题

SQL练习题

SQL练习题
SQL练习题

sql练习题+答案

(一)新建以下几个表 student(学生表): 其中约束如下: (1)学号不能存在相同的 (2)名字为非空 (3)性别的值只能是’男’或’女’ (4)系包括这几个:信息系,计算机科学系,数学系,管理系,中文系,外语系,法学系 (5)出生日期为日期格式 (6)年龄为数值型,且在0~100之间

cs(成绩表): 其中约束如下: (1)sno和cno分别参照student和course表中的sno,cno的字段(2)cj(成绩)只能在0~100之间,可以不输入值 course(课程表)

其约束如下: (1)课程号(cno)不能有重复的 (2)课程名(cname)非空 (三)针对学生课程数据库查询 (1)查询全体学生的学号与姓名。 (2)查询全体学生的姓名、学号、所在系,并用别名显示出结果。 (3)查询全体学生的详细记录。 (4)查全体学生的姓名及其出生年份。 (5)查询学校中有哪些系。

(6)查询选修了课程的学生学号。 (7)查询所有年龄在20岁以下的学生姓名及其年龄。 (8)查询年龄在20~23岁(包括20岁和23岁)之间的学生的姓名、系别和年龄。 (9)查询年龄不在20~23岁之间的学生姓名、系别和年龄。 (10)查询信息系、数学系和计算机科学系生的姓名和性别。 (11)查询既不是信息系、数学系,也不是计算机科学系的学生的姓名和性别。 (12)查询所有姓刘学生的姓名、学号和性别。

(13)查询学号为2009011的学生的详细情况。(具体的学号值根据表中数据确定) (14)查询姓“欧阳”且全名为三个汉字的学生姓名 (15)查询名字中第2个字为“晨”字的学生的姓名和学号 (16)查询所有不姓刘的学生姓名。 (17)查询sql课程的课程号和学分。 (18)查询以"DB_"开头,且倒数第3个字符为 i的课程的详细情况。 (19)查询缺少成绩的学生的学号和相应的课程号。

第三章 SQL语言练习题和答案

第三章SQL语言 一、选择题 1. SQL语言是(B )的语言,容易学习。 A.过程化 B. 非过程化 C.格式化 D. 导航式 2. SQL语言的数据操纵语句包括SELECT、INSERT、UPDATE、DELETE等。其中最重要的,也是使用最频繁的语句是(A)。 A. SELECT B. INSERT C. UPDATE D. DELETE 3. 在视图上不能完成的操作是()。 A. 更新视图 B. 查询 C. 在视图上定义新的表 D. 在视图上定义新的视图 4. SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,其中,CREATE、DROP、ALTER语句是实现哪种功能()。 A. 数据查询 B. 数据操纵 C. 数据定义 D. 数据控制 5. SQL语言中,删除一个视图的命令是()。 A.DELETE B.DROP C.CLEAR D.REMOVE 6. 在SQL语言中的视图VIEW是数据库的()。 A. 外模式 B. 模式 C. 内模式 D. 存储模式 7. 下列的SQL语句中,()不是数据定义语句。 A. CREATE TABLE B. DROP VIEW C. CREATE VIEW D. GRANT 8. 若要撤销数据库中已经存在的表S,可用()。 A. DELETE TABLE S B. DELETE S C. DROP TABLE S D. DROP S 9. 若要在基本表S中增加一列CN(课程名),可用()。 A.ADD TABLE S(CN CHAR(8)) B.ADD TABLE S ALTER(CN CHAR(8)) C.ALTER TABLE S ADD(CN CHAR(8)) D.ALTER TABLE S (ADD CN CHAR(8)) 10. 学生关系模式S(S#,Sname,Sex,Age),S的属性分别表示学生的学号、姓名、性别、年龄。要在表S中删除一个属性“年龄”,可选用的SQL语句是()。 A. DELETE Age from S B. ALTER TABLE S DROP Age C. UPDATE S Age D. ALTER TABLE S ‘Age’ 11. 有关系S(S#,SNAME,SAGE),C(C#,CNAME),SC(S#,C#,GRADE)。其中S#是学生号,SNAME是学生姓名,SAGE是学生年龄,C#是课程号,CNAME是课程名称。要查询选修“ACCESS”课的年龄不小于20的全体学生姓名的SQL语句是SELECT SNAME FROM S,C,SC WHERE子句。这里的WHERE子句的内容是()。

SQL考试试题

MySql考试题 姓名:________ 成绩:________ 一、选择题(40分) 1.SQL 指的是?C (A) Strong Question Language (B) Structured Question Language (C) Structured Query Language 2.哪条SQL 语句用于更新数据库中的数据?C (A)MODIFY (B)SA VE AS (C)UPDATE (D)SA VE 3.哪条SQL 语句用于删除数据库中的数据?B (A)COLLAPSE (B)DELETE (C)REMOVE 4.哪条SQL 语句用于在数据库中插入新的数据?D (A) INSERT NEW (B)ADD RECORD (C)ADD NEW (D)INSERT INTO 5.通过SQL,您如何从"Persons" 表中选取"FirstName" 列?B (A)SELECT Persons.FirstName (B)SELECT FirstName FROM Persons (C)EXTRACT FirstName FROM Persons 6.通过SQL,您如何从"Persons" 表中选取所有的列?C (A)SELECT [all] FROM Persons (B)SELECT Persons (C)SELECT * FROM Persons (D)SELECT *.Persons 7.通过SQL,您如何从"Persons" 表中选取"FirstName" 列的值等于"Peter" 的所有记录?D (A)SELECT [all] FROM Persons WHERE FirstName='Peter' (B)SELECT * FROM Persons WHERE FirstName LIKE 'Peter' (C)SELECT [all] FROM Persons WHERE FirstName LIKE 'Peter' (D)SELECT * FROM Persons WHERE FirstName='Peter' 8.通过SQL,您如何从"Persons" 表中选取"FirstName" 列的值以"a" 开头 的所有记录?A (A)SELECT * FROM Persons WHERE FirstName LIKE 'a%' (B)SELECT * FROM Persons WHERE FirstName='a' (C)SELECT * FROM Persons WHERE FirstName LIKE '%a' (D)SELECT * FROM Persons WHERE FirstName='%a%' 9.哪个SQL 关键词用于对结果集进行排序?D (A)ORDER (B)SORT BY (C)SORT (D)ORDER BY 10.通过SQL,您如何向"Persons" 表插入新的记录?C (A)INSERT ('Jimmy', 'Jackson') INTO Persons (B)INSERT V ALUES ('Jimmy', 'Jackson') INTO Persons (C)INSERT INTO Persons V ALUES ('Jimmy', 'Jackson') 11.以下聚合函数求数据总和的是( B ) A.MAX B.SUM C.COUNT D.A VG 12.SELECT语句的完整语法较复杂,但至少包括的部分是( A ) A.仅SELECT B.SELECT,FROM C.SELECT,GROUP D.SELECT,INTO 13.SQL语句中的条件用以下哪一项来表达( C ) A.THEN B.WHILE C.WHERE D.IF 14.以下能够删除一列的是( B )

SQL复习题答案

SQL Server数据库应用管理-习题集 说明:本习题集所涉及的数据库,名为Student,其数据表有3个,分别是学生(学号,,性别,年龄),课程(课号,课名,学分),选修(学号,课号,成绩)。 一、单项选择题 1.下列属于SQL Server系统数据库的是。 A.master B.Sysbase C.student D.Database 2.SQL Server中,数据库主数据文件扩展名为。 A.ldf B.mdf C.ndf D.dbf 3.SQL Server中,索引类型按结构划分,包括。 A.聚集索引和非聚集索引B.主索引和次索引C.单索引和复合索引D.索引和外索引4.SQL Server的数据定义语句是。定义:创建 A.CREATE,DROP,ALTER B.INSERT,UPDATE,DELETE C.SELECT,DELETE,UPDATE D.CREATE,GRANT,INSERT 5.下面的描述正确的是。 A.每个数据文件中可以有多个主数据文件 B.只允许有一个次数据文件。 C.一个数据库有主数据库文件即可。 D.一个数据库至少由一个主数据文件和一个日志文件组成。 6.下面字符串能与通配符表达式 ABC%a 进行匹配的是。 A. BCDEF B.A_BCD C. ABCDa D. ACBDE 7.下列属于数据库管理系统的是。 A.SQL Server 2005 B.Excel

C.Windows 2000 D.IE6 8.实体完整性要求主属性不能取空值,这一点通常是通过实现。A.定义外部键来保证 B.定义主键来保证 C.用户定义的完整性来保证 D.关系系统自动保证 9.SQL Server的数据操纵命令是。 A.SELECT,INSERT,UPDATE,DELETE B.CREATE,INSERT,UPDATE,DELETE C.GRANT,CREATE,REVOKE D.SELECT,CREATE,DROP,ALTER 10.下面的描述错误的是。 A. 每个数据文件中有且只有一个主数据文件 B.可以有多个次数据文件。 C.一个数据库有主数据库文件即可。 D.一个数据库至少由主数据文件和日志文件组成。 11.对于查询语句的结果,有时会出现重复的数据行,可以使用以下哪个关键字可消去重复记录行。 A. Only B. Select C. Distinct D. Order by 12.下列说法中正确的是。 A.SQL 中局部变量可以不声明就使用 B.SQL 中全局变量必须先声明再使用 C.SQL 中所有变量都必须先声明后使用 D.SQL 中只有局部变量先声明后使用;全局变量是由系统提供的用户不能自己建立。 13.下面对索引的相关描述正确的是:。 A. 经常被查询的列不适合建索引。

SQL SERVER 2000用户sa 登录失败的解决办法

SQL SERVER 2000用户sa 登录失败的解决办法 一.控制面板-》服务-》MS SQL SERVER-》登陆--》本地系统帐户--》重新启动MS SQL SERVER 用windows验证登陆查询分析器--》执行sp_password null,sa新密码,'sa' 二."无法连接到服务器,用户xxx登陆失败" 该错误产生的原因是由于SQL Server使用了"仅Windows"的身份验证方式, 因此用户无法使用SQL Server的登录帐户(如sa )进行连接.解决方法如下所示: 1.在服务器端使用企业管理器,并且选择"使用Windows 身份验证"连接上SQL Server 操作步骤: 在企业管理器中 --右键你的服务器实例(就是那个有绿色图标的) --编辑SQL Server注册属性 --选择"使用windows身份验证" --选择"使用SQL Server身份验证" --登录名输入:sa,密码输入sa的密码 --确定 2.设置允许SQL Server身份登录 操作步骤: 在企业管理器中 --展开"SQL Server组",鼠标右键点击SQL Server服务器的名称 --选择"属性" --再选择"安全性"选项卡 --在"身份验证"下,选择"SQL Server和Windows ". --确定,并重新启动SQL Server服务. 在以上解决方法中,如果在第 1 步中使用"使用Windows 身份验证"连接SQL Server 失败, 那就通过修改注册表来解决此问题: 1.点击"开始"-"运行",输入regedit,回车进入注册表编辑器 2.依次展开注册表项,浏览到以下注册表键: [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer]

(SQLServer)考试试题及答案

2013年(下)全国信息技术水平考试数据库应用系统设计技术水平证书 (SQL Server)考试试卷 第一大题:单选题(30 分) 1. (1分) 数据模型的三要素不包括()。 (A) 数据结构(B) 数据操作(C) 数据完整性约 束(D) 数据恢复 2. (1分) 数据的存储结构与数据逻辑结构之间的独立性称为数据的 ()。 (A) 结构独立性(B) 物理独立性(C) 逻辑独立 性(D) 分布独立性 3. (1分) 如果对于实体集A中的每一个实体,实体集B中可有多个实体与之联 系;反之,对于实体集B中的每一个实体,实体集A中也可有多个实体与之联系。则称实体集A与B具有()。 (A) 1:1联系(B) 1:n联系(C) n:m联 系(D) 多种联系 4. (1分) 当对关系R和S使用自然联接时,一般要求R和S至少含有一个共同的()。 (A) 元组(B) 关键字(C) 记 录(D) 属性 5. (1分) 若关系模式R(A,B,C,D,E)上的函数依赖集F={AB->C,A->D,A->E},为了满足BCNF,可以将R分解为()。 (A) R1(A,B,C,D) R2(A,E) (B) R1(A,B,C) R2(A,D,E) (C) R1(A,B,C) R2(D,E) (D) R1(A,B) R2(A,C,D,E) 6. (1分) SQL语言查询一次的结果是一个()。 (A) 元组(B) 表(C) 属性(D) 数据

库 7. (1分) 在关系模式R(U,F)中,如果X→Y,且存在X的真子集X1,使X1→Y,则称函数依赖X→Y为()。 (A) 平凡函数依赖 (B) 部分函数依赖 (C) 完全 函数依赖 (D) 传递函数依赖 8 . (1分) 在Transact-SQL中,下列命令能让程序完全跳出循环的是( )。 (A) CASE (B) WAIT (C) BREAK (D) CONTINU E 9 . (1 分) 在Transact-SQL中,下列选项不属于数值型数据类型的是( )。 (A) NUMERIC (B) DECIMAL (C) INTEGER (D) DATE 10. (1分) 下列选项中,可以正确表达姓“张”的通配符是( )。 (A) 张 _ (B) 张 % (C) 张 ^ (D) 张& 1 1. (1 分) 下列聚合函数中正确的是( )。 (A) SUM (*) (B) MAX (*) (C) COUNT (*) (D) AVG (*) 12. (1 分) 如果某一列的数据类型是FLOAT,则不允许对该列使用的函数是( )。 (A) SUM (B) ABS (C) LEFT (D) ROUND 13 . (1 分 ) 在SQL的SELECT语句中,与投影运算对应的子句是( )。 (A) SELECT (B) FROM (C) WHERE (D) GROU P BY 14. (1 分) 在SQL语言中,给表起别名应使用( )。 (A) AS (B) RENAME (C) SET (D) FOR 15. (1分) 在SELECT语句中使用GROUP BY SNO时,SNO必须() 。 (A) 在WHERE中出现 (B) 在FROM中出现

SQL SERVER

SQL SERVER,打开企业管理器 1.创建数据库 在树形结构上打开节点: Microsoft SQL Servers -> (local)(Windows NT) -> 数据库 在数据库上右键-> 新建数据库-> 输入数据库名Management -> 确定此后在数据文件夹下多个了个名叫Management的数据库 2.创建表 创建表: 打开Management数据库的节点 点击表 在右则窗口里显示出很多系统表 然后在右则窗口空白处右键-> 新建表 打开建表视图 在列名与数据类型里填上 stud_id int stud_accounts varchar(20) stud_password varchar(40) stud_name varchar(20) stud_dept varchar(10) stud_job varchar(10) stud_time varchar(20) 在stud_id上建立主键,自增 保存 填上表名:system 这只是纸面上 如果有需求可以远程操作帮你看看 至于界面功能 这里一两句话也说不清楚地

1 create database stuDB 2 on primary -- 默认就属于primary文件组,可省略 3 ( 4/*--数据文件的具体描述--*/ 5 name='stuDB_data', -- 主数据文件的逻辑名称 6 filename='D:\stuDB_data.mdf', -- 主数据文件的物理名称 7 size=5mb, --主数据文件的初始大小 8 maxsize=100mb, -- 主数据文件增长的最大值 9 filegrowth=15%--主数据文件的增长率 10 ) 11 log on 12 ( 13/*--日志文件的具体描述,各参数含义同上--*/ 14 name='stuDB_log', 15 filename='D:\stuDB_log.ldf', 16 size=2mb, 17 filegrowth=1mb 18 ) 那么如何删除这个数据库呢,SQL Server将数据库的清单存放在master系统数据库的sysdatabases表中,只需要查看该表是否存在于该数据库中就可以 了,语句如下: use master -- 设置当前数据库为master,以便访问sysdatabases表 go if exists(select * from sysdatabases where name='stuDB') drop database stuDB go 创建表和删除表的SQL语句如下: use StuDB go if exists(select * from sysobjects where name='stuMarks') drop table stuMarks create table stuMarks ( ExamNo int identity(1,1) primary key, stuNo char(6) not null, writtenExam int not null, LabExam int not null

SQL考试试题及答案1

1 、SQL语言允许使用通配符进行字符串匹配的操作,其中‘%’可以表示()D A. 零个字符 B. 1个字符 C. 多个字符 D. 以上都可以 2 、关系数据库中空值(NULL)相当于( ) D A. 零(0) B. 空白 C. 零长度的字符串 D. 没有输入 3 、一个电视经销商在表Tvtype 中维护库存的Tvs信息,下述哪条语句能显示价格最昂贵的三种电视机的信息?( ) C A. select top3 cDiscription from Tvtype order by iprice asc B. select cDiscription from Tvtype where max(iprice)>3 C. select top3 cDiscription from Tvtype order by iprice desc D. select cDiscription max(iprice) from Tvtype order by iprice 1、销售数据库Sales中存在这样的三张表,按要求完成下列题目: 1.客户表Cus(CusNo, CusName, Address,Tel) 2.产品表Pro(ProNo,ProName,price,Stocks) 3.销售表ProOut(CusNo,ProNo,Quantity,SaleDate) 备注:客户编号(CusNo),姓名(CusName),地址(Address),电话(Tel),产品编号(ProNo)品名(ProName),单价(price),库存数量(Stocks), 销售日期(SaleDate),客户编号(CusNo),产品编号(ProNo),销售数量(Quantity) (1)查询销售总数量超过100的产品号。(5分) (2)查询购买了产品号“P0002”的客户编号、客户名和电话,查询结果按客户名降序排列。(6分) (3)查询客户“C004”在2015年购买的产品号、数量。(7分) (4)创建视图viewPro,要求显示每种产品的销售量和销售金额(7分) 用户答案: (1) select ProNo as 产品号 from ProOut where quantity>100

sql查询练习题含答案

--(1)查询20号部门的所有员工信息。 select * from emp e where e.deptno=20; --(2)查询奖金(COMM)高于工资(SAL)的员工信息。 select * from emp where comm>sal; --(3)查询奖金高于工资的20%的员工信息。 select * from emp where comm>sal*0.2; --(4)查询10号部门中工种为MANAGER和20号部门中工种为CLERK的员工的信息。select * from emp e where (e.deptno=10 and e.job='MANAGER') or (e.deptno=20 and e.job='CLERK') --(5)查询所有工种不是MANAGER和CLERK, --且工资大于或等于2000的员工的详细信息。 select * from emp where job not in('MANAGER','CLERK') and sal>=2000; --(6)查询有奖金的员工的不同工种。 select * from emp where comm is not null; --(7)查询所有员工工资和奖金的和。 select (e.sal+nvl(https://www.wendangku.net/doc/e34198720.html,m,0)) from emp e; --(8)查询没有奖金或奖金低于100的员工信息。 select * from emp where comm is null or comm<100; --(9)查询员工工龄大于或等于10年的员工信息。 select * from emp where (sysdate-hiredate)/365>=10; --(10)查询员工信息,要求以首字母大写的方式显示所有员工的姓名。 select initcap(ename) from emp; select upper(substr(ename,1,1))||lower(substr(ename,2)) from emp; --(11)显示所有员工的姓名、入职的年份和月份,按入职日期所在的月份排序, --若月份相同则按入职的年份排序。 select ename,to_char(hiredate,'yyyy') year,to_char(hiredate,'MM') month from emp order by month,year; --(12)查询在2月份入职的所有员工信息。 select * from emp where to_char(hiredate,'MM')='02' --(13)查询所有员工入职以来的工作期限,用“**年**月**日”的形式表示。 select e.ename,floor((sysdate-e.hiredate)/365)||'年' ||floor(mod((sysdate-e.hiredate),365)/30)||'月' ||floor(mod(mod((sysdate-e.hiredate),365),30))||'日' from emp e; --(14)查询从事同一种工作但不属于同一部门的员工信息。

sql练习题

一、选择题 1. 数据库的英文缩写是( ) A.DBS B.DBMS C.DBO D.DB 2.数据库系统的英文缩写是( ) A.DBS B.DBMS C.DBO D.DB 3.数据库管理系统的英文缩写是( ) A.DBS B.DBMS C.DBO D.DB 4.目前,商品化的数据库管理系统以( )为主. A.网状模型 B.层次模型 C.关系模型 D.其他模型 5.在SQL SERVER 2000的某工具中,可以创建查询和其他SQL 脚本,并针对SQL SERVER 2000数据库执行它他,这个工具是( ) A.服务管理器 B.查询分析器 C.企业管理器 D.服务器网络实用工具 6、下面语句中,哪种语句用来创建视图()? A、CREATE TABLE B、ALTE VIEW C、DROP VIEW D、CREATE VIEW 7、下面语句中,哪种语句用来修改视图()。 A、CREATE TABLE B、ALTE VIEW C、DROP VIEW D、CREATE VIEW 8、下面语句中,哪种语句用来删除视图()。 A、CREATE TABLE B、ALTE VIEW C、DROP VIEW D、CREATE VIEW 9、sp_help属于哪一种存储过程()? A、系统存储过程 B、用户定义存储过程 C、扩展存储过程 D、其他 10、下列哪些语句用于创建存储过程()? A、CREATE PROCEDURE B、CREATE TABLE C、DROP PROCEDURE D、其他 11、下列哪些语句用于删除存储过程()? A、CREATE PROCEDURE B、CREATE TABLE C、DROP PROCEDURE D、其他 12、下列哪些语句用于创建触发器()? A、CREATE PROCEDURE B、CREATE TRIGGER C、ALTER TRIGER D、DROP TRIGGER 13、下列哪些语句用于删除触发器()? A、CREATE PROCEDURE B、CREATE TRIGGER C、ALTER TRIGER D、DROP TRIGGER 14、每个数据库有且只能有一个()。 A、次数据文件 B、主数据文件 C、日志文件 D、其他

SQL Server 2008登录问题(错误 233和18456)解决方法

今天使用 SQLSERVER2008 先遇到了233 错误,后又遇到了 18456 ,从网上找到了解决方法,具体如下: 一、原 帖https://www.wendangku.net/doc/e34198720.html,/luckcq@yeah/blog/static/1717477072011322102075 36/ 问题:已成功与服务器建立连接,但是在登录过程中发生错取。(provider:共享内存提供程序,error:0-管道的另一端上无任何进程。)(Microsoft SQL Server,错误:233) 解决方法:打开‘程序’-‘所有程序’-‘Microsoft SQL Server 2008 ’-‘配置工具’-‘SQL Server 配置管理器’,在弹出的窗体中,找到‘SQL Server 2008 网络配置’,把‘MSSQLSERVER的协议’下的“Named Pipes”和“TCP/IP”启动,然后重新启动Microsoft SQL Server 2008就可以了。 二、原帖https://www.wendangku.net/doc/e34198720.html,/qishuangquan/article/details/6024767 问题: SQLSERVER2008 18456错误 我是这么解决的: 1、以windows验证模式进入数据库管理器。

第二步:右击sa,选择属性:

在常规选项卡中,重新填写密码和确认密码(改成个好记的)。把强制实施密码策略去掉。 第三步:点击状态选项卡:勾选授予和启用。然后确定 第四步:右击实例名称(就是下图画红线的部分),选择属性。

第五步:点安全性,确认选择了SQL SERVER 和Windows身份验证模式。 第六步:重启SQLSERVER服务(重要)。 最后,如果数据服务器打开开了防火墙,请增加访问规则,添加TCP1433端口的

sql考试题及答案

sql考试题及答案 【篇一:sql试题及答案】 题(在每个小题四个备选答案中选出一个正确答案,填在题末的括号中)(本大题共10小题,每小题2分,总计20分) 1. ()是位于用户与操作系统之间的一层数据管理软件,它属于系统软件,它为用户或应用程序提供访问数据库的方法。数据库在建立、使用和维护时由其统一管理、统一控制。 a.dbms b.db c.dbs d.dba 2. 下列四项中,不属于sql2005实用程序的是()。 a.对象资源管理器 b.查询分析器 c.服务管理器 d.媒体播放器 3. sql server安装程序创建4个系统数据库,下列哪个不是()系统数据库。 a. master b. model c. pub d. msdb 4. 下列哪个不是sql 数据库文件的后缀。 a..mdf b..ldf c..tif d..ndf 5. sql语言允许使用通配符进行字符串匹配的*作,其中?%?可以表示() a.零个字符 b.1个字符串 c. 多个字符串 d. 以上都是 6. sql语言中,条件年龄 between 15 and 35表示年龄在15至35之间,且( )。 a.包括15岁和35岁 b.不包括15岁和35岁 c.包括15岁但不包括35岁 d.包括35岁但不包括15岁 7. sql的视图是从()中导出的。 a. 基本表 b. 视图 c. 基本表或视图 d. 数据库 8. 在sql语言中,建立存储过程的命令是() a、create procedure b、create rule c、create dure d、create file 9. sql语言中,删除表中数据的命令是( )。 a. delete b. drop

数据库sql练习题

use test /* 问题及描述: --1.学生表 Student(S#,Sname,Sage,Ssex) --S# 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别--2.课程表 Course(C#,Cname,T#) --C# --课程编号,Cname 课程名称,T# 教师编号 --3.教师表 Teacher(T#,Tname) --T# 教师编号,Tname 教师姓名 --4.成绩表 SC(S#,C#,score) --S# 学生编号,C# 课程编号,score 分数 select * from Student select * from Course select * from Teacher select * from SC */ --创建测试数据 create table Student(S# varchar(10),Sname nvarchar(10),Sage datetime,Ssex nvarchar(10)) insert into Student values('01', N'赵雷','1990-01-01', N'男') insert into Student values('02', N'钱电','1990-12-21', N'男') insert into Student values('03', N'孙风','1990-05-20', N'男') insert into Student values('04', N'李云','1990-08-06', N'男') insert into Student values('05', N'周梅','1991-12-01', N'女') insert into Student values('06', N'吴兰','1992-03-01', N'女') insert into Student values('07', N'郑竹','1989-07-01', N'女') insert into Student values('08', N'王菊','1990-01-20', N'女') create table Course(C# varchar(10),Cname nvarchar(10),T# varchar(10)) insert into Course values('01', N'语文','02') insert into Course values('02', N'数学','01') insert into Course values('03', N'英语','03') create table Teacher(T# varchar(10),Tname nvarchar(10)) insert into Teacher values('01', N'张三') insert into Teacher values('02', N'李四') insert into Teacher values('03', N'王五') create table SC(S# varchar(10),C# varchar(10),score decimal(18,1)) insert into SC values('01','01', 80) insert into SC values('01','02', 90) insert into SC values('01','03', 99) insert into SC values('02','01', 70) insert into SC values('02','02', 60) insert into SC values('02','03', 80)

SQL练习题复习课程

例题 1、写出一条Sql语句:取出表A中第31到第40记录(Mysql) select * from A limit 30, 10 MS-SQLServer 解1:select top 10 * from A where id not in (select top 30 id from A) 解2:select top 10 * from A where id > (select max(id) from (select top 30 id from A )as A) 解3:select * from (select *, Row_Number() OVER (ORDER BY id asc) rowid FROM A) as A where rowid between 31 and 40 Oracle select * from (select A.*, row_number() over (order by id asc) rank FROM A) where rank >=31 AND rank<=40; 2、用一条SQL语句查询出每门课都大于80分的学生姓名 name kecheng fenshu 张三语文81 张三数学75 李四语文76 李四数学90 王五语文81 王五数学100 王五英语90

A: select distinct name from table where name not in (select distinct name from tabl e where fenshu<=80) select name from table group by name having min(fenshu)>80 3、学生表如下: 自动编号学号姓名课程编号课程名称分数 12005001张三0001数学69 22005002李四0001数学89 32005001张三0001数学69 删除除了自动编号不同,其他都相同的学生冗余信息 A: delete tablename where自动编号not in(select min(自动编号) from tablename group by学号,姓名,课程编号,课程名称,分数) 4、请用SQL语句实现: 从TestDB 数据表中查询出所有月份的发生额都比101 科目相应月份的发生额高的科目。请注意:TestDB 中有很多科目,都有1 -12 月份的发生额。 AccID :科目代码,Occmonth :发生额月份,DebitOccur :发生额。 数据库名:JcyAudit ,数据集:Select * from TestDB 答:select a.* from TestDB a ,(select Occmonth,max(DebitOccur) Debit101ccur from TestDB where AccID='101' gro up by Occmonth) b where a.Occmonth=b.Occmonth and a.DebitOccur>b.Debit101ccur

sql数据库期末考试题及答案

A.sysdatabases B.Syscolu mns C.Sysobjects D.Syslogs 2.在存在下列关键字的SQL语句中,不可能出现 Where子句的是(D )。 A.Update B.Delete C.I nsert D.Alter 3.在查询语句的 Where子句中,如果出现了" age Between 30 and 40 ” ,这个表达式等同于( A )。 A.age>=30 and age<=40 B.age>=30 or age<=40 C.age>30 and age<40 D.age>30 or age<40 4.如果要在一张管理职工工资的表中限制工资的输入范围,应使用( D )约束。 A.PDRIMARY KEY B.FOREIGN KEY C.unique D.check 5.记录数据库事务操作信息的文件是(D )。 A.数据文件 B.索引文件 C.辅助数据文件 D.日志文件 6.要查询XSH数据库CP表中产品名含有“冰箱”的产品情况,可用( C)命令。

A.SELECT * FROM CP WHERE产品名称 LIKE '冰箱’

B.SELECT * FROM XSH WHERE产品名称 LIKE '冰箱' C.SELECT * FROM CP WHERE产品名称 LIKE ' %冰箱 % D.SELECT * FROM CP WHERE产品名称='冰箱’ 7.储蓄所有多个储户,储户能够在多个储蓄所存取款,储蓄所与储户之间是( D )。 A.一对一的联系 B.一对多的联系 C.多对一的联系 D.多对多的联系 8.SQL的聚集函数 COUNT SUM AVG MAX MIN不允许出现在查询语句的(D)子句之中。 A.SELECT B.HAVING C.GROUP BY…HAVING D.WHERE 9.列值为空值(NULL,则说明这一列(C)。 A.数值为0 B.数值为空格 C.数值是未知的 D.不存在 10.数据库的数据一般存放在(D )中。 A.内存 B.CPU C.寄存器 D.磁盘 二、判断题(共10道试题,共50分。) 1.如果定义视图的FROM?句包括多张表,并且视图中列来自多张表,则不能用DML语句 通过视图操纵数据。B

SQL SERVER练习题及答案学习资料

S Q L S E R V E R练习题 及答案

题目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 S WHERE [S#] IN( SELECT [S#] FROM C,SC WHERE C.[C#]=SC.[C#] AND CN=N\'税收基础\') 2. 使用标准SQL嵌套语句查询选修课程编号为’C2’的学员姓名和所属单位 --实现代码: SELECT S.SN,S.SD FROM S,SC WHERE S.[S#]=SC.[S#] AND SC.[C#]=\'C2\' 3. 使用标准SQL嵌套语句查询不选修课程编号为’C5’的学员姓名和所属单位--实现代码: SELECT SN,SD FROM S WHERE [S#] NOT IN( SELECT [S#] FROM SC WHERE [C#]=\'C5\') 4. 使用标准SQL嵌套语句查询选修全部课程的学员姓名和所属单位 --实现代码: SELECT SN,SD FROM S

WHERE [S#] IN( SELECT [S#] FROM SC RIGHT JOIN C ON SC.[C#]=C.[C#] GROUP BY [S#] HAVING COUNT(*)=COUNT([S#])) 5. 查询选修了课程的学员人数 --实现代码: SELECT 学员人数=COUNT(DISTINCT [S#]) FROM SC 6. 查询选修课程超过5门的学员学号和所属单位 --实现代码: SELECT SN,SD FROM S WHERE [S#] IN( SELECT [S#] FROM SC GROUP BY [S#] HAVING COUNT(DISTINCT [C#])>5) 题目2 问题描述: 本题用到下面三个关系表: CARD 借书卡。 CNO 卡号,NAME 姓名,CLASS 班级 BOOKS 图书。 BNO 书号,BNAME 书名,AUTHOR 作者,PRICE 单价,QUANTITY 库存册数 BORROW 借书记录。 CNO 借书卡号,BNO 书号,RDATE 还书日期 备注:限定每人每种书只能借一本;库存册数随借书、还书而改变。 要求实现如下15个处理: 1.写出建立BORROW表的SQL语句,要求定义主码完整性约束和引用完整性约束。

SQL SERVER 2008匿名登录实现

注意:首先设置报表的数据源:将OverwriteDataSources设置为True。 1. 找到两个Web.config文件中的如下代码: 替换成: 2. 找到rsreportserver.config文件中的如下代码: true 替换成: true

3. 把文件Microsoft.Samples.ReportingServices.AnonymousSecurity.dll放到C:\Program Files\Microsoft SQL Server\MSRS10.MSSQLSERVER\Reporting Services\ReportServer\bin目录下(注意:目录视具体安装情况而定) 4. 找到rsreportserver.config文件中的如下代码: 替换成: 5. 找到文件rssrvpolicy.config中的如下代码:

相关文档