SQL数据库面试题目及其答案

合集下载

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经典面试题

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语句面试题及答案

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数据库面试题目及其答案

SQL数据库面试题目及其答案

1.触发器的作用?

答:触发器是一中特殊的存储过程,主要是通过事件来触发而被执行的。

它可以强化约束,来维护数据的完整性和一致性,可以跟踪数据库内的操作

从而不允许未经许可的更新和变化。可以联级运算。如,某表上的触发器上包含对另一个表的数据操作,而该操作又会导致该表触发器被触发。

2.什么是存储过程?用什么来调用?

答:存储过程是一个预编译的SQL语句,优点是允许模块化的设计,就是说只需创建一次,以后在该程序中就可以调用多次。如果某次操作需要执行多次SQL使用存储过程比单纯SQL语句执行要快。可以用一个命令对象来调用存储过程。

3.索引的作用?和它的优点缺点是什么?答:索引就一种特殊的查询表,数据库的搜索引擎可以利用它加速对数据的检索。它很类似与现实生活中书的目录,不需要查询整本书内容就可以找到想要的数据。索引可以是唯一的,创建索引允许指定单个列或者是多个列。缺点是它减慢了数据录入的速度,同时也增加了数据库的尺寸大小。

3。什么是内存泄漏?答:一般我们所说的内存泄漏指的是堆内存的泄漏。堆内存是程序从堆中为其分配的,大小任意的,使用完后要显示释放内存。当应用程序用关键字new 等创建对象时,就从堆中为它分配一块内存,使用完后程序调用free 或者delete 释放该内存,否则就说该内存就不能被使用,我们就说该内存被泄漏了。

4.维护数据库的完整性和一致性,你喜欢用触发器还是自写业务逻辑?为什么?

答:我是这样做的,尽可能使用约束,如check, 主键,外键,非空字段等来约束,这样做效率最高,也最方便。其次是使用触发器,这种方法可以保证,无论什么业务系统访问数据库都可以保证数据的完整新和一致性。最后考虑的是自写业务逻辑,但这样做麻烦,编程复杂,效率低下。

常见的sql面试题目

常见的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面试题

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面试题

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数据库经典面试题(修改笔试题)(有答案)

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经典面试题及答案

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数据库经典面试题修改笔试题有答案

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

【篇一: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常见面试题

以下是一些常见的SQL Server 面试题及其答案:

1. 什么是SQL Server?

SQL Server 是由Microsoft 开发的关系型数据库管理系统(RDBMS)。它是一个功能强大、可靠性高的数据库平台,广泛用于企业级应用和数据管理。

2. 什么是数据库?

数据库是一个组织结构化的数据集合,可以通过数据库管理系统(DBMS)进行访问、管理和操作。它提供了一种存储、检索和处理数据的方式。

3. 什么是表?

表是数据库中的基本组成单元,用于存储数据。它由列(字段)和行组成,每个列定义了数据类型和约束规则,每一行表示一个记录。

4. 什么是主键?

主键是表中唯一标识每个记录的列或列组合。它用于确保数据的唯一性和完整性,并且在建立关系时起到重要作用。

5. 什么是外键?

外键是表中与其他表的关联字段,它建立了表之间的关系。外键约束用于确保引用表中的数据完整性,并支持表之间的数据关联。

6. 什么是索引?

索引是一种数据结构,用于快速定位和访问数据库中的数据。它可以加快查询的速度,但会增加写操作的开销。常见的索引类型包括聚集索引、非聚集索引和全文索引。

7. 什么是事务?

事务是数据库操作的基本单位,它是由一个或多个数据库操作组成的逻辑工作单元。事务要么

完全执行,要么完全回滚,以确保数据的一致性和完整性。

8. 什么是视图?

视图是从一个或多个表中派生的虚拟表。它是一个预定义的查询,可以像操作表一样使用。视图提供了数据的安全性、简化了复杂的查询和隐藏了底层数据结构的能力。

9. 什么是存储过程?

sql面试题及答案

sql面试题及答案

sql面试题及答案

sql面试题及答案一

1. 简述索引存取的方法的作用和建立索引的原则

作用:加快查询速度。

原则:

(1) 如果某属性或属性组经常出现在查询条件中,考虑为该属性或属性组建立索引;

(2) 如果某个属性常作为最大值和最小值等聚集函数的参数,考虑为该属性建立索引;

(3) 如果某属性经常出现在连接操作的连接条件中,考虑为该属性或属性组建立索引;

2. 简述数据库的设计过程

数据库设计分为五个阶段:

需求分析:主要是准确收集用户信息需求和处理需求,并对收集的结果进行整理和分析,形成需求说明。

概念结构设计:对用户需求进行综合、归纳、抽象,形成一个与与具体的DBMS无关概念模型(一般为ER模型)。

逻辑结构设计:将概念结构设计的概念模型转化为某个特定的DBMS所支持的数据模型,建立数据库逻辑模式,并对其进行优化,同时为各种用户和应用设计外模式。

物理结构设计:为设计好的逻辑模型选择物理结构,包括存储结构和存取方法等,建立数据库物理模式。

实施和维护:实施就是使用DLL语言建立数据库模式,将实际数据载入数据库,建立真正的数据库。维护阶段是对运行中的数据库进行评价、调整和修改。

3. 什么是内存泄漏?

答案:一般我们所说的内存泄漏指的是堆内存的泄漏。堆内存是程序从堆中为其分配的,大小任意的,使用完后要显示释放内存。当应用程序用关键字new 等创建对象时,就从堆中为它分配一块内存,使用完后程序调用free或者delete 释放该内存,否则就说该内存就不能被使用,我们就说该内存被泄漏了。

4. 什么是基本表?什么是视图?

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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)

相关文档
最新文档