数据库测试答案answer
php_数据库面试题及答案(3篇)
第1篇1. 请简要介绍数据库的基本概念和分类。
答:数据库是按照数据结构来组织、存储和管理数据的仓库。
它包含一系列相互关联的数据集。
数据库分为关系型数据库和非关系型数据库两大类。
2. 什么是SQL?请列举几个常用的SQL语句。
答:SQL(Structured Query Language)是一种标准化的查询语言,用于管理关系型数据库。
常用的SQL语句包括:- SELECT:查询数据- INSERT:插入数据- UPDATE:更新数据- DELETE:删除数据- CREATE:创建数据库或表- DROP:删除数据库或表- ALTER:修改数据库或表结构3. 请解释以下SQL语句的含义:- SELECT FROM students WHERE age > 18;- INSERT INTO employees (name, age, salary) VALUES ('张三', 25, 5000);- UPDATE students SET age = 20 WHERE name = '李四';- DELETE FROM employees WHERE age = 30;答:- SELECT FROM students WHERE age > 18;:查询年龄大于18岁的学生信息。
- INSERT INTO employees (name, age, salary) VALUES ('张三', 25, 5000);向员工表插入一条记录,姓名为张三,年龄为25岁,薪资为5000元。
- UPDATE students SET age = 20 WHERE name = '李四';将姓名为李四的学生年龄修改为20岁。
- DELETE FROM employees WHERE age = 30;删除年龄为30岁的员工记录。
4. 什么是索引?请举例说明索引的作用。
数据库题库含参考答案
数据库题库含参考答案一、单选题(共98题,每题1分,共98分)1.在数据库应用系统生命周期模型中,规划与分析阶段的输出结果不包括()。
A、项目计划书B、需求规范说明书C、可行性分析报告D、系统范围与边界正确答案:B2.下列哪些属性不适合建立索引?()。
A、经常岀现在GROUP BY子句中的属性B、经常参与连接操作的属性C、经常出现在WHERE子句中的属性D、经常需要进行更新操作的属性正确答案:D3.下列属于数据仓库特点的是()。
A、一次处理的数据量小B、综合性和提炼性数据C、面向操作人员,支持日常操作D、重复性的、可预测的处理正确答案:B4.下述哪一个SQL语句用于实现数据存取的安全机制()。
A、COMMITB、ROLLBACKC、GRANTD、CREATE TABLE正确答案:C5.有教师表(教师号,姓名,职称.所在系)和授课表(教师号,课程号,授课学年,授课时数),同一门课程可由多个教师讲授,同一个教师也可讲授多门课程,査询从未被“教授”讲授过的课程的课程号,正确的语句是()。
A、SELECT课程号FROM授课表a JOIN教师表bON a 教师号=b.教师号WHERE职称!='教授'B、SELECT课程号FROM授课表a RIGHTOUTTER JOIN教师表bONa.教师号=b.教师号C、SELECT课程号FROM授课表WHERE课程号NOT IN (SELECT课程号FROM授课表a JOIN授课表b ON a 教师号=b.教师号WHERE职称!='教授')D、SELECT课程号FROM授课表WHERE课程号IN (SELECT课程号FROM授课表a JOIN授课表b ON a 教师号=b.教师号WHERE职称!=,教授,)正确答案:D6.下列有关范式的叙述中正确的是()。
A、如果关系模式RG 1NF,且R中主属性完全函数依赖于码,则R是2NFB、如果关系模式RG3NF, X、YCU,若X—Y,则R是BCNFC、如果关系模式ReBCNF,若X一一Y (Y4X)是平凡的多值依赖,则R 是4NFD、—个关系模式如果属于4NF,则一定属于BCNF;反之不成立正确答案:D7.下列说法正确的是( )。
数据库习题与答案
数据库习题与答案一、选择题1、以下哪个不是数据库的特征?A.共享性B.安全性C.完整性D.随意性答案:D.随意性解释:数据库具有共享性、安全性、完整性等特征,但随意性并不是数据库的特征。
2、下列哪个是关系型数据库的优点?A.易于使用和管理B.支持复杂查询C.可以存储大量数据D.以上都是答案:D.以上都是解释:关系型数据库具有易于使用和管理、支持复杂查询、可以存储大量数据等优点。
3、SQL是下列哪个数据库系统的标准语言?A. OracleB. MySQLC. SQL ServerD. DB2答案:A. Oracle解释:SQL是Oracle数据库系统的标准语言。
4、下列哪个是数据库系统的组成部分?A.数据库B.操作系统C.应用程序D.以上都是答案:D.以上都是解释:数据库系统由数据库、操作系统、应用程序等组成。
5、下列哪个是对数据库系统的正确描述?A.数据库系统可以取代文件系统B.数据库系统与文件系统完全不同C.数据库系统是一个层次结构D.数据库系统是一个客户-服务器结构答案:D.数据库系统是一个客户-服务器结构解释:数据库系统是一个客户-服务器结构,它由多个组成部分组成,包括数据库、操作系统、应用程序等。
与文件系统相比,数据库系统可以提供更高效、更可靠的数据存储和管理。
二、填空题1、________是指数据的结构化程度。
关系型数据库中的数据是按照__________组织的。
答案:数据结构化;表格形式解释:数据的结构化程度是指数据之间关系的清晰程度和组织方式。
在关系型数据库中,数据是按照表格形式组织的,每个表格由行和列组成,行表示记录,列表示字段。
2、SQL语言中,可以使用_________关键字来创建一个新的表格。
____________用于向表格中插入数据。
答案:CREATE TABLE;INSERT INTO解释:在SQL语言中,可以使用CREATE TABLE关键字来创建一个新的表格。
INSERT INTO用于向表格中插入数据。
数据库answer
第1章数据库概述1.文件管理方式在管理数据方面有哪些缺陷?答:编写应用程序不方便,数据冗余不可避免,应用程序依赖性,不支持对文件的并发访问,数据间联系弱,难以按不同用户的愿望表示数据和无安全控制功能。
2.与文件管理相比,数据库管理有哪些优点?答:将相互关联的数据集成在一起,具有较少的数据冗余,程序与数据相互独立,保证数据的安全可靠,最大限度地保证数据的正确性,数据可以共享并能保证数据的一致性。
3.比较文件管理和数据库管理数据的主要区别。
答:数据库系统与文件系统相比实际上是在应用程序和存储数据的数据库之间增加了一个系统软件,即数据库管理系统,使得以前在应用程序中由开发人员实现的很多繁琐的操作和功能,都可以由这个系统软件完成,这样应用程序不再需要关心数据的存储方式,而且数据的存储方式的变化也不再影响应用程序。
而在文件系统中,应用程序和数据的存储是紧密相关的,数据的存储方式的任何变化都会影响到应用程序,因此不利于应用程序的维护。
4.数据库管理方式中,应用程序是否需要关心数据的存储位置和结构?为什么?答:不需要。
因为在数据库系统中,数据的存储位置以及存储结构保存在数据库管理系统中,从数据到物理存储位置的转换是由数据库管理系统自动完成的。
5.在数据库系统中,数据库的作用是什么?答:在数据库系统中,数据库是存放数据的场所。
6.在数据库系统中,应用程序可以不通过数据库管理系统而直接访问数据库文件吗?答:不能。
7.数据独立性指的是什么?它能带来哪些好处?答:数据独立性指的是数据的逻辑独立性和物理独立性。
逻辑独立性带来的好处是当表达现实世界信息的逻辑结构发生变化时,可以不影响应用程序;物理独立性带来的好处是当数据的存储结构发生变化时,可以不影响数据的逻辑组织结构,从而也不影响应用程序。
8.数据库系统由哪几部分组成,每一部分在数据库系统中的作用大致是什么?答:数据库系统由三个主要部分组成,即数据库、数据库管理系统和应用程序。
数据库面试题目及答案
数据库面试题目及答案数据库面试是程序员求职过程中必不可少的一部分。
在面试中,面试官通常会提出各种与数据库相关的问题,以考察面试者对数据库的理解和应用能力。
本文将介绍一些常见的数据库面试题目,并提供相应的答案,希望能帮助读者在面试中取得好成绩。
1. 什么是数据库?答案:数据库是存储和组织数据的集合。
它是一个可以持久存储的数据集合,可以通过各种操作进行管理和访问。
2. 什么是关系型数据库?答案:关系型数据库是基于关系模型的数据库管理系统。
它使用表(关系)来组织数据,并通过主键和外键等约束保持表之间的关联性。
3. 什么是主键?答案:主键是一个唯一标识符,用于唯一地标识关系中的每一行。
它可以是一个或多个列,并且不允许有重复的值。
4. 什么是外键?答案:外键是关系模型中用来建立表之间关系的一种机制。
它用于在一个表中引用另一个表的主键。
5. 什么是索引?答案:索引是为了提高数据库查询性能而创建的数据结构。
它可以加快数据的查找速度,类似于书籍的目录。
6. 请解释一下数据库范式?答案:数据库范式是创建和规范化数据库表的一种方法。
它分为不同的级别(第一范式、第二范式、第三范式等),每个级别都有一些规则,用于减少数据冗余和提高数据的完整性。
7. 什么是事务?答案:事务是一系列数据库操作的集合,它们要么全部执行成功,要么全部回滚。
事务具有四个特性,即原子性、一致性、隔离性和持久性(ACID)。
8. 请解释一下数据库的ACID原则?答案:ACID是指数据库事务的四个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。
原子性指事务要么全部执行成功,要么全部回滚;一致性指事务在执行之前和之后数据库的状态必须保持一致;隔离性指多个事务之间应该相互隔离,互不干扰;持久性指一旦事务提交,其结果将永久保存在数据库中。
9. 什么是数据库连接池?答案:数据库连接池是一种管理和复用数据库连接的机制。
计算机二级考试数据库原理题库及答案
计算机二级考试数据库原理题库及答案一、选择题1.1 单选题1. 在SQL中,修改表结构的命令是____。
A. SELECTB. INSERTC. UPDATED. ALTER2. 数据库系统在其内部采用的三级模式是____。
A. 概念模式、内模式、外模式B. 外模式、模式、内模式C. 外模式、模式、概念模式D. 模式、内模式、概念模式3. 关系数据库管理系统中,____负责解释SQL语句,实现对数据库的基本操作。
A. 数据库管理系统B. 数据库管理员C. 编译器D. 解释器4. 在SQL中,删除表结构的命令是____。
A. SELECTB. INSERTC. UPDATED. DROP5. 数据库系统的核心是____。
A. 数据库B. 数据库管理系统C. 数据库管理员D. 应用程序1.2 多选题1. 关系数据库管理系统中,能够用来对数据表中数据进行操作的是____。
A. SELECTB. INSERTC. UPDATED. ALL2. 数据库管理系统提供的数据控制功能有____。
A. 数据的安全性B. 数据的完整性C. 数据的并发控制D. 以上都是二、填空题1. 在SQL中,删除表中数据的命令是____。
ANSWER: DELETE2. 数据库管理系统(DBMS)的主要功能是____。
ANSWER: 管理数据库,包括数据的存储、查询、更新和维护3. 关系数据库中,____用于描述表中数据的逻辑结构。
ANSWER: 模式4. 在SQL中,可以使用____子句来限制查询结果的数量。
ANSWER: LIMIT5. 数据库系统中的数据 independence指的是____。
ANSWER: 数据的物理层和概念层的分离三、判断题1. 关系数据库中,一个表可以有多个主键。
ANSWER: 错误2. SQL语言可以用来创建、查询、更新和删除数据库中的数据。
ANSWER: 正确3. 数据库系统中的数据一致性指的是数据的准确性和可靠性。
数据库题库答案
第二套试卷1.List four significant differences between a file-processing system and a DBMS. Answer:1)两种系统都包含数据收集和一套存取那些数据的程序,DBMS允许物理上的和逻辑上的数据存取,而文件处理系统只能进行物理上的存取。
2 _DBMS能够通过授权所有程序访问一个物理数据块,来减少数据的冗余,而在文件处理系统中,一个程序所写的数据不能被另一个程序读取。
3 )DBMS允许灵活的对数据进行访问,而文件处理系统则只允许预定的数据访问。
4 )DBMS允许多个用户同时访问同一数据,而文件处理系统则只允许一个或多个程序同时访问不同的数据,只有当两个程序对文件进行只读操作时,才允许并发地访问该文件。
2. Why would you choose a database system instead of simply storing data in operating system files? When would it make sense not to use a database system?1。
使用DBMS存储数据并通过WEB浏览器浏览数据。
通过WEB可存取的表单界面来产生查询请示,并使用诸如HTML的标记语言将查询结果格式化,从而便于在浏览器中显示!2。
一个原因为DBMS是一个复杂的软件,并为如处理多个并发请求之类的工作载荷进行了优化,因此,它的性能可能对一些如具有严格实时约束的应用程序或带有一些定义明确的关键操作并且为这些操作必须编写有效的客户代码的应用程序之类的不是很适合。
另一个原因是某些应用程序可能需要以查询语言不能支持的开工来操纵数据。
3.What is logical data independence and why is it important?逻辑数据独立性是指用户的应用程序与数据库的逻辑结构是相互独立的,即,当数据的逻辑结构改变时,用户程序也可以不变。
数据库认证考试完整答案
(一)使用SQL Server联机丛书,打开SQL Server联机丛书,用SQL Server 联机丛书的搜索功能搜索出【样图1-02A】显示的内容。
(二)企业管理器的使用,打开企业管理器后,新建一个IP地址为192.168.2.2的SQL Server注册,操作结果如【样图1-02B】所示(三)查询分析器的使用,打开查询分析器,用内置的日期和时间函数返回输入日期是几月,输入日期为:1998年3月12日(注意日期的书写格式)。
select day(‘1998-3-12’)(四)服务管理器的使用,打开服务管理器,停止SQL Server服务。
(五)【说明】1、在SQL SERVER查询分析器下运行:USE masterIF EXISTS (SELECT name FROM master.dbo.sysdatabases WHERE name = N’exam’)DROP DATABASE [exam]GO2、将“C:\GATDoc”文件夹下的“exam_sqlbak_Data.MDF”和“test_log.LDF”两个数据文件考到指定目录下。
3、EXEC sp_attach_db @dbname = N’exam’,@filename1 = N’C:\Microsoft SQLServer\MSSQL\Data\exam_sqlbak_Data.MDF’,@filename2 = N’C:\Microsoft SQL Server\MSSQL\Data\test_log.LDF’在@filename1和@filename2中的目录是两个数据的存放目录,将这2个数据库文件拷贝到SQL的数据库存放目录中。
【操作要求】打开SQL Server企业管理器,打开查询分析器,分别按照下面9个问题进行操作,并按照要求把操作结果(扩展名为.sql的文件)保存在“C:\考生”文件夹中。
exam_sqlbak数据库介绍:这是一个模拟电子商务,网上直销的数据,主要销售计算机配件。
数据库考试题及答案
数据库考试题及答案Introduction:A database is an organized collection of data that can be stored, accessed, and managed. It plays a crucial role in various industries, including finance, healthcare, and e-commerce. In this article, we will explore a set of database exam questions and provide their corresponding answers.1. Define a relational database and explain its components.A relational database is a type of database that organizes data into tables, which consist of rows and columns. Its components include:- Tables: They represent entities or concepts in the real world and consist of rows (tuples) and columns (attributes).- Rows (tuples): Each row represents a single record or instance of an entity, and it contains values for each attribute.- Columns (attributes): They define the characteristics or properties of an entity, such as name, age, or address.- Keys: They are used to uniquely identify each row in a table. Primary keys are unique identifiers for the table, while foreign keys establish relationships between tables.- Relationships: They define associations between tables, such as one-to-one, one-to-many, or many-to-many relationships.2. What is the purpose of SQL and explain its main components.SQL (Structured Query Language) is a programming language used for managing and manipulating relational databases. Its main components include:- Data Definition Language (DDL): It is used to define and manage the structure of the database objects, such as creating tables, altering table structures, and deleting tables.- Data Manipulation Language (DML): It is used to manipulate the data within the tables, including inserting, retrieving, updating, and deleting records.- Data Control Language (DCL): It deals with user access and security, including granting and revoking permissions, and managing user roles and privileges.- Transaction Control Language (TCL): It is used to manage the database transactions, including committing or rolling back changes.3. Describe the ACID properties in the context of database transactions.ACID stands for Atomicity, Consistency, Isolation, and Durability, which are the four properties that ensure reliability and integrity in database transactions.- Atomicity: It guarantees that a transaction is treated as a single unit of work, where all its operations are completed successfully, or none of them are executed at all. If any operation fails, the transaction is rolled back, and the database is left unchanged.- Consistency: It ensures that a transaction brings the database from one consistent state to another. The integrity constraints, such as primary key or foreign key constraints, are maintained during the transaction.- Isolation: It ensures that each transaction is executed independently and in isolation from other concurrent transactions. Each transaction should not be affected by other transactions until it is completed.- Durability: It ensures that once a transaction is committed, its changes are permanent and will survive any subsequent system failures. The changes are recorded in a transaction log and can be recovered in case of a crash or restart.4. Differentiate between a primary key and a foreign key.A primary key is a unique identifier for a table that enforces the entity's integrity and ensures data uniqueness. It uniquely identifies each record in the table and is used to establish relationships between tables. Only one primary key can be defined per table.A foreign key, on the other hand, establishes a relationship between two tables. It refers to the primary key of another table and helps maintain referential integrity. A foreign key can have duplicate values and allows for multiple occurrences in a table, unlike a primary key.5. Explain the difference between SQL's JOIN and UNION operators.JOIN and UNION are two different SQL operators used for combining data from multiple tables or queries.- JOIN: It is used to retrieve data by combining rows from two or more tables based on related columns. There are different types of JOIN operations, such as INNER JOIN, LEFT JOIN, RIGHT JOIN, and FULL JOIN, each specifying a different way to combine the tables based on matching or non-matching rows.- UNION: It is used to combine the result sets of two or more SELECT statements into a single result set. The columns and data types of the SELECT statements being combined must match. UNION removes duplicate rows from the final result set, while UNION ALL retains all rows, including duplicates.Conclusion:Understanding the fundamental concepts of databases and their components is crucial for successful data management and manipulation. This article covered a range of exam questions related to databases, providing clear explanations and answers. By grasping these concepts, individuals can enhance their knowledge and skills in utilizing databases effectively.。
数据库正确答案表
33.从“订单”表中删除签订日期为2004年1月10日之前(含)的订单记录,正确的sql语句是?
34.在Terdataz的Day-Time interval数据类型家族中,哪种数据类型可以被转换成其他任一一种数据类型?
35.在TeraData中哪种数据类型支持多值压缩mvc?
36.获取距当前日期300天之后的月份的sql语句?
25.sql中空值的操作哪些是对的
26.模式查找‘-a%'下面那个结果是可能的?
a。aili b。Bal c。bba d cca
27.sql中涉及通配符的操作范围最大的是?
28.创建sql语句如下create Table userInfo(userId int identity(-1,1)哪里出错
29.在sql语句中,与表达式”仓库号 not in (“wh1”,“wh2”)功能相同的表达式的是
30.下面有关having字句描错误的事?
31.返回当前时间3小时30分钟后的小时数()?
32.取消用户Rorel对数据库Database除SELECT权限外其他的权限哪个语句正确?
5.是否可以在interval值类型字段上,使用Extract函数(*不)
6.RANK函数可以使用在Period类型的字段上(*不可以)
7.Row_Number函数可以使用在字符型或者数值型的字段上(可以)
8.当对查询结果进行排序时,order by语句并不是必须的(错)
9.Qualify和Group by 关键词为互斥的()
选择题
10.在数据库中,实体-联系模型是一种什么模型(概念数据模型)
11.关系数据模型通常有哪三部分组成
12.sql数据库文件的后缀有哪些
数据库考试试题及答案
数据库考试试题及答案一、选择题(每题2分,共20分)1. 以下哪个不是关系数据库的基本数据结构?A. 表B. 视图C. 索引D. 图答案:D2. 在SQL中,哪个关键字用于删除表中的数据?A. UPDATEB. DELETEC. INSERTD. SELECT答案:B3. 以下哪个数据类型通常用于存储日期的数据?A. INTB. VARCHARC. DATED. TIME答案:C4. 以下哪个操作可以用来查询两个表中的数据?A. UNIONB. INTERSECTC. EXCEPTD. ALL答案:A5. 在数据库中,哪个概念用于描述表与表之间的关系?A. 索引B. 约束C. 字段D. 外键答案:D6. 以下哪个函数可以用于计算两个数值的和?A. AVG()B. SUM()C. MAX()D. MIN()答案:B7. 在SQL中,哪个关键字用于创建索引?A. CREATE INDEXB. DROP INDEXC. ALTER INDEXD. INDEX答案:A8. 以下哪个SQL语句用于创建一个新表?A. SELECT INTOB. CREATE TABLEC. INSERT INTOD. UPDATE TABLE答案:B9. 在数据库中,哪个概念用于限制表中数据的唯一性?A. 主键B. 外键C. 索引D. 约束答案:D10. 以下哪个函数可以用于将字符串转换为大写?A. UPPER()B. LOWER()C. CONCAT()D. SUBSTRING()答案:A二、填空题(每题2分,共20分)1. 在SQL中,用于定义表结构的关键词是______。
答案:CREATE TABLE2. 关系数据库中,______用于保证数据的完整性和一致性。
答案:约束3. SQL中的______语句用于删除表中的数据。
答案:DELETE4. 数据库中的______用于描述表与表之间的关系。
答案:外键5. SQL中的______函数用于计算两个数值的和。
数据库面试问题及答案
数据库面试问题及答案数据库面试问题有哪些呢?哪些在提名在数据库面试过程中经常遇到呢?下面小编就给大家整理了数据库面试问题及答案,我们一起来看看吧!数据库面试问题及答案Student(stuId,stuName,stuAge,stuSex) 学生表stuId:学号;stuName:学生姓名;stuAge:学生年龄;stuSex:学生性别Course(courseId,courseName,teacherId) 课程表courseId,课程编号;courseName:课程名字;teacherId:教师编号Scores(stuId,courseId,score) 成绩表stuId:学号;courseId,课程编号;score:成绩Teacher(teacherId,teacherName) 教师表teacherId:教师编号; teacherName:教师名字问题:1、查询“001”课程比“002”课程成绩高的所有学生的学号;select a.stuId from (select stuId,score from Scores where courseId='001') a,(select stuId,scorefrom Scores where courseId='002') bwhere a.score>b.score and a.stuId=b.stuId;2、查询平均成绩大于60分的同学的学号和平均成绩;select stuId,avg(score)from Scoresgroup by stuId having avg(score) >60;3、查询所有同学的学号、姓名、选课数、总成绩;selectStudent.stuId,Student.stuName,count(Scores.courseId),sum(scor e)from Student left Outer join Scores on Student.stuId=Scores.stuIdgroup by Student.stuId,stuName4、查询姓“李”的老师的个数;select count(distinct(teacherName))from Teacherwhere teacherName like '李%';5、查询没学过“叶平”老师课的同学的学号、姓名;select Student.stuId,Student.stuNamefrom Studentwhere stuId not in (select distinct( Scores.stuId) from Scores,Course,Teacher where Scores.courseId=Course.courseId and Teacher.teacherId=Course.teacherId and Teacher.teacherName='叶平');6、查询学过“001”并且也学过编号“002”课程的同学的学号、姓名;select Student.stuId,Student.stuName from Student,Scores where Student.stuId=Scores.stuId and Scores.courseId='001'and exists( Select * from Scores as Scores_2 where Scores_2.stuId=Scores.stuId and Scores_2.courseId='002');7、查询学过“叶平”老师所教的所有课的同学的学号、姓名;select stuId,stuNamefrom Studentwhere stuId in (select stuId from Scores ,Course ,Teacher where Scores.courseId=Course.courseId and Teacher.teacherId=Course.teacherId and Teacher.teacherName='叶平' group by stuId having count(Scores.courseId)=(select count(courseId) from Course,T eacher where Teacher.teacherId=Course.teacherId and teacherName='叶平'));8、查询课程编号“002”的成绩比课程编号“001”课程低的所有同学的学号、姓名;Select stuId,stuName from (select Student.stuId,Student.stuName,score ,(select score from Scores Scores_2 where Scores_2.stuId=Student.stuId and Scores_2.courseId='002') score2from Student,Scores where Student.stuId=Scores.stuId and courseId='001') S_2 where score2<score;9、查询所有课程成绩小于60分的同学的学号、姓名;select stuId,stuNamefrom Studentwhere stuId not in (select Student.stuId from Student,Scores where S.stuId=Scores.stuId and score>60);10、查询没有学全所有课的同学的学号、姓名;select Student.stuId,Student.stuNamefrom Student,Scoreswhere Student.stuId=Scores.stuId group by Student.stuId,Student.stuName having count(courseId) <(select count(courseId) from Course);11、查询至少有一门课与学号为“1001”的同学所学相同的同学的学号和姓名;select stuId,stuName from Student,Scores where Student.stuId=Scores.stuId and courseId in select courseId from Scores where stuId='1001';12、查询至少学过学号为“001”同学所有一门课的其他同学学号和姓名;select distinct Scores.stuId,stuNamefrom Student,Scoreswhere Student.stuId=Scores.stuId and courseId in (select courseId from Scores where stuId='001');13、把“Scores”表中“叶平”老师教的课的成绩都更改为此课程的平均成绩;Scores set score=(select avg(Scores_2.score)from Scores Scores_2where Scores_2.courseId=Scores.courseId ) from Course,Teacher where Course.courseId=Scores.courseId and Course.teacherId=Teacher.teacherId and Teacher.teacherName='叶平');14、查询和“1002”号的同学学习的课程完全相同的其他同学学号和姓名;select stuId from Scores where courseId in (select courseId from Scores where stuId='1002')group by stuId having count(*)=(select count(*) from Scores where stuId='1002');15、删除学习“叶平”老师课的Scores表记录;Delect Scoresfrom course ,Teacherwhere Course.courseId=Scores.courseId and Course.teacherId= Teacher.teacherId and teacherName='叶平';16、向Scores表中插入一些记录,这些记录要求符合以下条件:没有上过编号“003”课程的同学学号、2、号课的平均成绩;Insert Scores select stuId,'002',(Select avg(score)from Scores where courseId='002') from Student where stuId not in (Select stuId from Scores where courseId='002');17、按平均成绩从高到低显示所有学生的“数据库”、“企业管理”、“英语”三门的课程成绩,按如下形式显示:学生ID,,数据库,企业管理,英语,有效课程数,有效平均分SELECT stuId as 学生ID,(SELECT score FROM Scores WHERE Scores.stuId=t.stuId AND courseId='004') AS 数据库,(SELECT score FROM Scores WHERE Scores.stuId=t.stuId AND courseId='001') AS 企业管理,(SELECT score FROM Scores WHERE Scores.stuId=t.stuId AND courseId='006') AS 英语,COUNT(*) AS 有效课程数, AVG(t.score) AS 平均成绩FROM Scores AS tGROUP BY stuIdORDER BY avg(t.score)18、查询各科成绩最高和最低的分:以如下形式显示:课程ID,最高分,最低分SELECT L.courseId As 课程ID,L.score AS 最高分,R.score AS 最低分FROM Scores L ,Scores AS RWHERE L.courseId = R.courseId andL.score = (SELECT MAX(IL.score)FROM Scores AS IL,Student AS IMWHERE L.courseId = IL.courseId and IM.stuId=IL.stuIdGROUP BY IL.courseId)ANDR.score = (SELECT MIN(IR.score)FROM Scores AS IRWHERE R.courseId = IR.courseIdGROUP BY IR.courseId);19、按各科平均成绩从低到高和及格率的百分数从高到低顺序SELECT t.courseId AS 课程号,max(course.courseName)AS 课程名,isnull(AVG(score),0) AS 平均成绩,100 * SUM(CASE WHEN isnull(score,0)>=60 THEN 1 ELSE 0 END)/COUNT(*) AS 及格百分数FROM Scores T,Coursewhere t.courseId=course.courseIdGROUP BY t.courseIdORDER BY 100 * SUM(CASE WHEN isnull(score,0)>=60 THEN 1 ELSE 0 END)/COUNT(*) DEScores20、查询如下课程平均成绩和及格率的百分数(用"1行"显示): 企业管理(001),马克思(002),OO&UML (003),数据库(004)SELECT SUM(CASE WHEN courseId ='001' THEN score ELSE 0 END)/SUM(CASE courseId WHEN '001' THEN 1 ELSE 0 END) AS 企业管理平均分,100 * SUM(CASE WHEN courseId = '001' AND score >= 60 THEN 1 ELSE 0 END)/SUM(CASE WHEN courseId = '001' THEN 1 ELSE 0 END) AS 企业管理及格百分数,SUM(CASE WHEN courseId = '002' THEN score ELSE 0 END)/SUM(CASE courseId WHEN '002' THEN 1 ELSE 0 END) AS 马克思平均分,100 * SUM(CASE WHEN courseId = '002' AND score >= 60 THEN 1 ELSE 0 END)/SUM(CASE WHEN courseId = '002' THEN 1 ELSE 0 END) AS 马克思及格百分数,SUM(CASE WHEN courseId = '003' THEN score ELSE 0 END)/SUM(CASE courseId WHEN '003' THEN 1 ELSE 0 END) AS UML平均分,100 * SUM(CASE WHEN courseId = '003' AND score >= 60 THEN 1 ELSE 0 END)/SUM(CASE WHEN courseId = '003' THEN 1 ELSE 0 END) AS UML及格百分数,SUM(CASE WHEN courseId = '004' THEN score ELSE 0 END)/SUM(CASE courseId WHEN '004' THEN 1 ELSE 0 END) AS 数据库平均分,100 * SUM(CASE WHEN courseId = '004' AND score >= 60 THEN 1 ELSE 0 END)/SUM(CASE WHEN courseId = '004' THEN 1ELSE 0 END) AS 数据库及格百分数FROM Scores21、查询不同老师所教不同课程平均分从高到低显示SELECT max(Z.teacherId) AS 教师ID,MAX(Z.teacherName) AS 教师姓名,C.courseId AS 课程ID,MAX(C.courseName) AS 课程名称,AVG(score) AS 平均成绩FROM Scores AS T,Course AS C ,Teacher AS Zwhere T.courseId=C.courseId and C.teacherId=Z.teacherIdGROUP BY C.courseIdORDER BY AVG(score) DEScores22、查询如下课程成绩第 3 名到第 6 名的学生成绩单:企业管理(001),马克思(002),UML (003),数据库(004)[学生ID],[学生姓名],企业管理,马克思,UML,数据库,平均成绩SELECT DISTINCT top 3Scores.stuId As 学生学号,Student.stuName AS 学生姓名 ,T1.score AS 企业管理,T2.score AS 马克思,T3.score AS UML,T4.score AS 数据库,ISNULL(T1.score,0) + ISNULL(T2.score,0) + ISNULL(T3.score,0) + ISNULL(T4.score,0) as 总分FROM Student,Scores LEFT JOIN Scores AS T1ON Scores.stuId = T1.stuId AND T1.courseId = '001'LEFT JOIN Scores AS T2ON Scores.stuId = T2.stuId AND T2.courseId = '002'LEFT JOIN Scores AS T3ON Scores.stuId = T3.stuId AND T3.courseId = '003'LEFT JOIN Scores AS T4ON Scores.stuId = T4.stuId AND T4.courseId = '004'WHERE student.stuId=Scores.stuId andISNULL(T1.score,0) + ISNULL(T2.score,0) + ISNULL(T3.score,0) + ISNULL(T4.score,0)NOT IN(SELECTDISTINCTTOP 15 WITH TIESISNULL(T1.score,0) + ISNULL(T2.score,0) + ISNULL(T3.score,0) + ISNULL(T4.score,0)FROM ScoresLEFT JOIN Scores AS T1ON Scores.stuId = T1.stuId AND T1.courseId = 'k1'LEFT JOIN Scores AS T2ON Scores.stuId = T2.stuId AND T2.courseId = 'k2'LEFT JOIN Scores AS T3ON Scores.stuId = T3.stuId AND T3.courseId = 'k3'LEFT JOIN Scores AS T4ON Scores.stuId = T4.stuId AND T4.courseId = 'k4'ORDER BY ISNULL(T1.score,0) + ISNULL(T2.score,0) + ISNULL(T3.score,0) + ISNULL(T4.score,0) DEScores);23、统计列印各科成绩,各分数段人数:课程ID,课程名称,[100-85],[85-70],[70-60],[<60]SELECT Scores.courseId as 课程ID, courseName as 课程名称,SUM(CASE WHEN score BETWEEN 85 AND 100 THEN 1 ELSE 0 END) AS [100 - 85],SUM(CASE WHEN score BETWEEN 70 AND 85 THEN 1 ELSE 0 END) AS [85 - 70],SUM(CASE WHEN score BETWEEN 60 AND 70 THEN 1 ELSE 0 END) AS [70 - 60],SUM(CASE WHEN score < 60 THEN 1 ELSE 0 END) AS [60 -]FROM Scores,Coursewhere Scores.courseId=Course.courseIdGROUP BY Scores.courseId,courseName;24、查询学生平均成绩及其名次SELECT 1+(SELECT COUNT( distinct 平均成绩)FROM (SELECT stuId,AVG(score) AS 平均成绩FROM ScoresGROUP BY stuId) AS T1WHERE 平均成绩 > T2.平均成绩) as 名次,stuId as 学生学号,平均成绩FROM (SELECT stuId,AVG(score) 平均成绩FROM ScoresGROUP BY stuId) AS T2ORDER BY 平均成绩 deScores;25、查询各科成绩前三名的记录:(不考虑成绩并列情况)SELECT t1.stuId as 学生ID,t1.courseId as 课程ID,score as 分数FROM Scores t1WHERE score IN (SELECT TOP 3 scoreFROM ScoresWHERE t1.courseId= courseIdORDER BY score DEScores)ORDER BY t1.courseId;26、查询每门课程被选修的学生数select courseId,count(stuId) from Scores group by courseId;27、查询出只选修了一门课程的全部学生的学号和姓名select Scores.stuId,Student.stuName,count(courseId) AS 选课数from Scores ,Studentwhere Scores.stuId=Student.stuId group by Scores.stuId ,Student.stuName having count(courseId)=1;28、查询男生、女生人数Select count(stuSex) as 男生人数from Student group by stuSex having stuSex='男';Select count(stuSex) as 女生人数from Student group by stuSex having stuSex='女';29、查询姓“张”的学生名单SELECT stuName FROM Student WHERE stuName like '张%';30、查询同名同性学生名单,并统计同名人数select stuName,count(*) from Student group by stuName having count(*)>1;;31、1981年出生的学生名单(注:Student表中stuAge列的类型是datetime)select stuName, CONVERT(char (11),DATEPART(year,stuAge)) as agefrom studentwhere CONVERT(11),DATEPART(year,stuAge))='1981';32、查询每门课程的平均成绩,结果按平均成绩升序排列,平均成绩相同时,按课程号降序排列Select courseId,Avg(score) from Scores group by courseId order by Avg(score),courseId DEScores ;33、查询平均成绩大于85的所有学生的学号、姓名和平均成绩select stuName,Scores.stuId ,avg(score)from Student,Scoreswhere Student.stuId=Scores.stuId group by Scores.stuId,stuName having avg(score)>85;34、查询课程名称为“数据库”,且分数低于60的学生姓名和分数Select stuName,isnull(score,0)from Student,Scores,Coursewhere Scores.stuId=Student.stuId and Scores.courseId=Course.courseId and Course.courseName='数据库'and score<60;35、查询所有学生的选课情况;SELECT Scores.stuId,Scores.courseId,stuName,courseNameFROM Scores,Student,Coursewhere Scores.stuId=Student.stuId and Scores.courseId=Course.courseId ;36、查询任何一门课程成绩在70分以上的姓名、课程名称和分数;SELECT distinct student.stuId,student.stuName,Scores.courseId,Scores.score FROM student,ScoresWHERE Scores.score>=70 AND Scores.stuId=student.stuId;37、查询不及格的课程,并按课程号从大到小排列select courseId from Scores where Scoresor e<60 order by courseId ;38、查询课程编号为003且课程成绩在80分以上的学生的学号和姓名;select Scores.stuId,Student.stuName from Scores,Student where Scores.stuId=Student.stuId and score>80 and courseId='003';39、求选了课程的学生人数select count(*) from Scores;40、查询选修“叶平”老师所授课程的学生中,成绩最高的学生姓名及其成绩select Student.stuName,scorefrom Student,Scores,Course C,Teacherwhere Student.stuId=Scores.stuId andScores.courseId=C.courseId and C.teacherId=Teacher.teacherId and Teacher.teacherName='叶平' and Scores.score=(select max(score)from Scores where courseId=C.courseId );41、查询各个课程及相应的选修人数select count(*) from Scores group by courseId;42、查询不同课程成绩相同的学生的学号、课程号、学生成绩select distinct A.stuId,B.score from Scores A ,Scores B whereA.score=B.score and A.courseId <>B.courseId ;43、查询每门功成绩最好的前两名SELECT t1.stuId as 学生ID,t1.courseId as 课程ID,score as 分数FROM Scores t1WHERE score IN (SELECT TOP 2 scoreFROM ScoresWHERE t1.courseId= courseIdORDER BY score DEScores)ORDER BY t1.courseId;44、统计每门课程的学生选修人数(超过10人的课程才统计)。
数据库面试题目及答案
数据库面试题目及答案数据库是计算机科学的重要组成部分,对于软件开发人员和数据分析师来说,掌握数据库知识是非常重要的。
在数据库领域的面试中,面试官通常会提出一系列问题来评估你的数据库知识和技能。
本文将介绍一些常见的数据库面试题目,并提供相应的答案,帮助你在面试中更好地表现自己。
一、数据库基础知识1. 什么是数据库?答:数据库是一个组织和存储数据的电子系统,它可以通过各种方式对数据进行存储、操作和访问。
常见的数据库有关系型数据库(如MySQL、Oracle)和非关系型数据库(如MongoDB、Redis)。
2. 什么是SQL?答:SQL(Structured Query Language)是用于管理关系型数据库的标准语言。
它可以用于创建、修改和删除数据库中的表、视图、索引等,以及对数据进行插入、更新和查询操作。
3. 什么是主键和外键?答:主键是一种用于唯一标识表中记录的列,它的值在表中是唯一且不重复的。
外键是表中的一列,它建立了表与表之间的关联关系,通过外键可以实现表之间的数据一致性和完整性。
二、数据库设计和管理4. 什么是数据库范式?答:数据库范式是一种用于规范化数据库结构的理论模型。
它将数据库的结构划分为一系列规范化的关系表,以减少数据冗余和提高数据的一致性和完整性。
常见的数据库范式有第一范式(1NF)、第二范式(2NF)和第三范式(3NF)等。
5. 什么是索引?答:索引是一种提高数据库查询效率的数据结构。
它通过创建一个指向数据库表中数据位置的引用,可以加快数据的检索速度。
常见的索引类型有B树索引、哈希索引和全文索引等。
6. 如何优化数据库查询性能?答:要优化数据库查询性能,可以从以下几个方面入手:- 添加合适的索引,以加快查询的速度。
- 优化SQL语句,避免使用过多的JOIN操作和子查询。
- 使用合理的数据库和表结构设计,减少数据冗余。
- 避免查询大量数据,可以使用分页查询或者限制返回结果的数量。
数据库考试题及答案
数据库考试题及答案
一、单选题
1.数据库管理系统的主要功能是什么?
A.数据的存储
B.数据的处理
C.数据的分析
D.以上都是
答案:D.以上都是
2.下列哪种数据库属于关系型数据库?
A.MySQL
B.MongoDB
C.Redis
D.Oracle
答案:A.MySQL
3.数据库中的主键的作用是什么?
A.唯一标识一条记录
B.存储大量数据
C.加快查询速度
D.以上都不是
答案:A.唯一标识一条记录
二、多选题
1.以下哪些数据库属于非关系型数据库?
A.MongoDB
B.Redis
C.MySQL
D.SQLite
答案:A.MongoDB、B.Redis
2.数据库系统的ACID属性包括哪几个方面?
A.原子性
B.一致性
C.隔离性
D.耐久性
答案:A.原子性、B.一致性、C.隔离性、D.耐久性
三、判断题
1.数据库的恢复策略是为了防止数据丢失,确保数据的完整性。
A.对
B.错
答案:A.对
2.SQL是一种编程语言,用于操作数据库。
A.对
B.错
答案:A.对
以上就是本次数据库考试题及答案,希望对您有所帮助。
祝您学习顺利,考试成功!。
数据库笔试题及答案
数据库笔试题及答案一、选择题1. 数据库管理系统(DBMS)的主要功能不包括以下哪项?A. 数据定义B. 数据操纵C. 数据备份D. 数据加密答案:D2. 在关系型数据库中,以下哪个概念用于描述表之间的关系?A. 属性B. 实体C. 关系D. 域答案:C3. SQL语言中,用于查询数据的命令是:A. INSERTB. UPDATEC. DELETED. SELECT答案:D4. 在数据库设计中,为了减少数据冗余和提高数据一致性,通常采用哪种范式?A. 第一范式(1NF)B. 第二范式(2NF)C. 第三范式(3NF)D. 所有范式答案:C二、填空题1. 数据库管理系统(DBMS)可以分为两类:________和________。
答案:关系型数据库管理系统;非关系型数据库管理系统2. 在SQL中,________子句用于从表中选择数据。
答案:SELECT3. 数据库的完整性约束包括实体完整性、参照完整性和________。
答案:域完整性4. 数据库的________是指数据库中数据的组织方式和数据之间的关系。
答案:结构三、简答题1. 解释什么是事务的ACID属性,并分别给出它们的定义。
答案:ACID属性是指事务的四个基本特性,分别是:- Atomicity(原子性):事务中的所有操作要么全部完成,要么全部不完成,不会结束在中间某个点。
- Consistency(一致性):事务必须保证数据库从一个一致性状态转换到另一个一致性状态。
- Isolation(隔离性):事务的执行不会被其他事务干扰。
- Durability(持久性):一旦事务提交,则其所做的修改会永久保存在数据库中。
2. 描述数据库规范化的目的是什么?答案:数据库规范化的目的是减少数据冗余和避免数据异常,提高数据的一致性和完整性,同时优化查询性能。
四、编程题1. 编写一个SQL查询,用于找出所有学生的平均成绩。
答案:```sqlSELECT AVG(grade) AS average_gradeFROM students;```2. 编写一个SQL语句,用于插入一条新记录到名为“employees”的表中。
数据库考试题及答案
数据库考试题及答案一、单项选择题(每题2分,共20分)1. 数据库管理系统(DBMS)的主要功能不包括以下哪项?A. 数据定义B. 数据操纵C. 数据存储D. 数据加密答案:D2. 在关系型数据库中,以下哪个术语用于描述表之间的关系?A. 实体B. 属性C. 关系D. 约束答案:C3. SQL中的“SELECT”语句用于执行哪种操作?A. 数据定义B. 数据操纵C. 数据控制D. 数据查询答案:D4. 如果一个表中的列被设置为“主键”,这意味着什么?A. 该列可以有重复的值B. 该列可以为NULLC. 该列的值在表中必须是唯一的D. 该列可以被其他表引用答案:C5. 在数据库设计中,规范化的目的是什么?A. 减少数据冗余B. 提高查询速度C. 增加数据存储量D. 降低数据安全性答案:A6. 数据库中的视图是什么?A. 存储在数据库中的一组数据B. 基于SQL查询的虚拟表C. 数据库中的一个物理存储位置D. 数据库的一个物理文件答案:B7. 在SQL中,哪个关键字用于创建一个新表?A. CREATEB. INSERTC. SELECTD. DROP答案:A8. 数据库事务的ACID属性中,“I”代表什么?A. 原子性B. 一致性C. 隔离性D. 持久性答案:C9. 以下哪个不是数据库设计的基本步骤?A. 需求分析B. 概念性设计C. 物理性设计D. 系统测试答案:D10. 在数据库中,索引的主要作用是什么?A. 增加数据存储空间B. 提高数据安全性C. 加速数据检索D. 减少数据冗余答案:C二、多项选择题(每题3分,共15分)1. 以下哪些是数据库管理系统(DBMS)的特点?A. 独立性B. 集成性C. 抽象性D. 共享性答案:ABCD2. 在关系型数据库中,以下哪些是数据操纵语言(DML)的操作?A. SELECTB. INSERTC. UPDATED. DROP答案:ABC3. 数据库的三级模式结构包括哪些?A. 内模式B. 概念模式C. 外模式D. 物理模式答案:ABC4. 数据库的完整性约束包括哪些类型?A. 实体完整性B. 参照完整性C. 用户定义的完整性D. 域完整性答案:ABCD5. 以下哪些是数据库设计中常用的规范化形式?A. 第一范式(1NF)B. 第二范式(2NF)C. 第三范式(3NF)D. BCNF答案:ABCD三、简答题(每题10分,共20分)1. 简述数据库管理系统(DBMS)的主要功能。
数据库面试题及答案
数据库面试题及答案数据库面试题及答案ORACLE 面试问题-技术篇(2)21.如何判断数据库的时区?解答:SELECT DBTIMEZONE FROM DUAL;22.解释GLOBAL_NAMES 设为TRUE的用途解答:GLOBAL_NAMES指明联接数据库的方式。
如果这个参数设置为TRUE, 在建立数据库链接时就必须用相同的名字连接远程数据库。
23.如何加密PL/SQL程序?解答:WRAp24.解释FUNCTION,PROCEDURE和PACKAGE区别解答:function和procedure是PL/SQL代码的集合,通常为了完成一个任务。
procedure不需要返回任何值而function将返回一个值在另一方面,Package是为了完成一个商业功能的一组function和procedure得集合25.解释TABLE Function的用途解答:TABLE Function 是通过PL/SQL逻辑返回一组记录,用于普通的表/视图。
他们也用于pipeline 和ETL过程。
26.举出三中可以收集three advisory statistics解答:Buffer Cache Advice,Segment Level Statistics,Timed Statistics27.Audit trace存放在哪个oracle目录结构中?解答:unix $ORACLE_HOME/rdbms/auditWindows the event viewer28.解释materialized view 的作用解答:Materialized view 用于减少那些汇总,集合和分组的信息的几何数量。
它们统称适合于数据仓库和DSS系统。
29.当用户进程出错,哪个后台进程负责清理它解答:PMON30.哪个后台进程刷新materialized view?解答:The Job Queue Processes31.如何判断哪个session正在连接以及他们等待的资源?解答: V$SESSION /V$SESSION_W AIT32.描述什么是redo logs解答:Redo Logs是用于存放数据库数据改动状况的物理和逻辑结构。
数据库的考试题目及答案
数据库的考试题目及答案一、选择题(每题2分,共20分)1. 数据库管理系统(DBMS)的主要功能不包括以下哪一项?A. 数据定义B. 数据存储C. 数据备份D. 网络通信答案:D2. 在关系型数据库中,以下哪个是基本的数据结构?A. 树B. 图C. 表格D. 链表答案:C3. SQL语言中的“SELECT”语句用于执行哪种操作?A. 查询数据B. 更新数据C. 删除数据D. 插入数据答案:A4. 数据库事务具有哪些特性?(多选)A. 原子性B. 一致性C. 隔离性D. 持久性答案:ABCD5. 在数据库设计中,规范化的主要目的是什么?A. 提高查询速度B. 减少数据冗余C. 增加数据安全性D. 降低存储成本答案:B6. 下列哪个选项不是数据库的完整性约束?A. 实体完整性B. 参照完整性C. 域完整性D. 触发器完整性答案:D7. 数据库中的视图是什么?A. 存储在数据库中的一组数据B. 基于一个或多个表的查询结果C. 数据库的物理存储D. 数据库的逻辑结构答案:B8. 在数据库中,索引的作用是什么?A. 增加数据安全性B. 提高查询效率C. 减少数据冗余D. 限制数据访问答案:B9. 数据库的并发控制主要解决什么问题?A. 数据一致性B. 数据完整性C. 数据安全性D. 数据备份答案:A10. 数据库恢复的主要目的是?A. 恢复丢失的数据B. 恢复损坏的数据C. 恢复系统性能D. 恢复数据库结构答案:A二、填空题(每题2分,共20分)1. 数据库管理系统(DBMS)是位于用户和__操作系统__之间的一层数据管理软件。
2. 在数据库中,__主键__是用来唯一标识表中每条记录的字段。
3. 数据库的__外键__约束用于维护两个表之间的关系。
4. SQL中的__事务__是指一组不可分割的数据库操作序列。
5. 数据库的__范式__理论是用于指导数据库设计的一组规则。
6. 数据库的__备份__操作是为了防止数据丢失而进行的数据复制。
数据库测试答案answer
数据库测试答案answer数据库过程测试1、以下图的数据库为例,用SQL完成以下检索:(3分/ 题)仓库职工订购单供应商1)检索在北京的供应商的名称。
SELECT * FROM 供应商WHERE 地址=’北京’2)检索发给供应商S6的订购单号。
SELECT 订购单号FROM 订购单WHERE 供应商号=’S6’3)检索出职工E6发给供应商S6的订购单信息。
SELECT * FROM 订购单WHERE 供应商号=’S6’ AND 职工号=’E6’4)检索出向供应商S3发过订购单的职工的职工号和仓库号。
SELECT 职工号,仓库号FROM 职工WHERE 职工号IN( SELECT 职工号FROM 订购单WHERE 供应商号=’S3’ )5)检索出目前与S3供应商没有联系的职工信息。
SELECT * FROM 职工WHERE 职工号NOT IN( SELECT 职工号FROM 订购单WHERE 供应商号=’S3’ )6)检索出目前没有任何订购单的供应商信息。
SELECT * FROM 供应商WHERE NOT EXISTS( SELECT * FROM 订购单WHERE 供应商号=供应商.供应商号)7)检索出和职工E1、E3都有联系的北京的供应商信息。
SELECT * FROM 供应商WHERE 供应商号IN( SELECT 供应商号FROM 订购单WHERE 职工号=’E1’ )AND 供应商号IN( SELECT 供应商号FROM 订购单WHERE 职工号=’E3’ )8)检索出目前和华通电子公司有业务联系的每个职工的工资。
SELECT 职工号,工资FROM 职工WHERE 职工号IN(SELECT 职工号FROM 订购单WHERE 供应商号IN(SELECT 供应商号FROM 供应商WHERE 供应商名=’华通电子公司’)) 9)检索出与工资在1220元以下的职工没有联系的供应商的名称。
SELECT 供应商名FROM 供应商WHERE 供应商号IN(SELECT 供应商号FROM 订购单WHERE 职工号NOT IN(SELECT 职工号FROM 职工WHERE 工资< 1220))10)检索出向S4供应商发出订购单的仓库所在的城市。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库过程测试
1、以下图的数据库为例,用SQL完成以下检索:(3分/ 题)
仓库职工
订购单
供应商
1)检索在北京的供应商的名称。
SELECT * FROM 供应商WHERE 地址=’北京’
2)检索发给供应商S6的订购单号。
SELECT 订购单号FROM 订购单WHERE 供应商号=’S6’
3)检索出职工E6发给供应商S6的订购单信息。
SELECT * FROM 订购单WHERE 供应商号=’S6’ AND 职工号=’E6’
4)检索出向供应商S3发过订购单的职工的职工号和仓库号。
SELECT 职工号,仓库号FROM 职工WHERE 职工号IN ( SELECT 职工号FROM 订购单WHERE 供应商号=’S3’ )
5)检索出目前与S3供应商没有联系的职工信息。
SELECT * FROM 职工WHERE 职工号NOT IN
( SELECT 职工号FROM 订购单WHERE 供应商号=’S3’ )
6)检索出目前没有任何订购单的供应商信息。
1
SELECT * FROM 供应商WHERE NOT EXISTS
( SELECT * FROM 订购单WHERE 供应商号=供应商.供应商号)
7)检索出和职工E1、E3都有联系的北京的供应商信息。
SELECT * FROM 供应商WHERE 供应商号IN
( SELECT 供应商号FROM 订购单WHERE 职工号=’E1’ )
AND 供应商号IN
( SELECT 供应商号FROM 订购单WHERE 职工号=’E3’ )
8)检索出目前和华通电子公司有业务联系的每个职工的工资。
SELECT 职工号,工资FROM 职工WHERE 职工号IN
(SELECT 职工号FROM 订购单WHERE 供应商号IN
(SELECT 供应商号FROM 供应商WHERE 供应商名=’华通电子公司’))
9)检索出与工资在1220元以下的职工没有联系的供应商的名称。
SELECT 供应商名FROM 供应商WHERE 供应商号IN
(SELECT 供应商号FROM 订购单WHERE 职工号NOT IN
(SELECT 职工号FROM 职工WHERE 工资< 1220))
10)检索出向S4供应商发出订购单的仓库所在的城市。
SELECT 城市FROM 仓库WHERE 仓库号IN
(SELECT 仓库号FROM 职工WHERE 职工号IN
(SELECT 职工号FROM 订购单WHERE 供应商号=’S4’))
11)检索出在上海工作并且向S6供应商发出了订购单的职工号。
SELECT 职工号FROM 职工WHERE 仓库号IN
(SELECT 仓库号FROM 仓库WHERE 城市=’上海’) AND 职工号IN
(SELECT 职工号FROM 订购单WHERE 供应商号=’S6’))
12)检索出在广州工作并且只向S6供应商发出了订购单的职工号。
SELECT 职工号FROM 职工WHERE 仓库号IN
(SELECT 仓库号FROM 仓库WHERE 城市=’广州’) AND 职工号IN
(SELECT 职工号FROM 订购单WHERE 供应商号=’S6’) AND 职工号NOT IN (SELECT 职工号FROM 订购单WHERE 供应商号!=’S6’)
13)检索出由工资多于1230元的职工向北京的供应商发出的订购单号。
SELECT 订购单号FROM 订购单WHERE 职工号IN
(SELECT 职工号FROM 职工WHERE 工资>1230) AND 供应商号IN
(SELECT 供应商号FROM 供应商WHERE 地址=’北京’)
14)检索出仓库的个数。
SELECT COUNT(*) FROM 仓库
15)检索出有最大面积的仓库信息。
SELECT * FROM 仓库WHERE 面积=(SELECT MAX(面积) FROM 仓库)
16)检索出所有仓库的平均面积。
SELECT A VG(面积) FROM 仓库
17)检索出向S4供应商发出订购单的那些仓库的平均面积。
SELECT A VG(面积) FROM 仓库WHERE 仓库号IN
(SELECT 仓库号FROM 职工WHERE 职工号IN
(SELECT 职工号FROM 订购单WHERE 供应商号=’S4’))
18)检索出每个仓库中工资多于1220元的职工个数。
SELECT 仓库号,COUNT(*) FROM 职工WHERE 工资>1220 GROUP BY 仓库号
19)检索出和面积最小的仓库有联系的供应商的个数。
SELECT COUNT(*) FROM 供应商WHERE 供应商号IN
(SELECT 供应商号FROM 订购单WHERE 职工号IN
(SELECT 职工号FROM 职工WHERE 仓库号IN
(SELECT 仓库号FROM 仓库WHERE 面积=
(SELECT MIN(面积) FROM 仓库))))
20)检索出工资低于本仓库平均工资的职工信息。
SELECT * FROM 职工out WHERE 工资<
(SELECT AVG(工资) FROM 职工inne WHERE 仓库号=out.仓库号)
2.以上图的数据库为例,用SQL语句完成以下更新操作,并讨论数据完整性约束对这些操作的影
响:(4分/ 题)
1)插入一个新的订购单元组,其中职工号为E6,订购单号为OR99,其他列为空。
INSERT INTO 订购单(职工号, 订购单号) V ALUES(‘E6’,’ OR99’)
2)删除目前没有任何订购单的供应商。
DELETE FROM 供应商WHERE 供应商号NOT IN
(SELECT 供应商号FROM 订购单WHERE 供应商号IS NOT NULL)
3)删除由在上海仓库工作的职工发出的所有订购单。
DELETE FROM 订购单WHERE 职工号IN
(SELECT 职工号FROM 职工WHERE 仓库号IN
(SELECT 仓库号FROM 仓库WHERE 城市=’上海’))
4)北京的所有仓库增加100m2的面积。
UPDA TE 仓库SET 面积=面积+100 WHERE 城市=’北京’
5)给低于所有职工平均工资的职工提高5%的工资。
UPDA TE 职工SET 工资=工资*1.05 WHERE 工资<
(SELECT AVG(工资) FROM 职工)
3.在第1题的数据库中建立一个存储过程,查询工资大于某个值且在某个城市工作的职工信息;并
以工资大于8000元且在北京工作的职工为例执行该存储过程。
(10分)
3
CREATE PROC getemp(@salary int,@city char(8))
AS
SELECT * FROM 职工 WHERE 工资>@salary and仓库号IN
(SELECT 仓库号FROM 仓库WHERE 城市=@city)
EXECUTE getemp @salary =8000, @city=’北京’
4.在第1题的数据库中建立一个触发器,当删除仓库记录时同时删除该仓库的职工信息。
(5分)
CREATE TRIGGER wdel_tri
ON 仓库FOR DELETE
AS
DELETE 职工WHERE 仓库号IN
(select 仓库号from DELETED);
5.在第1题的数据库中建立一个触发器,当插入一个职工记录时,检查该职工所在的仓库是否存在,
若不存在则撤消所做的插入操作。
(5分)
CREATE TRIGGERempinsert_tri
ON职工FOR INSERT
AS
IF NOT EXISTS(SELECT * FROM 仓库WHERE 仓库号IN
(SELECT 仓库号FROM INSERTED)
BEGIN
PRINT ‘非法仓库号’;
ROLLBACK TRANSACTION;
END;。