SQL复习题 (2)
sql语句考试题
1. 查询操作1.1 基础查询从表"employees" 中选择所有员工的姓名和工资。
sqlCopy codeSELECT name, salaryFROM employees;1.2 条件查询从表"products" 中选择价格在100 到200 之间的产品。
sqlCopy codeSELECT *FROM productsWHERE price BETWEEN 100 AND 200;2. 更新操作2.1 更新记录将员工"John" 的工资增加到5000。
sqlCopy codeUPDATE employeesSET salary = 5000WHERE name = 'John';3. 插入操作3.1 插入记录向表"customers" 中插入一条新记录,包含客户姓名为"Alice",电话为"555-1234"。
sqlCopy codeINSERT INTO customers (name, phone)VALUES ('Alice', '555-1234');4. 删除操作4.1 删除记录删除表"orders" 中订单编号为1001 的记录。
sqlCopy codeDELETE FROM ordersWHERE order_id = 1001;5. 聚合函数5.1 计算平均值计算表"sales" 中产品销售数量的平均值。
sqlCopy codeSELECT AVG(quantity)FROM sales;6. 联结操作6.1 内连接从"orders" 和"customers" 表中选择订单号、订单日期和客户姓名。
sqlCopy codeSELECT orders.order_id, orders.order_date, FROM ordersJOIN customers ON orders.customer_id = customers.customer_id;以上只是一些基础的SQL 语句示例,实际的考试问题可能涉及更复杂的查询、联结、子查询等操作。
SQL基础知识考核试题_V2.0
SQL基础知识考核试题考试时间:30分钟姓名:___________ 成绩:___________一、单选题(共8题,每题5分)1.使用SQL命令将教师表teacher中工资salary字段的值增加200,应该使用的命令是(D )。
A)Replace salary with salary+200B) Update teacher salary with salary+200C) Update set salary with salary+200D) Update teacher set salary=salary+2002.使用sql语句进行分组检索时,为了去掉不满足条件的分组,应当(B )。
A)使用WHERE子句B)在GROUP BY后面使用HA VING 子句C)先使用WHERE子句,再使用HA VING 子句D)先使用HA VING 子句,再使用WHERE子句3.从货物定单数据表(order)中查询出其中定单金额(order_price)在1000和5000之间的定单的详细信息,并按照定单金额(order_price)降序排列。
正确的语句是(B )。
A) a) Select * from order where [order_price] between 1000 and 5000order by [order_price] ASCB) b) Select * from order where [order_price] between 1000 and 5000order by [order_price] DESCC) c) Select * from order where 1000<[order_price]<5000 order by [order_price] ASCD) d) Select * from order where 1000<[order_price]<5000 order by [order_price] DESC4.表的两种相关约束是? (C)A)主键和索引B)外键和索引C)主键和外键D)内键和外键5.在oracle中下列哪个表名是不允许的(D)。
数据库技术复习题_二_填空题附答案
数据库技术试题二、填空题1. 一个类可以从直接的或间接的祖先中继承所有属性和方法。
采用这个方法提高了软件的共享性。
2. 用树型结构表示实体类型及实体间联系的数据模型称为层次模型。
3. 关系数据库的关系演算语言是以集合操作为基础的DML语言。
4. 在函数信赖中,平凡的函数信赖根据Armstrong推理规则中的自反律就可推出。
5. 分布式数据库中定义数据分片时,必须满足三个条件:完备性条件、重构条件和不相交条件。
6. DB并发操作通常会带来三类问题,它们是丢失更新、不一致分析和读脏数据。
7. 事务必须具有的四个性质是:原子性、一致性、隔离性和持久性。
8. 分布式数据库系统中透明性层次越高,应用程序的编写越简单。
9. 在有泛化/细化联系的对象类型之间,较低层的对象类型称为子类型。
10.目前数据库领域中最常用的数据模型有层次模型, 、网状模型, 、关系模型、面向对象模型。
11.数据管理技术经历了程序管理阶段、文件管理阶段、数据库系统管理阶段三个阶段。
12.SQL语言集数据查询、数据操纵、、数据定义和数据控制功能于一体。
13.数据库系统采用的三级模式结构为外模式、、模式、模式。
14.两个实体型之间的联系类型有一对一联系(1:1)、一对多联系(1:n)、多对多(m:n)三类。
15.数据库中专门的关系运算包括选择、投影、连接、除法。
16.满足第一式(1NF)的关系模式要求不包含重复组的关系。
17.如何构造出一个合适的数据逻辑结构是逻辑结构设计主要解决的问题。
18. 当数据库被破坏后,如果事先保存了日志文件和数据库的副本,就有可能恢复数据库。
19. 并发控制操作的主要方法是采用封锁机制,其类型有②排它锁(或X 锁) ③共享锁(或S 锁)。
20.在关系模式R(S,SN,D)和K(D,,NM)中,R的主码是S,K的主码是D,则D在R中称为外键。
21.对于函数依赖X→Y,如果Y是X的子集,则称X→Y为非平凡函数依赖。
数据库SQL第二章习题
第二章数据库设计和ER模型一、单项选择题(一)同步练习1.在一个ER模型中,有三个不同的实体集和3个不同的二元联系,其中有一个1一对一联系,一个多对多的联系,根据ER模型转换成关系模型的规则,转换成关系的数目是()。
A.3 B. 4C.5 D. 62.增强的ER模型中,子类与超类之间存在着()。
A.相容性 B.一致性C.继承性 D.完整性3.在数据库设计中,用ER模型图来描述信息结构但不涉及信息在计算机中的表示,他属于数据库设计的()阶段。
A.需求分析 B. 概念设计C.逻辑设计 D. 物理设计4.数据库逻辑设计结构的主要任务是()。
A.建立ER图和说明书 B.创建数据库说明C.建立数据流图 D.把数据送入数据库5.下列不属于数据库逻辑设计阶段应考虑的问题是()。
A.概念模式B.存取方法C.处理要求D.DBMS特性6.设计数据库时首先考虑的是()。
A.数据库应用系统结构B.DBMS结构C.数据库的概念结构D.数据库的控制结构7.下列不属于需求分析阶段工作的是()。
A.分析用户活动B.建立ER图C.建立数据字典D.建立数据流图8.数据流图是在数据库()阶段完成的。
A.逻辑设计B.物理设计C.需求分析D.概念设计9.在关系数据库设计中,设计关系模式是()的任务。
A.需求分析B.概念设计C.逻辑设计D.物理设计10.一个M:N:P的联系可以转化成()个关系模式。
A.3 B.2C.1 D.011.当局部ER图合并成全局ER图时可能出现冲突,不属于合并冲突的是()。
A.属性冲突B.语法冲突C.结构冲突D.命名冲突12.ER图中的联系可以与()个实体有关。
A.0 B.1C.1或多D.多(二)试题09011.学校里规定,一个教师最多可讲授3门课程,最少必须讲授l门课程;每门课程最多5个教师讲授,最少需要一个教师讲授,则教师与课程的基数分别为()A.(1,3),(1,5)B.(3,1),(5,1)C.(1,5),(1,3)D.(5,1),(3,1)08101.教师实体中有教师号、姓名、部门、任教时间、教龄等属性,其中教龄是一个()A.派生属性B.多值属性C.复合属性D.NULL属性08102.对关系的描述不正确...的是()A.关系是一个集合B.关系是一张二维表C.关系可以嵌套定义D.关系中的元组次序可交换07101.设计数据库时,应该首先设计数据库的()A.应用系统结构B.概念结构C.逻辑结构D.物理结构07011将ER模型转换成关系模型的过程属于数据库的()A.需求分析 B. 概念设计C.逻辑设计 D. 物理设计07012用二维表结构表达实体集的模型是()A.概念模型B.层次模型C.网状模型D.关系模型二、填空题(一)同步练习1.ER数据模型一般在数据库设计的__________阶段使用。
数据库原理复习练习题含答案(二)
数据库原理复习练习题含答案泰山学院信息科学技术学院计算机科学与技术专业数据库系统概论本科试卷(试卷共6页,答题时间120分钟)题号一二三四五总分统分人复核人得分得分阅卷人一、选择题(每小题2分,共20 分。
请将答案填在下面的表格内)题号 1 2 3 4 5 6 78910答案1、数据库管理系统是管理控制数据库的主要软件,简称()。
A、DBB、DBMSC、DBSD、DBT2、反映现实世界中实体及实体间联系的信息模型是()。
A.关系模型B.层次模型C.网状模型D.E-R模型3、关系数据模型的三个组成部分中,不包括()。
A. 数据结构B. 数据操作C.数据控制D. 完整性规则4、下列语句中,()不属于SQL中DML的语句A.SELECTB.CREATEC.INSERTD.DELETE5、一个关系模式属于3NF,是指( )。
A.每个非主属性都不传递依赖于主键B.主键唯一标识关系中的元组C.关系中的元组不能重复D.每个属性都是不可分解的6、设有关系R(A,B,C)R上的函数依赖集F={A→B,A→C}。
则关系R属于( )A.1NFB.2NFC.3NFD.BCNF7、DBMS在运行过程中建立的日志文件,主要用于对数据库的()A.安全性控制 B. 并发调度控制C.数据库恢复 D. 完整性控制8、设关系模式R是3NF模式,那么下列说明不正确的是()。
A.R必是2NF模式 B.R必定不是BCNFC.R可能不是BCNF D.R必定是1NF模式9、.若事务T1已经给数据Q加上了S锁,则事务T2对Q可以()A. 加S锁B. 加X锁C. 加S锁,或X锁D.不能再给Q加任何锁10、SQL提供的触发器机制是对数据库系统采取的一种()措施。
A、完整性控制B、安全性控制C、数据库恢复D、事务并发控制得分阅卷人二、填空题(每题2分,共20分)1、数据模型的三个组成部分是___________ 、数据操作和完整性约束规则。
2、事务故障包括事物内部故障、_________、介质故障、计算机病毒。
SQLServer数据库技术试题含答案(二)
SQLServer数据库技术试题含答案(二)SQLServer数据库技术试题含答案是很多IT人员关注的话题。
下面列出一些常见的试题及其答案,希望对大家有所帮助。
1. 如何在SQLServer中创建一个新的数据库?答:可以使用SQL Server Management Studio (SSMS)或Transact-SQL (T-SQL)语句来创建新的数据库。
在SSMS中,右键单击“数据库”文件夹,选择“新建数据库”,然后按照提示操作即可。
在T-SQL中,使用CREATE DATABASE语句来创建新的数据库。
2. 如何备份SQLServer数据库?答:可以使用SSMS或T-SQL语句来备份SQLServer数据库。
在SSMS 中,右键单击要备份的数据库,选择“任务”->“备份”,然后按照提示操作即可。
在T-SQL中,使用BACKUP DATABASE语句来备份数据库。
3. 如何还原SQLServer数据库?答:可以使用SSMS或T-SQL语句来还原SQLServer数据库。
在SSMS 中,右键单击要还原的数据库,选择“任务”->“还原”,然后按照提示操作即可。
在T-SQL中,使用RESTORE DATABASE语句来还原数据库。
4. 如何创建SQLServer数据库表?答:可以使用SSMS或T-SQL语句来创建SQLServer数据库表。
在SSMS中,右键单击要创建表的数据库,选择“新建查询”,然后输入CREATE TABLE语句来创建表。
在T-SQL中,使用CREATE TABLE语句来创建表。
5. 如何在SQLServer中插入数据?答:可以使用SSMS或T-SQL语句来插入数据。
在SSMS中,右键单击要插入数据的表,选择“编辑前100行”,然后在表格中插入数据。
在T-SQL中,使用INSERT INTO语句来插入数据。
6. 如何更新SQLServer数据库中的数据?答:可以使用SSMS或T-SQL语句来更新SQLServer数据库中的数据。
SQL笔试题2
1、查找整个职员表的所有内容。
select *from employees2、查看雇员名字(last_name)。
select last_namefrom employees3、查看雇员编号、名字和工种。
select last_name,job_id,employee_idfrom employees4、显示所有雇员的姓名、工资并将DEPARTMENT_ID显示为(Department_Id)。
select last_name,salary,DEPARTMENT_ID as Department_Idfrom employees5、查找在60号部门工作的雇员。
select last_name+first_name name,department_idfrom employeeswhere departmet_id=606、要求查找职位为SH_CLERK和SA_MAN的雇员姓名(last_name)。
select last_name job_idfrom employeeswhere job_id in (’sh_clerk’,’sa_man’)7、查找职位不是SH_CLERK和SA_MAN的雇员工种及姓名。
将姓名显示为(first_name+last_name命名为”Name”)。
select first_name+last_name Name, job_idfrom employeeswhere job_id not in (’sh_clerk’,’sa_man’)8、查找哪些雇员的工资在2000到3000之间select *from employeeswhere salary between 2000 and 30009、查找哪些雇员的工资不在3000到5000之间select *from employeeswhere salary not between 3000 and 500010、查找first_name以D开头,后面仅有三个字母的雇员信息。
SQL第二章习题答案程序.docx
“实验习题1:••自定义一个地址(address)数据类型exec sp_addtype address/varchar(80)7not nu『-创建两个自定义数据类型stu_name和postalcodeuse studentgoexec sp_addtype stu_nam巳,varchar(8)Tnu『exec sp_addtype postalcode,'charfGJ'/not nu『•■定义一个整形局部变暈和一个可变长字符型局部变暈并赋值declare @local_variable_int int,@local_variable_char nvarchar(9) select @local_variable」nt=40set @local_variable_char=,Welcome to changsha1select @local_variable」ntselect @local_variable_chargo-使用if语句求i到10 Z间的累加“和”并输出结果declare @sum int,@count intselect @sum=0/@count=lwhile @count<=10beginselect @sum=@sum+@countselect @count=@count+1endselect @sum,@count一编写计算n! (n=20)的T・SQL语句,并显示计算结果。
declare @a int,@b bigintset @a=lset @b=lwhile @a<=20beginset @b=@b*@aset @a=@a+l;endprint @b-输出字符串“School”中的每一个字符的ASCII值和字符declare @position int,@string char(6) set @position=2set @string='Schowhile @position<=datalength(@string)beginselect ascii(substring(@string,@position,l)) as asccode, char (ascii(substring(@string,@position,1)))as ascchar set @position二@position+lend••设置在9: 00进行一次查询操作use student gobeginwaitfor time '3:35' select * from Table_l end-设置在1分钟后进行一次查询操作use student gobeginwaitfor delay'00:01' select * from Table_2 end-1、简答题-(1) 1)、在方法上突破:由单一数据表发展为通过表的联接可以组合地处理数据・・2)、容易学习和维护:SQL语句简洁直观,一条语句可以取代常规程序语言的一段程序,容易维护・・3)、语言共享:不同数据库的程序设计语言会有所不同,但SQL在所有数据库中都是相同的・・4)、全面支持客户机/服务器结构:SQL是当今唯一已形成标准的数据库共享语言-(2)、局部变量名必须以标识符'@'开头,全局变量名必须以标识符'@@'开头。
SQl强化训练题二
原创:老二牛车教育SQL 强化训练题库二如果训练了五套题库后,能达到60分也不是很容易的哦数据库文件请到百度网盘下载:/s/1c0d9wek答案请在百度文库中找…..0:数据库还原 ---5分全部要求使用一条SQL 语句1:选取B 表中没有而A 表中有的数据,使用连接和子查询,exists 分别输出使用连接输出结果(): --1分 使用子查询输出结果(): --2分 使用exists 输出结果(): --2分2:给定表TradeInfo ,如下数据IDLastUpdateDate UserID1 2007-12-1 0:00:00 12 2007-12-2 0:00:00 13 2007-12-3 0:00:00 14 2008-3-1 0:00:00 25 2008-1-2 0:00:00 26 2008-1-3 0:00:00 2。
省略2-1:给定表TradeInfo 中两个字段ID ,LastUpdateDate ,ID 表示交易号,LastUPdatedate 表示交易时间,UserId 表示用户编号,请使用一句SQL 语句获得最近的交易号--5分2-1:给定表TradeInfo 中两个字段ID ,LastUpdateDate ,ID 表示交易号,LastUPdatedate 表示交易时间,UserId 表示用户编号,请使用一句SQL 语句获得每个用户最近的交易号的列表--5分3:假设一个出版社的数据库中有Books和Authors两个表,分别存储书籍信息和作者信息。
两个表的结构如下:Create table books (ID int, //书籍编号Author int , //作者编号Title varchar(100) //书名)Create table Authors(ID int, //作者编号Name varchar(100) //姓名)Authors books1)请写一句SQL,列出所有作者姓名和其所写书籍的名称。
大连理工大学20年秋季学期《SQL数据库系统及应用》在线作业2附参考答案
大连理工大学20年秋季学期《SQL数据库系统及应用》
在线作业2附参考答案
试卷总分:100 得分:100
一、单选题 (共 10 道试题,共 50 分)
1.在SQL的select语句中,如果要过滤结果中的重复行,可以在字段列表前面加上( )。
A.group
B.order
C.top
D.distinct
答案:D
2.在select语句中如果要对得到的结果中某个字段按降序处理,则使用( )参数。
A.asc
B.desc
C.between
D.and
答案:B
更多加微boge30619
3.查询学校员工工资信息时,结果按工资降序排列,正确的
是( )。
A.ORDER BY 工资
B.ORDER BY 工资 desc
C.ORDER BY 工资 asc
D.ORDER BY 工资 and
答案:B
4.当使用SQL语句进行分组检索时,为了按照一定的条件对分组后的数据进行筛选,应当( )。
A.在join后面使用between to子句
B.在group by后面使用having子句
C.在where后面使用order by子句
D.在join后面使用order by子句
答案:B
5.在SQL查询语句中,HAVING子句的作用是( )。
A.指出排序的范围
B.指出查询结果的最大值
C.指出分组查询的条件
D.指出创建数据表的字段
答案:C。
SQL (2)
第4章
1. 1.关系数据库中的表用来存储数据,并用表格的形式显示数据,
每一行称为记录。
2. 2.修改表中记录的操作包括插入、更新和删除。
3. 3.清空表中的记录,可以使用语句DELETE TABLE ,也可以使
用语句TRUNCATE TABLE,其中TRUNCATE TABLE速度更
快,并且使用更少的系统资源和事务日志资源。
第5章 1. 1.查询语句中的6个基本组成部分是SELECT子句、FROM子 句、WHERE子句、GROUP by子句、HAVING子句和ORDER BY子句。 2. 2.关键字BETWEEN…AND…的作用是指定搜索范围。 3. 3.关键字IN的作用是指定值得集合。 4. 4.多表连接的种类包括内连接、外连接、交叉连接和自连接。 5. 5.关键字ANY的作用是集合中任意值。 6. 6.关键字ALL的作用是集合中所有值。 7. 7.关键字EXISTS的作用是判断结果集合是否有记录。 8. 8.关键字UNION的作用是合并多个结果集。
D.GRANT
4. 项目开发需要经过几个阶段,绘制数据库的E-R图应该在()阶段进 行。
A. 需求分析 B. 概念模型设计 C. 详细设计 D. 代码编 写
5.关于SQL Server的注释类型以下说法正确的是()。
A. 单行注释以"--"开头
B. 单行注释以"**"开头
C. 多行注释以"-"开头,以"-"结束 D. 多行注释以"//"开头,
用的T-SQL语句是DROP TRIGGER。 4. DML触发器可以分为3种类型:INSERT、DELETE和UPDATE。 5. 后触发的触发器需要使用ALTER关键字说明。 6. 替代触发器需要使用INSTEAD OF 关键字说明。
2024年sql题库
综合练习题1.从关系中挑选出指定的属性组成新关系的运算称为()。
A.选择 B.互换 C.连接 D.投影2.在下列有关关系的陈述中,错误的是( )。
A.表中任意两行的值不能相同 B.表中任意两列的值不能相同C.行在表中的次序无关紧要D.列在表中的次序无关紧要3.在关系中,关系的键由( )。
A.多个任意属性组成 B.至多由一个属性组成C.一个或多个其值能唯一识别该关系中任何元组的属性组成D.以上都不是4. SQL Server中,数据库的主数据文献的扩展名是( )。
A. DBFB. LDF C.MDF D. NDF5.在数据库设计阶段中,下列属于概念设计阶段的描述工具的是( )。
A.ER图 B. PAD图 C.程序流程图 D.DFD图 6.数据库的并发操作会引起数据不一致的问题是 ( )。
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.怎样结构出一个适宜的关系模型是( )重要处理的问题。
A.需求分析阶段 B.概念设计阶段C.逻辑设计阶段 D.物理设计阶段12.若事务T对数据A加上S锁,则其他事务对数据A( B )A.可加X锁 B.可加S锁 C.可加X锁和S锁 D.不能加任何锁 13.一个关系中的主键不能取空值属于( )规则。
A.参考完整性B.实体完整性C.自定义完整性 D.约束 14.在视图上不能完成的操作是(C)A.更新视图B.查询C.在视图上定义新的基本表 D.在视图上定义新视图15.要确保数据库的数据独立性,需要修改的是( )A.三层模式之间的两种映射 B.模式与内模式 C.模式与外模式 D.三层模式16.若事务T对数据A加上X锁,则其他事务对数据A(D )A.可加X锁B.可加S锁C.可加X锁和S锁D.不能加任何锁17.下列说法正确的是( )A.存储过程在创建时即在服务器上进行编译B. 触发器不是存储过程C. 创建索引是为了简化查询操作D. 以上都不正确18.SQL语言中,下列哪个子句是对数据进行分组( C )A.order by B.having C.group by D.where19.数据库系统的三级模式是指( )。
sql练习与答案2
对以下题目请选择正确答案(每道题目有一个或多个正确的答案)。
针对每一道题目,所有答案都选对,则该题得分,否则不得分。
1. 数据库设计的最终目标不包括()。
(选择两项)BDA. 高效B. 满足范式要求C. 安全D. 表现设计者的技术实力E. 易用F. 便于将来扩展功能和容量2. 有关数据冗余说法错误的是()。
(选择一项)CA. 数据库中,数据存在副本的现象,就是数据冗余。
B. 通过分类存储,可以有效减少数据冗余,但是会增加数据查找的复杂性。
C. 在数据库设计阶段,一定要尽最大可能避免数据冗余,最好做到无数据冗余。
D. 数据冗余通常是由于数据库设计引起的。
3. 用于表示数据库实体之间的关系图是()。
AA. 实体关系图B. 数据模型图C. 实体分类图D. 以上都不是4. 假定有一个用户表,表中包含字段:userid (int)、username (varchar)、password(varchar)等,该表需要设置主键,以下说法正确的是()。
(选择两项)ABA. 如果不能有同时重复的username和password,那么username和password可以组合在一起作为主键。
B. 此表设计主键时,根据选择主键的最小性原则,最好采用userid作为主键。
C. 此表设计主键时,根据选择主键的最小性原则,最好采用username和password作为组合键。
D. 如果采用userid作为主键,那么在userid列输入的数值,允许为空。
5. 语句alter table userinfo add constraint uq_userid unique(userid)执行成功后,为userinfo表的()字段添加了()约束。
BA. userid 主键B. userid 唯一C. uq_userid 外键D. uq_userid 检查6. 运行如下T-SQL,结果返回包含()的记录集。
Acreate table scores(scoreid int identity(1,2),score numeric(4,2) not null,courseid int)insert int scores values(90.5,null);insert into scores values(78.234,2);select * from scores;A. 1 90.50 NULL3 78.23 2B. 1 78.23 2C. 1 90.50D. 1 90.502 78.23 27. 关于子查询,以下说法正确的是()。
SQL语言习题参考答案
第3章 SQL语言习题参考答案1.试述SQL语言的特点。
(85页)答:综合统一、高度非过程化、面向集合的操作方式、以同一种语法结构提供两种使用方式、语言简捷,易学易用。
2.试述SQL的定义功能。
(87页)答:SQL的数据定义功能包括定义表、定义视图和定义索引3.用SQL语句建立第二章习题5中的四个表。
S(SNO,SNAME,STATUS,CITY);P(PNO,PNAME,COLOR,WEIGHT);J(JNO,JNAME,CITY);SPJ(SNO,PNO,JNO,QTY);供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成:CREATE TABLE S(Sno C(2) UNIQUE,Sname C(6) ,Status N(2),City C(4))零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成:CREATE TABLE P(Pno C(2) UNIQUE,Pname C(6),COLOR C(2), WEIGHT I(2))工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、所在城市(CITY)组成:CREATE TABLE J(Jno C(2) UNlQUE,JNAME C(8), CITY C(4))供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成:CREATE TABLE SPJ(Sno C(2),Pno C(2),JNO C(2), QTY N(2))4.针对上题中建立的四个表试用SQL语言完成第二章习题5中的查询:(1)求供应工程J1零件的供应商号码SNO:SELECT DIST SNO FROM SPJ WHERE JNO=’J1’(2)求供应工程J1零件P1的供应商号码SNO:SELECT DIST SNO FROM SPJ WHERE JNO='J1' AND PNO='P1'(3)求供应工程J1零件为红色的供应商号码SNO:SELECT SNO FROM SPJ,P WHERE JNO='J1' AND = AND COLOR='红'(4)求没有使用天津供应商生产的红色零件的工程号JNO:SELECT DIST JNO FROM SPJ WHERE JNO NOT IN (SELE JNO FROM SPJ,P,S WHERE ='天津' AND COLOR='红' AND = AND =。
第五章 关系数据库标准语言SQL(2)
作业
课后作业
一、教材第五章课后习题 二、pdf第8章习题 pdf第
第五章 关系数据库标准语言SQL
预习
预习
第六章 视图和查询 1、视图和查询的创建方法 2、视图和查询在功能上的不同
第五章 关系数据库标准语言SQL
5.4 SQL的数据定义功能 SQL的数据定义;表名> ADD [PRIMARY KEY | UNIQUE <字 段名> TAG <索引标识>]
删除主索引
ALTER TABLE <表名> DROP PRIMARY KEY
第五章 关系数据库标准语言SQL
5.3 SQL的数据定义功能 SQL的数据定义功能
第五章 关系数据库标准语言SQL
8.3 SQL的数据定义功能 SQL的数据定义功能
5.4.1 创建表 <表名 (<字段名 表名> 字段名1> <类型>[(宽度 类型>[( CREATE TABLE <表名> (<字段名1> <类型>[(宽度 [,小数点位数])][,<字段名 <类型>[(宽度 小数点位数])][,<字段名2> 类型>[( [,小数点位数])][,<字段名2> <类型>[(宽度 [, 小数点位数] )]。。。。 。。。。) 小数点位数] )]。。。。) 例:创建sp1表,结构和sp表相同。 创建sp1表 结构和sp表相同。 sp1 sp表相同
写sql语句 常见题目
写sql语句常见题目写SQL语句是一个非常重要的技能,因为它允许你从数据库中检索、插入、更新和删除数据。
下面是一些常见的SQL题目:1. 选择查询(Select Queries)查询一个表中的所有列。
查询一个表中的特定列。
查询满足特定条件的行。
排序查询结果。
2. 插入查询(Insert Queries)插入一行数据到一个表中。
插入多行数据到一个表中。
3. 更新查询(Update Queries)更新表中的现有数据。
4. 删除查询(Delete Queries)从表中删除一行。
从表中删除多行。
删除整个表的数据。
5. 连接查询(Join Queries)内连接(INNER JOIN)。
左连接(LEFT JOIN)。
右连接(RIGHT JOIN)。
全外连接(FULL OUTER JOIN)。
6. 子查询(Subqueries)在SELECT语句中使用子查询。
在FROM语句中使用子查询。
7. 聚合函数(Aggregate Functions)COUNT() - 计算行数。
SUM() - 计算总和。
AVG() - 计算平均值。
MAX() - 找出最大值。
MIN() - 找出最小值。
8. 创建表(Table Creation)创建一个新表。
向表中添加新列。
9. 约束(Constraints)主键约束。
外键约束。
非空约束。
10. 视图(Views)创建视图。
更新视图中的数据。
2级计算机考试sql试题及答案
2级计算机考试sql试题及答案一、查询题1. 查询员工表中所有员工的姓名、工资和所在部门的名称。
SELECT e.姓名, e.工资, d.部门名称FROM 员工表 eJOIN 部门表 d ON e.部门ID = d.部门ID;2. 查询学生成绩表中数学成绩高于90分的学生的学号、姓名和数学成绩。
SELECT s.学号, s.姓名, sc.数学成绩FROM 学生成绩表 scJOIN 学生表 s ON sc.学号 = s.学号WHERE sc.数学成绩 > 90;3. 查询订单表中所有满足订单金额大于1000元且订单状态不为已取消的订单。
SELECT *FROM 订单表WHERE 订单金额 > 1000 AND 订单状态 <> '已取消';二、插入题1. 想要将新员工信息插入员工表,请写出相应的SQL语句。
INSERT INTO 员工表 (员工ID, 姓名, 部门ID, 工资) VALUES (123, '张三', 1, 5000);2. 想要将新订单信息插入订单表,请写出相应的SQL语句。
INSERT INTO 订单表 (订单ID, 订单日期, 订单金额, 订单状态) VALUES (456, '2021-01-01', 2000, '未完成');三、更新题1. 将员工表中工资低于3000元的员工的工资增加10%。
UPDATE 员工表SET 工资 = 工资 * 1.1WHERE 工资 < 3000;2. 将订单表中订单状态为已取消的订单状态更新为已关闭。
UPDATE 订单表SET 订单状态 = '已关闭'WHERE 订单状态 = '已取消';四、删除题1. 删除学生成绩表中数学成绩低于60分的记录。
DELETE FROM 学生成绩表WHERE 科目 = '数学' AND 成绩 < 60;2. 删除员工表中部门ID为5的所有员工。
SQL语言设计编程题(二)——职工_社团数据库
设计编程题1、设职工_社团数据库中有三个基本表:职工(职工号,姓名,性别,出生日期);社会团体(社团编号,社团名称,负责人,活动地点);参加社团(职工号,社团编号,参加日期)。
其中:(1)职工表的主关键字为职工号。
(2)社会团体表的主关键字为社团编号;外关键字为负责人,被参照表是职工表,参照对象为职工号。
(3)参加社团表的职工号和社团编号为主关键字;职工号为外关键字,其参照对象是职工表中的职工号;社团编号也是外关键字,其参照对象是社会团体表中的社团编号。
试用SQL语句表达下列操作:①定义职工表、社会团体表、参加社团表,并说明主关键字和参照关系。
②查找参加舞蹈表演队或篮球队的职工号和姓名。
③查找没有参加任何社会团体的职工情况。
④查找参加了全部团体的职工情况。
⑤查找参加了职工号为“zg001”的职工所参加的全部社会团体的职工号。
⑥统计每个社团参加人数。
⑦查找参加人数超过2人的社会团体的名称和负责人。
⑧统计参加人数最多的社会团体的名称和参加人数。
设计编程题答案①CREATE TABLE 职工(职工号CHAR(5),姓名CHAR(6),性别CHAR(2),出生日期DATETIME,PRIMARY KEY (职工号));CREATE TABLE 社会团体(社团编号CHAR(5),社团名称CHAR(15),负责人CHAR(6),活动地点CHAR(16),PRIMARY KEY(社团编号),FOREIGN KEY(负责人) REFERENCES 职工(职工号));CREATE TABLE 参加社团(职工号CHAR(5),社团编号CHAR(5),参加日期DATETIME,PRIMARY KEY(职工号,社团编号), FOREIGN KEY(职工号) REFERENCES 职工(职工号),FOREIGN KEY(社团编号) REFERENCES 社会团体(社团编号));②SELECT 职工号, 姓名FROM 职工WHERE 职工号IN(SELECT 职工号FROM 参加社团WHERE 社团编号IN(SELECT 社团编号FROM 社会团体WHERE 社团名称='舞蹈'OR社团名称='篮球';));③SELECT *FROM 职工WHERE 职工号NOT IN(SELECT 职工号FROM 参加社团);④SELECT 职工号, 姓名FROM 职工WHERE NOT EXISTS(SELECT *FROM 社会团体WHERE NOT EXISTS(SELECT *FROM 参加社团WHERE 社会团体.社团编号=参加社团.社团编号AND职工.职工号=参加社团.职工号));⑤SELECT 职工号FROM 职工WHERE NOT EXISTS(SELECT *FROM 参加社团参加1WHERE 参加1.职工号='zg001' AND NOT EXISTS(SELECT *FROM 参加社团参加2WHERE 参加2.社团编号=参加1.社团编号AND参加2.职工号=职工.职工号;))AND职工号<>'zg001';⑥SELECT 社团编号, COUNT(*) AS 参加人数FROM 参加社团GROUP BY 社团编号;⑦SELECT 社团名称, 负责人FROM 社会团体WHERE 社团编号IN(SELECT 社团编号FROM 参加社团GROUP BY 社团编号HAVING COUNT(*)>2);⑧SELECT 社会团体.社团名称, COUNT(参加社团.职工号) AS 参加人数FROM 社会团体, 参加社团WHERE 社会团体.社团编号)=参加社团.社团编号GROUP BY 社团名称, 社团编号HAVING COUNT(职工号)>=All(SELECT COUNT(职工号)FROM 参加社团GROUP BY 社团编号);。
数据库原理与应用教程期末考试试题与答案2
数据库原理与应用教程―SQL Server期末测试题与答案(二)一、填空题(每空1分,共10分)1.在信息世界中能唯一标识实体的属性集,称为________。
2.如果关系模式R 是1NF ,且每个非主属性________函数依赖于主键,那么称R 是第二范式的模式。
3.数据规范化的优点之一是能消除_____ ___和操作异常现象。
4.若关系A 有m 个属性,关系B 有n 个属性,则A×B 有________个属性。
5.关系代数运算中,专门的关系操作有:选择、投影、除和________。
6.关系中属性的取值范围称为属性的___________。
7.在SQL Server2005中,通配符只有在_________子句中才有意义,否则会被当作普通字符使用。
8.触发器也是一种存储过程,它主要通过事件进行触发而被执行,而存储过程可以通过 而被直接调用。
9.一般可以使用________命令来标识T-SQL 批处理的结束。
10.在索引命令中使用关键字CLUSTERED 表示将建立的是____________索引。
二、选择题(每小题1分,共20分)1.数据库的概念模型( )(A)依赖于计算机硬件和DBMS(B)独立于计算机硬件,依赖于DBMS(C)依赖于计算机硬件,独立于DBMS(D)独立于计算机硬件和DBMS2.假设某个E-R 图中有5个实体型、2个1∶M 联系和2个M ∶N 联系,则该E-R 图转换的关系模式个数至少是( )(A)5 (B)7 (C)8 (D)93.用二维表来表示实体及实体之间联系的数据模型称为( )(A)实体-联系模型 (B)层次模型(C)网状模型 (D)关系模型4.在学生关系:学生(学号,姓名,年龄,性别)中,想查询年龄小于20的学生的学号和姓名,则关系运算式应写成( )(A) )(20学生年龄<σ (B))学生(年龄学号,姓名)(20<∏σ(C) )(学生学号,姓名年龄)(20∏<σ (D)))((20学号,姓名学生年龄<σ5.在一个关系中,每个属性都是不可分解的,这个关系一定达到( )(A) 2NF (B)3NF (C)BCNF (D)1NF6.学生表中st(学号,姓名,性别,年龄),删除其中的“年龄”字段的SQL 语句是( )(A)ALTER TABLE st DROP 年龄(B)DROP 年龄FROM st(C)ALTER TABLE st DELETE年龄(D)DELETE年龄FROM st7.如果学生表st是使用以下SQL语句创建的:CREATE TABLE st (sno CHAR(4) not null,sn CHAR(8),sex CHAR(2),age INT);下面的SQL语句中可以正确执行的是()(A)INSERT INTO st(sno,sex,age) V ALUES (‘s9’,’男’,17)(B)INSERT INTO st(sn,sex,age) V ALUES(″李安齐″,″男″,20)(C)INSERT INTO st(sex,age)V ALUES(″男″,20)(D)INSERT INTO st(sno,sn)V ALUES(″s9″,″安齐″,16)8.撤销user1用户修改st表中的“姓名”字段的权限,应使用的SQL语句是()(A)REVOKE UPDATE(姓名) ON st TABLE FROM user1(B)REVOKE UPDA TE(姓名) ON TABLE st FROM user1(C)REVOKE MODIFY(姓名) ON st TABLE FROM user1(D)REVOKE MODIFY(姓名) ON TABLE st FROM user19.SQL Server 2005的四个系统数据库中记录系统的所有信息的是()(A)Master (B)Model (C)Msdb (D)Tempdb10.有这样一个数据表,学生(学号,姓名,年龄,省份),要想查询学生们所在省份的种类个数,以下SELECT语句正确的是()(A)SELECT COUNT(省份) FROM学生(B)SELECT COUNT(DISTINCT 省份) FROM学生(C)SELECT COUNT(学号) FROM学生(D)SELECT COUNT(学号) FROM学生GROUP BY省份11. 有这样一个数据表,职工(职工号,姓名,职务,工资),要想查询工资最高的职工号和姓名,以下SELECT语句正确的是()(A)SELECT职工号, 姓名FROM职工WHERE工资= MAX(工资)(B)SELECT职工号, 姓名FROM职工WHERE工资=(SELECT MAX(工资) FROM职工)(C)SELECT职工号, 姓名, 工资FROM职工WHERE工资=MAX(工资)(D)SELECT职工号, 姓名,MAX(工资) FROM职工WHERE工资=MAX(工资)12.要想用T-SQL语句从学生表中查询姓名中有“红”字的学生,条件表达式应写成()(A)姓名LIKE ‘%红%’ (B)姓名LIKE ‘%红’(C)姓名LIKE ‘%红-’(D)姓名LIKE ‘-红%’13.如果事务T获得了数据项Q上的共享锁,则T对Q()(A)只能读不能写(B)只能写不能读(C)既可读又可写(D)不能读不能写14.SQL语言具有数据操作功能,SQL语言的一次查询的结果是一个()(A)数据项(B)记录(C)元组(D)表15.SQL语言的标准库函数COUNT、SUM、A VG、MAX和MIN等,不允许...出现在下列哪个子句中()(A)SELECT (B)HA VING (C)GROUP…HA VING(D)WHERE16.现要在SC(S#,C#,G)表中查找缺少成绩(G)的学生学号(S#)和课程号(C#),下面SQL语句中WHERE子句的条件表达式应是:SELECT S#,C# FROM SCWHERE()(A)G=0 (B)G<=0 (C)G=NULL (D)G IS NULL17.关于视图以下说法正确的是()(A)不可以在其他视图上再建立视图(B)视图也是表,只不过存储基本表中的一部分数据(C)视图增强了数据的安全性(D)如果视图中的某列是从算术表达式派生而来,可以指定视图中每列的名称,也可以不指定18.不能激活触发器执行的事件是()(A)SELECT (B)UPDATE (C)INSFRT (D)DELETE19.对数据模式来说,采用三级模式的主要原因是()(A)把大模式分解成小模式,便于DBMS进行分级管理(B)解决程序与数据之间的数据独立性(C)便于应用程序从不同角度进行数据调用(D)便于提供数据的二级映象20.SQL语言中建立唯一性索引的命令是()(A)CREATE INDEX 索引名ON 基本表名(属性名)(B)CREATE INDEX UNIQUE索引名ON 基本表名(属性名)(C)CREATE UNIQUE INDEX索引名ON 基本表名(属性名)(D)CREATE DISTINCT INDEX索引名ON 基本表名(属性名)三、名词解释(每小题3分,共15分)1.数据模型2.函数依赖3.内模式4.触发器5.锁四、简答题(每小题5分,共25分)1.简述SQL Server的安全性机制。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
STUDENT(SNO,SNAME,SSEX,SBIRTHDAY,CLASS)
COURSE (CNO,CNAME,TNO)
SCORE (SNO ,CNO,DEGREE)
TEACHER (TNO,TNAME,TSEX,TBIRTHDAY,PROF,DEPART)查询选修“3-105”课程的成绩高于“109”号同学成绩的所有同学的记录。
1、查询score中选学一门以上课程的同学中分数为非最高分成绩的记录。
2、查询成绩高于学号为“109”、课程号为“3-105”的成绩的所有记录。
3、查询和学号为108的同学同年出生的所有学生的Sno、Sname和Sbirthday列。
4、查询“张旭“教师任课的学生成绩。
5、查询选修某课程的同学人数多于5人的教师姓名。
6、查询95033班和95031班全体学生的记录。
7、查询存在有85分以上成绩的课程Cno.
8、查询出“计算机系“教师所教课程的成绩表。
9、查询“计算机系”与“电子工程系“不同职称的教师的Tname和Prof。
10、查询所有教师和同学的name、sex和birthday.
11、查询所有“女”教师和“女”同学的name、sex和birthday.
12、查询成绩比该课程平均成绩低的同学的成绩表。
13、查询所有任课教师的Tname和Depart.
14、查询所有未讲课的教师的Tname和Depart.
15、查询至少有2名男生的班号。
16、查询Student表中不姓“王”的同学记录。
17、查询Student表中每个学生的姓名和年龄。
18、查询Student表中最大和最小的Sbirthday日期值。
19、以班号和年龄从大到小的顺序查询Student表中的全部记录。
20、查询出课程名称中含有“语言”一词的课程的所有信息。
21、查询出“C语言”课程成绩前5名的学生的学号、姓名和班级。
22、查询出各班级学生人数。
23、查询出“SQL Server”课程成绩高于张三同学此门课程成绩的学生的学号和姓名。
24、把course表中课程号为3的课程的学分修改为3。
25、在student表中查询年龄大于18的学生的所有信息,并按学号降序排列。
26、现有关系数据库如下:
数据库名:学生成绩数据库
学生信息表(学号char(6),姓名,性别,民族,身份证号)
课程信息表(课号char(6),名称)
成绩信息表(ID,学号,课号,分数)
用SQL语言实现下列功能的sql语句代码。
1、创建数据表[课程信息表]代码;
课程信息表(课号char(6),名称)
要求使用:主键(课号)、非空(名称)
2、创建数据表[学生信息表]代码;
学生信息表(学号char(6),姓名,性别,民族,身份证号)
要求使用:主键(学号)、默认(民族)、非空(民族,姓名)、唯一(身份证号)、检查(性别) 3、使用上题的表结构完成下列程序设计:
创建数据表[成绩信息表]SCORE;
SCORE(SNO,CNO,DEGREE)
要求使用:主键键(学号,课号)、检查(分数),外键(学号)参照学生表(课号)
参照课程表
4、创建视图[成绩信息表视图]的代码;
成绩信息表视图(学号,姓名,课号,课程名称,分数)
5、为student表创建存储过程QueryS,根据学生学号用OUTPUT参数返回该学生的名字和班级。
6、为student表创建一个名称为my_trig的触发器,当用户成功删除该表中的一条或多条记录时,触发器自动删除SC表中与之有关的记录。
(注:在创建触发器之前要判断是否有同名的触发器存在,若存在则删除之。
)
7、为student表创建存储过程QueryS,根据学生学号用OUTPUT参数返回该学生的名字和班级。
8、创建带参数的存储过程[某门课程高低均分]、执行该过程的代码
存储过程功能:查询某门课程的最高分、最低分、平均分;
执行该过程,查询所有修’专业英语’这门学生的最高分、最低分、平均分;9、设置一SQL身份验证的用户账户:登录名:U院长,密码:888,数据库用户名:U读者,权限:可查询查询本数据库中所有表、视图、内嵌表值函数的数据,执行所有的存储过程。
请写出账户、权限设置的T_SQL脚本。
10、为student表创建一个名称为my_trig的触发器,当用户成功删除该表中的一条或多条记录时,触发器自动删除SC表中与之有关的记录。
(注:在创建触发器之前要判断是否有同名的触发器存在,若存在则删除之。
)。