SQL数据库面试题目及其答案
SQL数据库经典面试题(修改笔试题)(有答案)
28、
数据库:抽出部门,平均工资,要求按部门的字符串顺序排序,不能含有"human resource"部门,employee结构如下:
employee_id, employee_name,depart_id,depart_name,wage
答:
select depart_name, avg(wage)
from employee where depart_name <> 'human resource'
group by depart_name order by depart_name
--------------------------------------------------------------------------
29、
给定如下SQL数据库:Test(num INT(4)) 请用一条SQL语句返回num的最小值,但不许使用统计功能,如MIN,MAX等
答:
select top 1 num from Test order by num
--------------------------------------------------------------------------
33、一个数据库中有两个表:
一张表为Customer,含字段ID,Name;
一张表为Order,含字段ID,CustomerID(连向Customer中ID的外键),Revenue; 写出求每个Customer的Revenue总与的SQL语句。
建表create table customer
sql经典面试题
1.张表,学生表S,课程C,学生课程表SC,学生可以选修多门课程,一门课程可以被多个学生选修,通过SC表关联;(SQL)
1)写出建表语句;
答:建表语句如下(mysql数据库):
create table s(id integer primary key, name varchar(20));
create table c(id integer primary key, name varchar(20));
create table sc(
sid integer references s(id),
cid integer references c(id),
primary key(sid,cid)
);
2)写出SQL语句,查询选修了所有选修课程的学生;
答:SQL语句如下:
select , from s stu
where (select count(*) from sc where sid= =
(select count(*) from c);
3)写出SQL语句,查询选修了至少5门以上的课程的学生。
答:SQL语句如下:
select , from s stu
where (select count(*) from sc where sid=>=5;
2.数据库表(Test)结构如下:(SQL)
IDNAMEAGEMANAGER(所属主管人ID)
106A30104
109B19104
104C20111
107D35109
112E25120
119F45NULL
要求:列出所有年龄比所属主管年龄大的人的ID和名字
答:SQL语句如下:
sql语句面试题及答案
sql语句面试题及答案
一、基本查询
1. 简单查询
请问如何查询一个表中的所有记录?
答:可以使用SELECT * FROM table_name; 命令来查询表中的所有记录。
2. 条件查询
如果我只想查询特定条件下的记录,例如查询年龄大于30的员工信息,应该怎么做?
答:可以使用WHERE子句来进行条件查询,语句如下:
SELECT * FROM employees WHERE age > 30;
3. 限制查询结果
在查询时,如果只想获取前5条记录,应该如何操作?
答:可以使用LIMIT关键字来限制查询结果的数量,语句如下:SELECT * FROM table_name LIMIT 5;
二、聚合查询
1. 计数
如何计算某个表中的记录数?
答:可以使用COUNT()函数来计算表中的记录数,语句如下:
SELECT COUNT(*) FROM table_name;
2. 求和
如果需要计算某列的总和,例如计算销售总额,应该怎么做?
答:可以使用SUM()函数来计算某列的总和,语句如下:
SELECT SUM(sales_amount) FROM sales_table;
3. 平均值
如何求某列的平均值,比如平均工资?
答:可以使用AVG()函数来计算某列的平均值,语句如下:
SELECT AVG(salary) FROM employees;
三、分组查询
1. 分组统计
请问如何按照某个字段进行分组,并计算每个分组的记录数?
答:可以使用GROUP BY子句来进行分组统计,语句如下:
SELECT department, COUNT(*) FROM employees GROUP BY department;
数据库面试题目及答案
数据库面试题目及答案
数据库面试是程序员求职过程中必不可少的一部分。在面试中,面
试官通常会提出各种与数据库相关的问题,以考察面试者对数据库的
理解和应用能力。本文将介绍一些常见的数据库面试题目,并提供相
应的答案,希望能帮助读者在面试中取得好成绩。
1. 什么是数据库?
答案:数据库是存储和组织数据的集合。它是一个可以持久存储的
数据集合,可以通过各种操作进行管理和访问。
2. 什么是关系型数据库?
答案:关系型数据库是基于关系模型的数据库管理系统。它使用表(关系)来组织数据,并通过主键和外键等约束保持表之间的关联性。
3. 什么是主键?
答案:主键是一个唯一标识符,用于唯一地标识关系中的每一行。
它可以是一个或多个列,并且不允许有重复的值。
4. 什么是外键?
答案:外键是关系模型中用来建立表之间关系的一种机制。它用于
在一个表中引用另一个表的主键。
5. 什么是索引?
答案:索引是为了提高数据库查询性能而创建的数据结构。它可以加快数据的查找速度,类似于书籍的目录。
6. 请解释一下数据库范式?
答案:数据库范式是创建和规范化数据库表的一种方法。它分为不同的级别(第一范式、第二范式、第三范式等),每个级别都有一些规则,用于减少数据冗余和提高数据的完整性。
7. 什么是事务?
答案:事务是一系列数据库操作的集合,它们要么全部执行成功,要么全部回滚。事务具有四个特性,即原子性、一致性、隔离性和持久性(ACID)。
8. 请解释一下数据库的ACID原则?
答案:ACID是指数据库事务的四个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。原子性指事务要么全部执行成功,要么全部回滚;一致性指事务在执行之前和之后数据库的状态必须保持一致;隔离性指多个事务之间应该相互隔离,互不干扰;持久性指一旦事务提交,其结果将永久保存在数据库中。
数据库面试题大全
数据库面试题大全
以下是一些常见的数据库面试题目:
1. 什么是数据库?请简要描述数据库的基本概念。
2. 请解释一下关系型数据库和非关系型数据库的区别。
3. 什么是SQL?请简要描述SQL的作用和用途。
4. 什么是主键和外键?请举例说明它们在数据库中的作用。
5. 什么是索引?请简要描述索引的作用和优缺点。
6. 请解释一下事务的概念,以及事务的隔离级别。
7. 请解释一下数据库的连接池和它的作用。
8. 什么是数据库触发器?请简要描述触发器的作用和用途。
9. 什么是存储过程?请简要描述存储过程的作用和用途。
10. 什么是视图?请简要描述视图的作用和用途。
11. 请解释一下数据库的规范化,以及规范化的好处。
12. 请解释一下数据库的性能优化,以及如何进行性能优化。
13. 请描述一下你如何处理数据库中的重复数据。
14. 什么是数据库备份和恢复?请简要描述备份和恢复的方法。
15. 请解释一下数据库的并发控制,以及并发控制的方法。
16. 请解释一下数据库的分区,以及分区的好处。
17. 什么是数据库的乐观锁和悲观锁?请简要描述它们的区别和用途。
18. 请解释一下数据库的日志和日志的重要性。
19. 什么是数据库的联接?请简要描述不同类型的联接(如内联接、左外联接、右外联接、全外联接等)。
20. 请解释一下数据库的索引,以及如何使用索引来提高查询性能。
21. 请解释一下数据库的性能优化,以及如何进行性能优化。
22. 什么是数据库的安全性?如何保证数据库的安全性?
23. 请解释一下数据库的视图,以及视图的用途和优点。
SQL数据库面试题目及其答案
1.触发器的作用?
答:触发器是一中特殊的存储过程,主要是通过事件来触发而被执行的。
它可以强化约束,来维护数据的完整性和一致性,可以跟踪数据库内的操作
从而不允许未经许可的更新和变化。可以联级运算。如,某表上的触发器上包含对另一个表的数据操作,而该操作又会导致该表触发器被触发。
2.什么是存储过程?用什么来调用?
答:存储过程是一个预编译的SQL语句,优点是允许模块化的设计,就是说只需创建一次,以后在该程序中就可以调用多次。如果某次操作需要执行多次SQL使用存储过程比单纯SQL语句执行要快。可以用一个命令对象来调用存储过程。
3.索引的作用?和它的优点缺点是什么?答:索引就一种特殊的查询表,数据库的搜索引擎可以利用它加速对数据的检索。它很类似与现实生活中书的目录,不需要查询整本书内容就可以找到想要的数据。索引可以是唯一的,创建索引允许指定单个列或者是多个列。缺点是它减慢了数据录入的速度,同时也增加了数据库的尺寸大小。
3。什么是内存泄漏?答:一般我们所说的内存泄漏指的是堆内存的泄漏。堆内存是程序从堆中为其分配的,大小任意的,使用完后要显示释放内存。当应用程序用关键字new 等创建对象时,就从堆中为它分配一块内存,使用完后程序调用free 或者delete 释放该内存,否则就说该内存就不能被使用,我们就说该内存被泄漏了。
4.维护数据库的完整性和一致性,你喜欢用触发器还是自写业务逻辑?为什么?
答:我是这样做的,尽可能使用约束,如check, 主键,外键,非空字段等来约束,这样做效率最高,也最方便。其次是使用触发器,这种方法可以保证,无论什么业务系统访问数据库都可以保证数据的完整新和一致性。最后考虑的是自写业务逻辑,但这样做麻烦,编程复杂,效率低下。
常见的sql面试题目
常见的sql面试题目
SQL 是一种用于管理关系数据库的编程语言。以下是常见的SQL 面试题目:1. 基础知识:
解释什么是 SQL?
描述 SQL 的主要功能。
什么是主键?
什么是外键?
什么是索引?
2. 查询语句:
写一个查询来从一个名为 `employees` 的表中选取所有列。
写一个查询来从一个名为 `employees` 的表中选取所有行,但只显
示 `first_name` 和 `last_name` 列。
写一个查询来从 `employees` 表中选取 `first_name` 为 "John" 的
所有员工。
3. 数据操作:
如何插入一行数据到一个表中?
如何更新表中的数据?
如何删除表中的数据?
4. 聚合函数:
使用 `COUNT()` 函数计算表中的行数。
使用 `SUM()` 函数计算表中某列的总和。
使用 `AVG()` 函数计算表中某列的平均值。
5. 排序和分组:
使用 `ORDER BY` 对查询结果进行排序。
使用 `GROUP BY` 对结果进行分组。
6. 子查询和连接:
解释什么是子查询,并给出一个例子。
解释什么是内连接,并给出一个例子。
解释什么是左连接,并给出一个例子。
7. 视图和存储过程:
解释什么是视图,为什么使用它?
解释什么是存储过程,为什么使用它?
8. 事务处理:
解释什么是事务?
如何开始一个事务?
如何结束一个事务?
9. 数据库规范化:
解释第一范式(1NF)、第二范式(2NF)和第三范式(3NF)。给出一个反范式的例子,并解释为什么它是反范式的。
10. 安全性问题:
如何防止 SQL 注入攻击?
sql server面试题
sql server面试题
SQL Server是一种关系型数据库管理系统(RDBMS),被广泛应用于企业级应用程序开发和数据管理。为了帮助您准备就业面试或升职面试,以下是一些常见的SQL Server面试题及其答案。
1. 什么是SQL Server?它的功能是什么?
SQL Server是一种由Microsoft开发的关系型数据库管理系统,用于管理和存储数据。它提供了数据的安全性、完整性和可靠性,并具备高效的数据检索和处理功能。SQL Server支持多种编程语言和操作系统,并提供了丰富的管理工具和功能,如备份和还原、复制和高可用性。
2. SQL Server中的主要数据类型有哪些?
SQL Server支持多种数据类型,包括整数类型(int、bigint、smallint)、浮点数类型(float、real、decimal)、日期和时间类型(datetime、date、time)、字符串类型(varchar、char、text)等。
3. 什么是索引?SQL Server中的索引类型有哪些?
索引是一种用于加快数据检索速度的数据结构。SQL Server中的索引类型包括聚集索引(clustered index)和非聚集索引(non-clustered index)。聚集索引决定了物理存储顺序,而非聚集索引是一种单独的数据结构,它包含指向实际数据行的指针。
4. 如何优化SQL Server查询性能?
优化SQL Server查询性能有多种方法,包括创建适当的索引、使用正确的JOIN操作、避免使用通配符、避免在WHERE子句中对函数进行计算等。可以使用SQL Server的性能监视器(Performance Monitor)来监视数据库服务器的性能,并采取相应的优化措施。
经典SQL面试题
经典SQL面试题
SQL面试题
一、选择题
1、假设在某个公司环境中,一个部门有多名职工,一名职工只能属于一个部门,则部门与职工之间的联系是( A )。
A、一对多
B、一对一
C、多对多
D、不确定
2、create database用来( A )。
A、创建数据库
B、删除数据库
C、创建表
D、创建视图
3、如果将某一列设置为表的主键,在表中此列的值(C )。
A、可以出现重复值
B、允许为空值
C、不允许为空值,也不能出现重复值
D、不允许为空值,但允许列值重复
4、对于表的外键,下列哪些描述正确( A )。
A、是表的非主键列,是另一个表的主键列
B、主键和外键不能描述表之间的关系
C、外键不能是表的索引
D、外键允许为空值
5、在查询时,如果要去掉查询结果中的重复项,需要使用( C )。
A、UNIQUE
B、COUNT
C、DISTINCT
D、UNION
6、SELECT语句中使用*表示( B )。
A、选择任何属性
B、选择全部属性
C、选择全部元组
D、选择键码
7、在SQL中,下列涉及空值操作不正确的_是( A )。
A、AGE IS NULL
B、AGE IS NOT NULL
C、AGE=NULL
D、NOT(AGE IS NULL)
8、在SELECT语句中,(A)子句可用于对查询到的记录进行分组。
A、GROUP BY
B、ORDER BY
C、WHERE
D、FROM
9、Oracle数据库是( C )数据库。
A、层次模型
B、网状模型
C、关系模型
D、面向对象模型
二、查询题
参照如下表,完成下面题目:
Student course
score teacher
SQL数据库经典面试题(修改笔试题)(有答案)
28.
数据库:抽出部门,平均工资,要求按部门的字符串顺序排序,不能含有"human resource"部门,employee结构如下:
employee_id, employee_name,depart_id,depart_name,wage
答:
select depart_name, avg(wage)
from employee where depart_name <> 'human resource'
group by depart_name order by depart_name
--------------------------------------------------------------------------
29.
给定如下SQL数据库:Test(num INT(4)) 请用一条SQL语句返回num的最小值,但不许使用统计功能,如MIN,MAX等
答:
select top 1 num from Test order by num
--------------------------------------------------------------------------
33.一个数据库中有两个表:
一张表为Customer,含字段ID,Name;
一张表为Order,含字段ID,CustomerID(连向Customer中ID的外
键),Revenue;
写出求每个Customer的Revenue总和的SQL语句。
建表 create table customer
SQL经典面试题及答案
SQL经典面试题及答案
1.一道SQL语句面试题,关于group by
表内容:
2005-05-09 胜
2005-05-09 胜
2005-05-09 负
2005-05-09 负
2005-05-10 胜
2005-05-10 负
2005-05-10 负
如果要生成下列结果, 该如何写sql语句?
胜负
2005-05-09 2 2
2005-05-10 1 2
------------------------------------------
create table #tmp(rq varchar(10),shengfu nchar(1))
insert into #tmp values('2005-05-09','胜')
insert into #tmp values('2005-05-09','胜')
insert into #tmp values('2005-05-09','负')
insert into #tmp values('2005-05-09','负')
insert into #tmp values('2005-05-10','胜')
insert into #tmp values('2005-05-10','负')
insert into #tmp values('2005-05-10','负')
1)select rq, sum(case when shengfu='胜' then 1 else 0 end)'胜',sum(case when shengfu='负' then 1 else 0 end)'负' from #tmp group by rq
SQL数据库经典面试题修改笔试题有答案
28.
数据库:抽出部门,平均工资,要求按部门的字符串顺序排序,不能含有"human resource"部门,employee结构如下:
employee_id, employee_name,depart_id,depart_name,wage
答:
select depart_name, avg(wage)
from employee where depart_name <> 'human resource'
group by depart_name order by depart_name
--------------------------------------------------------------------------
29.
给定如下SQL数据库:Test(num INT(4)) 请用一条SQL语句返回num的最小值,但不许使用统计功能,如MIN,MAX等
答:
select top 1 num from Test order by num
--------------------------------------------------------------------------
33.一个数据库中有两个表:
一X表为Customer,含字段ID,Name;
一X表为Order,含字段ID,CustomerID(连向Customer中ID的外键),Revenue;写出求每个Customer的Revenue总和的SQL语句。
建表create table customer
(ID int primary key,Name char(10))
数据库面试题目及答案
数据库面试题目及答案
数据库是计算机科学的重要组成部分,对于软件开发人员和数据分析师来说,掌握数据库知识是非常重要的。在数据库领域的面试中,面试官通常会提出一系列问题来评估你的数据库知识和技能。本文将介绍一些常见的数据库面试题目,并提供相应的答案,帮助你在面试中更好地表现自己。
一、数据库基础知识
1. 什么是数据库?
答:数据库是一个组织和存储数据的电子系统,它可以通过各种方式对数据进行存储、操作和访问。常见的数据库有关系型数据库(如MySQL、Oracle)和非关系型数据库(如MongoDB、Redis)。
2. 什么是SQL?
答:SQL(Structured Query Language)是用于管理关系型数据库的标准语言。它可以用于创建、修改和删除数据库中的表、视图、索引等,以及对数据进行插入、更新和查询操作。
3. 什么是主键和外键?
答:主键是一种用于唯一标识表中记录的列,它的值在表中是唯一且不重复的。外键是表中的一列,它建立了表与表之间的关联关系,通过外键可以实现表之间的数据一致性和完整性。
二、数据库设计和管理
4. 什么是数据库范式?
答:数据库范式是一种用于规范化数据库结构的理论模型。它将数
据库的结构划分为一系列规范化的关系表,以减少数据冗余和提高数
据的一致性和完整性。常见的数据库范式有第一范式(1NF)、第二范式(2NF)和第三范式(3NF)等。
5. 什么是索引?
答:索引是一种提高数据库查询效率的数据结构。它通过创建一个
指向数据库表中数据位置的引用,可以加快数据的检索速度。常见的
索引类型有B树索引、哈希索引和全文索引等。
数据库sql面试题及答案
数据库sql面试题及答案
数据库sql面试题及答案
【篇一:sql数据库经典面试题(修改笔试题)(有答案)】
部门,平均工资,要求按部门的字符串顺序排序,不能含有human resource部门,employee结构如下:
employee_id, employee_name,depart_id,depart_name,wage 答:
select depart_name, avg(wage)
from employee where depart_name human resource
group by depart_name order by depart_name
-------------------------------------------------------------------------- 29. 给定如下sql数据库:test(num
int(4)) 请用一条sql语句返回num的最小值,但不许使用统计
功能,如min,max等答:
select top 1 num from test order by num
-------------------------------------------------------------------------- 33.一个数据库中有两个表: 一张表为customer,含字段id,name;
一张表为order,含字段id,customerid(连向customer中
id的外键),revenue;
写出求每个customer的revenue总和的sql语句。建表create table customer
sql server常见面试题
sql server常见面试题
以下是一些常见的SQL Server 面试题及其答案:
1. 什么是SQL Server?
SQL Server 是由Microsoft 开发的关系型数据库管理系统(RDBMS)。它是一个功能强大、可靠性高的数据库平台,广泛用于企业级应用和数据管理。
2. 什么是数据库?
数据库是一个组织结构化的数据集合,可以通过数据库管理系统(DBMS)进行访问、管理和操作。它提供了一种存储、检索和处理数据的方式。
3. 什么是表?
表是数据库中的基本组成单元,用于存储数据。它由列(字段)和行组成,每个列定义了数据类型和约束规则,每一行表示一个记录。
4. 什么是主键?
主键是表中唯一标识每个记录的列或列组合。它用于确保数据的唯一性和完整性,并且在建立关系时起到重要作用。
5. 什么是外键?
外键是表中与其他表的关联字段,它建立了表之间的关系。外键约束用于确保引用表中的数据完整性,并支持表之间的数据关联。
6. 什么是索引?
索引是一种数据结构,用于快速定位和访问数据库中的数据。它可以加快查询的速度,但会增加写操作的开销。常见的索引类型包括聚集索引、非聚集索引和全文索引。
7. 什么是事务?
事务是数据库操作的基本单位,它是由一个或多个数据库操作组成的逻辑工作单元。事务要么
完全执行,要么完全回滚,以确保数据的一致性和完整性。
8. 什么是视图?
视图是从一个或多个表中派生的虚拟表。它是一个预定义的查询,可以像操作表一样使用。视图提供了数据的安全性、简化了复杂的查询和隐藏了底层数据结构的能力。
9. 什么是存储过程?
sql面试题及答案
sql面试题及答案
sql面试题及答案一
1. 简述索引存取的方法的作用和建立索引的原则
作用:加快查询速度。
原则:
(1) 如果某属性或属性组经常出现在查询条件中,考虑为该属性或属性组建立索引;
(2) 如果某个属性常作为最大值和最小值等聚集函数的参数,考虑为该属性建立索引;
(3) 如果某属性经常出现在连接操作的连接条件中,考虑为该属性或属性组建立索引;
2. 简述数据库的设计过程
数据库设计分为五个阶段:
需求分析:主要是准确收集用户信息需求和处理需求,并对收集的结果进行整理和分析,形成需求说明。
概念结构设计:对用户需求进行综合、归纳、抽象,形成一个与与具体的DBMS无关概念模型(一般为ER模型)。
逻辑结构设计:将概念结构设计的概念模型转化为某个特定的DBMS所支持的数据模型,建立数据库逻辑模式,并对其进行优化,同时为各种用户和应用设计外模式。
物理结构设计:为设计好的逻辑模型选择物理结构,包括存储结构和存取方法等,建立数据库物理模式。
实施和维护:实施就是使用DLL语言建立数据库模式,将实际数据载入数据库,建立真正的数据库。维护阶段是对运行中的数据库进行评价、调整和修改。
3. 什么是内存泄漏?
答案:一般我们所说的内存泄漏指的是堆内存的泄漏。堆内存是程序从堆中为其分配的,大小任意的,使用完后要显示释放内存。当应用程序用关键字new 等创建对象时,就从堆中为它分配一块内存,使用完后程序调用free或者delete 释放该内存,否则就说该内存就不能被使用,我们就说该内存被泄漏了。
4. 什么是基本表?什么是视图?
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.触发器的作用?
答:
触发器是一中特殊的存储过程,主要是通过事件来触发而被执行的。
它可以强化约束,来维护数据的完整性和一致性,可以跟踪数据库内的操作从而不允许未经许可的更新和变化。可以联级运算。如,某表上的触发器上包含对另一个表的数据操作,而该操作又会导致该表触发器被触发。
2.什么是存储过程?用什么来调用?
答:
存储过程是一个预编译的SQL语句,优点是允许模块化的设计,就是说只需创建一次,以后在该程序中就可以调用多次。如果某次操作需要执行多次SQL,使用存储过程比单纯SQL语句执行要快。可以用一个命令对象来调用存储过程。
3.索引的作用?和它的优点缺点是什么?
答:
索引就一种特殊的查询表,数据库的搜索引擎可以利用它加速对数据的检索。它很类似与现实生活中书的目录,不需要查询整本书内容就可以找到想要的数据。索引可以是唯一的,创建索引允许指定单个列或者是多个列。
缺点是它减慢了数据录入的速度,同时也增加了数据库的尺寸大小。
3。什么是内存泄漏?
答:
一般我们所说的内存泄漏指的是堆内存的泄漏。堆内存是程序从堆中为其分配的,大小任意的,使用完后要显示释放内存。当应用程序用关键字new等创建对象时,就从堆中为它分配一块内存,使用完后程序调用free或者delete 释放该内存,否则就说该内存就不能被使用,我们就说该内存被泄漏了。
4.维护数据库的完整性和一致性,你喜欢用触发器还是自写业务逻辑?为什
么?
答:
我是这样做的,尽可能使用约束,如check,主键,外键,非空字段等来约束,这样做效率最高,也最方便。其次是使用触发器,这种方法可以保证,无论什么业务系统访问数据库都可以保证数据的完整新和一致性。最后考虑的是自写业务逻辑,但这样做麻烦,编程复杂,效率低下。
5.什么是事务?什么是锁?
答:
事务就是被绑定在一起作为一个逻辑工作单元的SQL语句分组,如果任何一个语句操作失败那么整个操作就被失败,以后操作就会回滚到操作前状态,或者是上有个节点。为了确保要么执行,要么不执行,就可以使用事务。
要将有组语句作为事务考虑,就需要通过ACID测试,即原子性,一致性,隔离性和持久性。
锁:
在所以的DBMS中,锁是实现事务的关键,锁可以保证事务的完整性和并发性。与现实生活中锁一样,它可以使某些数据的拥有者,在某段时间内不能使用某些数据或数据结构。当然锁还分级别的。
6."什么叫视图?游标是什么?
答:
视图是一种虚拟的表,具有和物理表相同的功能。可以对视图进行增,改,查,操作,试图通常是有一个表或者多个表的行或列的子集。对视图的修改不影响基本表。它使得我们获取数据更容易,相比多表查询。
游标:
是对查询出来的结果集作为一个单元来有效的处理。游标可以定在该单元中的特定行,从结果集的当前行检索一行或多行。可以对结果集当前行做修改。一般不使用游标,但是需要逐条处理数据的时候,游标显得十分重要。
7.为管理业务培训信息,建立3个表:
S(S#,SN,SD,SA)S#,SN,SD,SA分别代表学号,学员姓名,所属单位,学员年龄C(C#,CN)C#,CN分别代表课程编号,课程名称
SC(S#,C#,G) S#,C#,G分别代表学号,所选的课程编号,学习成绩
(1)使用标准SQL嵌套语句查询选修课程名称为’税收基础’的学员学号和姓名?
答案:
(2)使用标准SQL嵌套语句查询选修课程编号为’C2’的学员姓名和所属单位?
答:
select sn,sd from s,sc where s.s#=sc.s# and sc.c#=’c2’
(3)使用标准SQL嵌套语句查询不选修课程编号为’C5’的学员姓名和所属单位?
答:
selectsn,sdfromswheres#notin(selects#fromscwherec#=’c5’)
(4)查询选修了课程的学员人数
答:
select学员人数=count(distinct s#) from sc
(5)查询选修课程超过5门的学员学号和所属单位?
答:
select sn,sd from s where s# in(select s# from sc group by s# havingcount(distinct c#)>5)