数据库开发工程师面试题

数据库开发工程师面试题,第1张

select LESSON_NAME as '科目',

max(case when sequence = 1 then NameGrade else null end) as '第一名(姓名+分数)',

max(case when sequence = 2 then NameGrade else null end) as '第二名(姓名+分数)',

max(case when sequence = 3 then NameGrade else null end) as '第三名(姓名+分数)'

(

select LESSON_NAME,STU_NAME+','+convert(varchar,GRADE) as NameGrade,sequence

(select b.LESSON_NAME,c.STU_NAME,a.GRADE,row_number() over(order by a.GRADE Desc, c.STU_NAME asc) as sequence from score a

inner join lession b on (a.LESSION_ID = b.LESSION_ID)

inner join student c on (a.STU_ID = c.STU_ID) ) d

where sequence <4

) e

group by LESSON_NAME

order by case(when LESSON_NAME = '语文' then 1,

when LESSON_NAME = '数学' then 2,

when LESSON_NAME = '英语' then 3,

when LESSON_NAME = '物理' then 4,

when LESSON_NAME = '化学' then 5,

else 9999 end)

大概就是这个样子,没执行,你自己再调试下 。

如果两个人相同分数,根据名字顺序排列

1、什么是数据库事务

数据库事务是构成单一逻辑工作单元的 *** 作集合。数据库事务可以包括一个或多个数据库 *** 作,但是这些 *** 作构成一个逻辑上的整体。

2、数据库事务的四个特性(ACID)

A:原子性,事务中的所有 *** 作作为一个整体不可分割,要么全部 *** 作要么全部不 *** 作。

C:一致性,事务的执行结果必须使数据库从一个一致性状态转为另一个一致性状态。一致性状态:1.系统状态满足数据库的完整性约束,2.系统的状态反映数据库所描述的现实世界的真实状态。

I:隔离性:并发执行的事务不会相互影响,其对数据库的影响和他们串行执行时一样。

D:持久性:事务一旦提交,对数据库的影响就是持久的。任何事务或系统故障都不会导致数据丢失。

3、什么是数据库连接泄露

数据库连接泄露指的是如果在某次使用或者某段程序中没有正确地关闭Connection、Statement和ResultSet资源,那么每次执行都会留下一些没有关闭的连接,这些连接失去了引用而不能得到重新使用,因此就造成了数据库连接的泄漏。数据库连接的资源是宝贵而且是有限的,如果在某段使用频率很高的代码中出现这种泄漏,那么数据库连接资源将被耗尽,影响系统的正常运转。

4、聚集索引

数据行的物理顺序与列值的顺序相同,如果我们查询id比较靠后的数据,那么这行数据的地址在磁盘中的物理地址也会比较靠后。而且由于物理排列方式与聚集索引的顺序相同,所以也就只能建立一个聚集索引了。

5、主键与外键

关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键。

外键用于与另一张表的关联。是能确定另一张表记录的字段,用于保持数据的一致性。比如,A表中的一个字段,是B表的主键,那他就可以是A表的外键。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9636901.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存