1. java面试题中一般数据库会问什么内容
数据库基础(面试常见题)
一、数据库基础
1. 数据抽象:物理抽象、概念抽象、视图级抽象,内模式、模式、外模式
2. sql语言包括数据定义、数据操纵(Data Manipulation),数据控制(Data Control)
数据定义:Create Table,Alter Table,Drop Table, Craete/Drop Index等
数据操纵:Select ,insert,update,delete,
数据控制:grant,revoke
3. SQL常用命令:
CREATE TABLE Student(
ID NUMBER PRIMARY KEY,
NAME VARCHAR2(50) NOT NULL);//建表
CREATE VIEW view_name AS
Select * FROM Table_name;//建视图
Create UNIQUE INDEX index_name ON TableName(col_name);//建索引
INSERT INTO tablename {column1,column2,…} values(exp1,exp2,…);//插入
INSERT INTO Viewname {column1,column2,…} values(exp1,exp2,…);//插入视图实际影响表
UPDATE tablename SET name=’zang 3’ condition;//更新数据
DELETE FROM Tablename WHERE condition;//删除
GRANT (Select,delete,…) ON (对象) TO USER_NAME [WITH GRANT OPTION];//授权
REVOKE (权限表) ON(对象) FROM USER_NAME [WITH REVOKE OPTION] //撤权
列出工作人员及其领导的名字:
Select E.NAME, S.NAME FROM EMPLOYEE E S
WHERE E.SUPERName=S.Name
4. 视图:
5. 完整性约束:实体完整性、参照完整性、用户定义完整性
2. 通常去面试,面试官会问,数据库会的怎么样
如果是DBA的话可能会深一些,如果面试程序员之类的应该不会问太深。
大都是数据库常用的一些,比如自定义,LEFT ,RIGHT,INNER JOIN区别之类。
对于程序员就够了。
3. 数据库的面试会问什么样的问题
目前在职场中很难找到非常合格的数据库开发人员。有人说:“sql开发是一门语言,它很容易学,但是很难掌握。”
在面试应聘的sql Server数据库开发人员时,我运用了一套标准的基准技术问题。下面这些问题是我觉得能够真正有助于淘汰不合格应聘者的问题。它们按照从易到难的顺序排列。当你问到关于主键和外键的问题时,后面的问题都十分有难度,因为答案可能会更难解释和说明,尤其是在面试的情形下。
你能向我简要叙述一下sql Server 2000中使用的一些数据库对象吗?
你希望听到的答案包括这样一些对象:表格、视图、用户定义的函数,以及存储过程;如果他们还能够提到像触发器这样的对象就更好了。如果应聘者不能回答这个基本的问题,那么这不是一个好兆头。
null是什么意思?
null(空)这个值是数据库世界里一个非常难缠的东西,所以有不少应聘者会在这个问题上跌跟头您也不要觉得意外。
null这个值表示unknown(未知):它不表示“”(空字符串)。假设您的sql Server数据库里有ANSI_nullS,当然在默认情况下会有,对null这个值的任何比较都会生产一个null值。您不能把任何值与一个 unknown值进行比较,并在逻辑上希望获得一个答案。您必须使用IS null操作符。
什么是索引?sql Server 2000里有什么类型的索引?
任何有经验的数据库开发人员都应该能够很轻易地回答这个问题。一些经验不太多的开发人员能够回答这个问题,但是有些地方会说不清楚。
简单地说,索引是一个数据结构,用来快速访问数据库表格或者视图里的数据。在sql Server里,它们有两种形式:聚集索引和非聚集索引。聚集索引在索引的叶级保存数据。这意味着不论聚集索引里有表格的哪个(或哪些)字段,这些字段都会按顺序被保存在表格。由于存在这种排序,所以每个表格只会有一个聚集索引。非聚集索引在索引的叶级有一个行标识符。这个行标识符是一个指向磁盘上数据的指针。它允许每个表格有多个非聚集索引。
什么是主键?什么是外键?
主键是表格里的(一个或多个)字段,只用来定义表格里的行;主键里的值总是唯一的。外键是一个用来建立两个表格之间关系的约束。这种关系一般都涉及一个表格里的主键字段与另外一个表格(尽管可能是同一个表格)里的一系列相连的字段。那么这些相连的字段就是外键。
什么是触发器?sql Server 2000有什么不同类型的触发器?
让未来的数据库开发人员知道可用的触发器类型以及如何实现它们是非常有益的
触发器是一种专用类型的存储过程,它被捆绑到sql Server 2000的表格或者视图上。在sql Server 2000里,有INSTEAD-OF和after两种触发器。INSTEAD-OF触发器是替代数据操控语言(Data Manipulation Language,dml)语句对表格执行语句的存储过程。例如,如果我有一个用于TableA的INSTEAD-OF-UPDATE触发器,同时对这个表格执行一个更新语句,那么INSTEAD-OF-UPDATE触发器里的代码会执行,而不是我执行的更新语句则不会执行操作。
after触发器要在dml语句在数据库里使用之后才执行。这些类型的触发器对于监视发生在数据库表格里的数据变化十分好用。
您如何确一个带有名为Fld1字段的TableB表格里只具有Fld1字段里的那些值,而这些值同时在名为TableA的表格的Fld1字段里?
这个与关系相关的问题有两个可能的答案。第一个答案(而且是您希望听到的答案)是使用外键限制。外键限制用来维护引用的完整性。它被用来确保表格里的字段只保存有已经在不同的(或者相同的)表格里的另一个字段里定义了的值。这个字段就是候选键(通常是另外一个表格的主键)。
另外一种答案是触发器。触发器可以被用来保证以另外一种方式实现与限制相同的作用,但是它非常难设置与维护,而且性能一般都很糟糕。由于这个原因,微软建议开发人员使用外键限制而不是触发器来维护引用的完整性。
对一个投入使用的在线事务处理表格有过多索引需要有什么样的性能考虑?
你正在寻找进行与数据操控有关的应聘人员。对一个表格的索引越多,数据库引擎用来更新、插入或者删除数据所需要的时间就越多,因为在数据操控发生的时候索引也必须要维护。
你可以用什么来确保表格里的字段只接受特定范围里的值?
这个问题可以用多种方式来回答,但是只有一个答案是“好”答案。您希望听到的回答是Check限制,它在数据库表格里被定义,用来限制输入该列的值。
触发器也可以被用来限制数据库表格里的字段能够接受的值,但是这种办法要求触发器在表格里被定义,这可能会在某些情况下影响到性能。因此,微软建议使用Check限制而不是其他的方式来限制域的完整性。
<b?返回参数和output参数之间的区别是什么?>如果应聘者能够正确地回答这个问题,那么他的机会就非常大了,因为这表明他们具有使用存储过程的经验。
返回参数总是由存储过程返回,它用来表示存储过程是成功还是失败。返回参数总是int数据类型。
OUTPUT参数明确要求由开发人员来指定,它可以返回其他类型的数据,例如字符型和数值型的值。(可以用作输出参数的数据类型是有一些限制的。)您可以在一个存储过程里使用多个OUTPUT参数,而您只能够使用一个返回参数。
什么是相关子查询?如何使用这些查询?
经验更加丰富的开发人员将能够准确地描述这种类型的查询。
相关子查询是一种包含子查询的特殊类型的查询。查询里包含的子查询会真正请求外部查询的值,从而形成一个类似于循环的状况。</b?返回参数和output参数之间的区别是什么?>
4. 数据库面试题1
select a.产品名,
isnull(b1.产品数量,0) as 仓库id_1,
isnull(b2.产品数量,0) as 仓库id_2,
isnull(b3.产品数量,0) as 仓库id_3,
isnull(b4.产品数量,0) as 仓库id_4
from
(select distinct 产品名 from tablename) a
left join tablename b1 on b1.产品名=a.产品名 and b1.仓库id=1
left join tablename b2 on b2.产品名=a.产品名 and b2.仓库id=2
left join tablename b3 on b3.产品名=a.产品名 and b3.仓库id=3
left join tablename b4 on b4.产品名=a.产品名 and b4.仓库id=4
5. 求数据库工程师面试的自我介绍
尊敬的领导:
大家下午好!很荣幸能在这里面试,让我有向各位考官学习与交流的机会,现将自己的情况简要介绍一下:我叫优就业,优是优秀的优,就是就业的就,业是毕业的业。我是**工业工程职业技术学院0*届计算机网络专业应届毕业生.即将面临毕业,我渴望找到一份适合自己并值得为其奉献一切的工作。
我有较好的计算机知识和应用能力,能熟练的进行Windows2000和LINUX操作,并能使用VB,DELPHI等语言编程.能运用网页三剑客Photoshop等软件进行相关工作。
我的专长是数据库开发,我希望能从事这方面的工作.我曾开发过多个系统,基中有,成绩管理系统,人事档案管理系统,工资管理系统等等.
在大学期间,每个学期都获得了奖学金,在学习理论的同时,我还培养自己的动手动力,先后的参加过专业技能和电脑操作等比赛,在校12届文化艺术节中四项全能获得三等奖。还担任过班长,具有很强的组织和协调能力。很强的事业心和责任感使我能够面对任何困难和挑战。
最后,我想总结一下我的工作特点。第一是团队协作意识强,善于与人交流和沟通;第二是动手能力和学习能力突出;第三是做事稳健,态度认真,有一定的组织协调 能力;第四是考虑问题全面、仔细,做事有自己明确的想法和计划。我想在走上工作岗 位之后,我可以以最快的速度适应工作环境,不断挖掘自己的能力,完善自己,为企业 创造效益。我想加入XX公司是因为我喜欢我的专业,也很看好XX公司的未来发展,在这里我可以学以致用,这让我有很大的成就感和幸福感。同时我也很欣赏 XX公司的企业文化,很喜欢XX公司的工作环境。我愿意成为企业一员,为企业的发展贡献自己的一份力量。 我的职业生涯目标是,做一个既懂技术,又懂业务的复合型人才。
6. 数据库开发工程师面试题
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)
大概就是这个样子,没执行,你自己再调试下 。
如果两个人相同分数,根据名字顺序排列
7. 面试数据库实习生应该问哪些关于技术的问题
主要有:
a.关系型数据库理论基础;
b.如果数据库是Oracle,那队PL/SQL的掌握程度如何,还可以当场举个例子,让应聘者用纸写下来;如果数据库是MS SQL,那么对T-SQL掌握程度如何,同PL/SQL类似,举例实现;
c.同一个问题,分别用PL/SQL和Oracle实现;
d.编程基础如何,对C/Java的掌握如何,还有很多细节,暂不展开;
e.PL/SQL和T-SQL的游标有什么不一样;
f.重点问PL/SQL或者T-SQL的存储过程、函数;
g.遇到一个新的问题,该从哪些方面寻求帮助,或者解决思路
8. 前几天面试,面试官问会不会用数据库,完全不懂这数据库指的是什么
简单来说数据库就是个电脑中用于储存数据的软件工具;
你说的文案类的工作,可能就只是要求一些简单的数据库操作,因为数据库中可以用特定的方法,对储存的数据进行查询,更新及插入操作(也就是对储存数据的维护)
例如:
如果公司的人事资料在数据库中建立储存,就可以通过数据库查询人员的相关信息(例如入职日期,学历,出生年月等),也可以统计在1个月中入职多少,离职多少的信息
有问题,请继续追问,没问题,请采纳,谢谢~
9. 数据库面试题!!!!
你可以把字段值先转化一下,在输入数据库
$a为原始值
$b = sprintf('%08s',$a);
把$b录入数据库
10. Mysql 数据库面试问题
select
t1.non_seller,
t3.coupon,
ifnull(sum(t2.bal),0)
from
(select seller,coupon from
(select distinct seller from t2) c,
(select distinct coupon from t2) d
) t3
left join t2 on
t3.seller=t2.seller and t3.coupon=t2.coupon
join t1
on t1.seller=t3.seller
group by
t1.non_seller,t3.coupon
order by t3.coupon,t1.non_seller