加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营 > 正文

SQL数据库面试题以及答案(50例题)

发布时间:2021-01-01 16:08:13 所属栏目:运营 来源:网络整理
导读:SQL常晤口试题 1.用一条SQL 语句 查询出每门课都大于80 分的门生姓名 name kecheng fenshu张三 语文 81张三 数学 75李四 语文 76李四 数学 90王五 语文 81王五 数学 100王五 英语 90A: select distinct name from table where name not in (select distinct

select * from testtable1insert into testtable1 values('计划')insert into testtable1 values('市场')insert into testtable1 values('售后')/*功效id department1   计划2   市场3   售后 */create table testtable2(id int IDENTITY,dptID int,name varchar(12))insert into testtable2 values(1,'张三')insert into testtable2 values(1,'李四')insert into testtable2 values(2,'王五')insert into testtable2 values(3,'彭六')insert into testtable2 values(4,'陈七')/*用一条SQL语句,怎么表现如下功效id dptID department name1   1      计划        张三2   1      计划        李四3   2      市场        王五4   3      售后        彭六5   4      黑人        陈七*/

谜底:

SELECT testtable2.*,ISNULL(department,'黑人')FROM testtable1 right join testtable2 on testtable2.dptID = testtable1.ID

也做出来了可比这要领稍伟大。

sql口试题(2)

有表A,布局如下: A: p_ID p_Num s_id 1 10 01 1 12 02 2 8 01 3 11 01 3 8 03 个中:p_ID为产物ID,p_Num为产物库存量,s_id为客栈ID。请用SQL语句实现将上表中的数据归并,归并后的数据为: p_ID s1_id s2_id s3_id 1 10 12 0 2 8 0 0 3 11 0 8 个中:s1_id为客栈1的库存量,s2_id为客栈2的库存量,s3_id为客栈3的库存量。假如该产物在某客栈中无库存量,那么就是0取代。

功效:

select p_id,sum(case when s_id=1 then p_num else 0 end) as s1_id,sum(case when s_id=2 then p_num else 0 end) as s2_id,sum(case when s_id=3 then p_num else 0 end) as s3_idfrom myPro group by p_id

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#,SA别离代表学号,学员姓名,所属单元,学员年数

C(C#,CN)C#,CN别离代表课程编号,课程名称

SC(S#,C#,G) S#,G别离代表学号,所选的课程编号,进修后果

(1)行使尺度SQL嵌套语句查询选修课程名称为’税收基本’的学员学号和姓名?

谜底:select s#,sn from s where S# in(select S# from c,sc where c.c#=sc.c# and cn=’税收基本’)

(2) 行使尺度SQL嵌套语句查询选修课程编号为’C2’的学员姓名和所属单元?

答:select sn,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)查询选修了课程的学员人数

答:select 学员人数=count(distinct s#) from sc

(5) 查询选修课程高出5门的学员学号和所属单元?

答:select sn,sd from s where s# in(select s# from sc group by s# having count(distinct c#)>5)

SQL口试题(4)

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读