java面试题库13907.docx

上传人:you****now 文档编号:68854223 上传时间:2022-12-30 格式:DOCX 页数:118 大小:261.29KB
返回 下载 相关 举报
java面试题库13907.docx_第1页
第1页 / 共118页
java面试题库13907.docx_第2页
第2页 / 共118页
点击查看更多>>
资源描述

《java面试题库13907.docx》由会员分享,可在线阅读,更多相关《java面试题库13907.docx(118页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、数据库基础(面试常见题)一、数据库库基础1. 数据据抽象:物物理抽象、概概念抽象、视视图级抽象象,内模式式、模式、外外模式2. SQLL语言包括括数据定义义、数据操操纵(Daata MManippulattion),数据控控制(Daata CContrrol)数数据定义:Creaate TTablee,Altter TTablee,Droop Taable, Craaete/Dropp Inddex等数数据操纵:Seleect ,inseert,uupdatte,deeletee,数据控控制:grrant,revooke3. SQLL常用命令令:CREEATE TABLLE Sttudennt

2、(IDD NUMMBER PRIMMARY KEY,NAMEE VARRCHARR2(500) NOOT NUULL);/建表表CREAATE VVIEW vieww_namme ASSSeleect * FROOM Taable_namee;/建建视图Crreatee UNIIQUE INDEEX inndex_namee ON TablleNamme(cool_naame);/建索索引INSSERT INTOO tabblenaame coluumn1,coluumn2, vvaluees(exxp1,eexp2,);/插入IINSERRT INNTO VViewnname collumn

3、11,collumn22, valuues(eexp1,exp22,);/插入入视图实际际影响表UUPDATTE taablenname SET namee=zaang 33 coondittion;/更新新数据DEELETEE FROOM Taablenname WHERRE coondittion;/删除除GRANNT (SSelecct,deeletee,) ON (对象) TO UUSER_NAMEE WIITH GGRANTT OPTTION;/授授权REVVOKE (权限表表) ONN(对象) FROOM USSER_NNAME WITTH REEVOKEE OPTTION /撤撤

4、权列出工工作人员及及其领导的的名字:SSelecct E.NAMEE, S.NAMEE FROOM EMMPLOYYEE EE S WWHEREE E.SSUPERRNamee=S.NName44. 视图图:5. 完完整性约束束:实体完完整性、参参照完整性性、用户定定义完整性性6. 第第三范式:1NF:每个属性性是不可分分的。 22NF:若若关系R是是NF,且每个非非主属性都都完全函数数依赖于RR的键。例例SLC(SID#, CoourceeID#, SNAAME,GGradee),则不不是2NFF; 3NNF:若RR是2NFF,且它的的任何非键键属性都不不传递依赖赖于任何候候选键。77. E

5、RR(实体/联系)模模型8. 索引作用9. 事务:是是一系列的的数据库操作作,是数据据库应用的的基本逻辑辑单位。事事务性质:原子性、l 原子性。即不可分割性,事务要么全部被执行,要么就全部不被执行。l 一致性或可串性。事务的执行使得数据库从一种正确状态转换成另一种正确状态l 隔离性。在事务正确提交之前,不允许把该事务对数据的任何改变提供给任何其他事务,l 持久性。事务正确提交后,其结果将永久保存在数据库中,即使在事务提交后有了其他故障,事务的处理结果也会得到保存。10. 锁:共享锁、互斥锁 两段锁协议:阶段:加锁阶段 阶段:解锁阶段11. 死锁及处理:事务循环等待数据锁,则会死锁。 死锁处理:

6、预防死锁协议,死锁恢复机制12. 存储过程:存储过程就是编译好了的一些sql语句。1.存储过程因为SQL语句已经预编绎过了,因此运行的速度比较快。2. 可保证数据的安全性和完整性。通过存储过程可以使没有权限的用户在控制之下间接地存取数据库,从而保证数据的安全。通过存储过程可以使相关的动作在一起发生,从而可以维护数据库的完整性。3.可以降低网络的通信量。存储过程主要是在服务器上运行,减少对客户机的压力。4:存储过程可以接受参数、输出参数、返回单个或多个结果集以及返回值。可以向程序返回错误原因5:存储过程可以包含程序流、逻辑以及对数据库的查询。同时可以实体封装和隐藏了数据逻辑。 13. 触发器:

7、当满足触发器条件,则系统自动执行触发器的触发体。触发时间:有before,after.触发事件:有insert,update,delete三种。触发类型:有行触发、语句触发14.内联接,外联接区别?内连接是保证两个表中所有的行都要满足连接条件,而外连接则不然。在外连接中,某些不满条件的列也会显示出来,也就是说,只限制其中一个表的行,而不限制另一个表的行。分左连接、右连接、全连接三种15 SQQL语句-创建索引引creatte cllusteered indeex riiqi_ppersoon onn perrson(datee)-在在persson表的的datee字段上面面创建名为为riqii

8、_perrson的的【聚集索索引】crreatee nonnclusstereed inndex riqii_perrson on ppersoon(daate)-在peersonn表的daate字段段上面创建建名为riiqi_ppersoon的【非非聚集索引引】creeate clusstereed inndex datee_perrson on ppersoon(daate,iid)-在perrson表表的datte,agge字段上上面创建名名为riqqi_peersonn的【复合合聚集索引引】creeate noncclustteredd inddex ddate_persson oon

9、 peersonn(datte,agge)-在perrson表表的datte,agge字段上上面创建名名为riqqi_peersonn的【复合合非聚集索索引】语法:CCREATTE 索索引类型 INDDEX 索索引名称ON 表表名(列名名)WITHH FILLLFACCTOR = 填充充因子值001000GOUSE 库名GOIF EEXISTTS (SSELECCT * FROMM SYSSINDEEXES WHERRE NAAME=IX_TTEST_TNAMME)-检测是是否已经存存在IX_TESTT_TNAAME索引引DROPP INDDEX TTEST.IX_TTEST_TNAMME-如

10、如果存在则则删除-创建建索引CREAATE NNONCLLUSTEERED INDEEX IXX_TESST_TNNAME -创建建一个非聚聚集索引ON TTEST(TNAMME) -为TTEST表表的TNAAME字段段创建索引引WITHH FILLLFACCTOR = 300 -填填充因子为为30%GOSELEECT * FROOM TEEST(IINDEXX = IIX_TEEST_TTNAMEE) WHHERE TNAMME = A -指定定按IXX_TESST_TNNAME索引查询询总结: 1.什么是索索引:数据据库中的索索引是某个个表中一列列或多列值值的集合和和相应的指指向表中物物理

11、标识这这些值的数数据页的逻逻辑指针清清单。 2.分类: 唯一索索引(UNNIQUEE):不允允许两行具具有相同的的索引值(创创建了唯一一约束,系系统将自动动创建唯一一索引) 主键索索引:主键键索引要求求主键中的的每个值是是唯一的,(创创建主键自自动创建主主键索引) 聚集索引(CLUSTERED):表中各行的物理顺序与键值的逻辑(索引)顺序相同,表中只能包含一个聚集索引,主键列默认为聚集索引 非聚集索引(NONCLUSTERED):表中各行的物理顺序与键值的逻辑(索引)顺序不匹配,表中可以有249个非聚集索引 3.创建索引的标准:用于频繁搜索的列;用于对数据进行排序的列注意:如果表中仅有几行,或

12、列中只包含几个不同的值,不推荐创建索引,因为SQL Server 在小型表中用索引搜索数据所花的时间比逐行搜索更长。实际上,您可以把索引理解为一种特殊的目录。微软的SQL SERVER提供了两种索引:聚集索引(clustered index,也称聚类索引、簇集索引)和非聚集索引(nonclustered index,也称非聚类索引、非簇集索引)。下面,我们举例来说明一下聚集索引和非聚集索引的区别:其实,我们的汉语字典的正文本身就是一个聚集索引。比如,我们要查“安”字,就会很自然地翻开字典的前几页,因为“安”的拼音是“an”,而按照拼音排序汉字的字典是以英文字母“a”开头并以“z”结尾的,那么“

13、安”字就自然地排在字典的前部。如果您翻完了所有以“a”开头的部分仍然找不到这个字,那么就说明您的字典中没有这个字;同样的,如果查“张”字,那您也会将您的字典翻到最后部分,因为“张”的拼音是“zhang”。也就是说,字典的正文部分本身就是一个目录,您不需要再去查其他目录来找到您需要找的内容。我们把这种正文内容本身就是一种按照一定规则排列的目录称为“聚集索引”。如果您认识某个字,您可以快速地从自动中查到这个字。但您也可能会遇到您不认识的字,不知道它的发音,这时候,您就不能按照刚才的方法找到您要查的字,而需要去根据“偏旁部首”查到您要找的字,然后根据这个字后的页码直接翻到某页来找到您要找的字。但您结

14、合“部首目录”和“检字表”而查到的字的排序并不是真正的正文的排序方法,比如您查“张”字,我们可以看到在查部首之后的检字表中“张”的页码是672页,检字表中“张”的上面是“驰”字,但页码却是63页,“张”的下面是“弩”字,页面是390页。很显然,这些字并不是真正的分别位于“张”字的上下方,现在您看到的连续的“驰、张、弩”三字实际上就是他们在非聚集索引中的排序,是字典正文中的字在非聚集索引中的映射。我们可以通过这种方式来找到您所需要的字,但它需要两个过程,先找到目录中的结果,然后再翻到您所需要的页码。我们把这种目录纯粹是目录,正文纯粹是正文的排序方式称为“非聚集索引”。通过以上例子,我们可以理解到

15、什么是“聚集索引”和“非聚集索引”。SQL试题题2一、教师号号星期期号是否否有课有有有有有有写一一条sqll语句让你你变为这样样的表教师号星星期一星星期二星星期三各星期下下的数字表表示:对应应的教师在在星期几已已经排的课课数二、书表(bookks)boook_iid,boook_nname,creaatdatte,Laastmoodifyydatee,deccripttion0001,三三个人的世世界,20005-002-022,20005-077-07,NULLL作者表(authhors)A_idd,A_nname001,王纷纷02,李李尚03,泰和部门门表(deepts)d_idd,d_n

16、name0001,编编辑一部0002,编编辑二部0003,编编辑三部书书和作者关关联表(bbookmmap)bbook_id,AA_id0001,0010011,020001,003部门和和作者关联联表(deepmapp)d_iid,a_id0001,011002,020003,033找出每个个部门的所所写的总书书两,比如如,一本书书有3个人人写,如果果三个人在在不同的部部门,则每每个部门的的总数量就就是1.最最后结果如如下:部门门,书量编编辑一部,1编辑二二部,1编编辑三部,1三、两个表表情况表名名:wu_plann ID plaan mmodell ccorp_codee plaannum

17、m priixis11 0000011 exxx22 nnokiaa 20000 02 000002 lc0001 soony 33000 0表名:wuu_bommID pplan paact amouunt1 000001 aa1 33002 000001 aa2 22003 000002 bb1 55004 000002 bb2 88005 000002 bb3 4400查询这两个个表中pllan唯一一,每一个个plann中,ammountt最少的,pplannnum大于于prixxis的记记录结果是是:ID plaan mmodell ccorp_codee plaannumm prii

18、xis pactt aamounnt1 000001 eexx222 nokkia 20000 00 aa2 20022 0000022 lc0001 ssony 30000 0 bb33 4000四、表1结结构如下:部门 条条码 品名名 销售额额 销售数数量 销售售日期表2结构如如下课别 部门要求:先按按部门排序序,再按销销售额、销销售数量排排序检索出出某个课别别每个部门门一个时期期内的商品品销售额的的前三名,如如查询011课别20007年44月15日日到20007年4月月22日每每个部门一一个周内的的商品销售售额合计的的前三名SQL 面面试题目汇汇总1触发器器的作用?答:触触发器是一一中特

19、殊的的存储过程程,主要是是通过事件件来触发而而被执行的的。它可以以强化约束束,来维护护数据的完完整性和一一致性,可可以跟踪数数据库内的的操作从而而不允许未未经许可的的更新和变变化。可以以联级运算算。如,某某表上的触触发器上包包含对另一一个表的数数据操作,而而该操作又又会导致该该表触发器器被触发。2。什么是是存储过程程?用什么么来调用?答:存储过过程是一个个预编译的的SQL语句句,优点是是允许模块块化的设计计,就是说说只需创建建一次,以以后在该程程序中就可可以调用多多次。如果果某次操作作需要执行行多次SQQL,使用用存储过程程比单纯SSQL语句句执行要快快。可以用用一个命令令对象来调调用存储过过

20、程。3。索引的的作用?和和它的优点点缺点是什什么?答:索引就就一种特殊殊的查询表表,数据库库的搜索引引擎可以利利用它加速速对数据的的检索。它它很类似与与现实生活活中书的目目录,不需需要查询整整本书内容容就可以找找到想要的的数据。索索引可以是是唯一的,创创建索引允允许指定单单个列或者者是多个列列。缺点是是它减慢了了数据录入入的速度,同同时也增加加了数据库库的尺寸大大小。3。什么是是内存泄漏漏?答:一般我我们所说的的内存泄漏漏指的是堆堆内存的泄泄漏。堆内内存是程序序从堆中为为其分配的的,大小任任意的,使使用完后要要显示释放放内存。当当应用程序序用关键字字new等创创建对象时时,就从堆堆中为它分分配

21、一块内内存,使用用完后程序序调用frree或者者deleete释放放该内存,否否则就说该该内存就不不能被使用用,我们就就说该内存存被泄漏了了。4。维护数数据库的完完整性和一一致性,你你喜欢用触触发器还是是自写业务务逻辑?为为什么?答:我是这这样做的,尽尽可能使用用约束,如如checck,主键键,外键,非非空字段等等来约束,这这样做效率率最高,也也最方便。其其次是使用用触发器,这这种方法可可以保证,无无论什么业业务系统访访问数据库库都可以保保证数据的的完整新和和一致性。最最后考虑的的是自写业业务逻辑,但但这样做麻麻烦,编程程复杂,效效率低下。5。什么是是事务?什什么是锁?答:事务就就是被绑定定在

22、一起作作为一个逻逻辑工作单单元的SQQL语句分分组,如果果任何一个个语句操作作失败那么么整个操作作就被失败败,以后操操作就会回回滚到操作作前状态,或或者是上有有个节点。为为了确保要要么执行,要要么不执行行,就可以以使用事务务。要将有有组语句作作为事务考考虑,就需需要通过AACID测测试,即原原子性,一一致性,隔隔离性和持持久性。锁:在在所以的DDBMS中中,锁是实实现事务的的关键,锁锁可以保证证事务的完完整性和并并发性。与与现实生活活中锁一样样,它可以以使某些数数据的拥有有者,在某某段时间内内不能使用用某些数据据或数据结结构。当然然锁还分级级别的。6。什么叫叫视图?游游标是什么么?答:视图是是

23、一种虚拟拟的表,具具有和物理理表相同的的功能。可可以对视图图进行增,改改,查,操操作,试图图通常是有有一个表或或者多个表表的行或列列的子集。对对视图的修修改不影响响基本表。它它使得我们们获取数据据更容易,相相比多表查查询。游标:是对查询询出来的结结果集作为为一个单元元来有效的的处理。游游标可以定定在该单元元中的特定定行,从结结果集的当当前行检索索一行或多多行。可以以对结果集集当前行做做修改。一一般不使用用游标,但但是需要逐逐条处理数数据的时候候,游标显显得十分重重要。7。为管理理业务培训训信息,建建立3个表:S(S#,SN,SD,SSA)S#,SN,SD,SSA分别代代表学号,学学员姓名,所所

24、属单位,学学员年龄C(C#,CN)C#,CCN分别代代表课程编编号,课程程名称SC(S#,CC#,G) S#,C#,GG分别代表表学号,所所选的课程程编号,学学习成绩(1)使用标标准SQLL嵌套语句句查询选修修课程名称称为税收收基础的的学员学号号和姓名?答案:seleect ss# ,ssn frrom ss wheere SS# inn(sellect S# ffrom c,scc wheere cc.c#=sc.cc# annd cnn=税收收基础)(2) 使用标标准SQLL嵌套语句句查询选修修课程编号号为C22的学员员姓名和所所属单位?答:sellect sn,ssd frrom ss,

25、sc wherre s.s#=ssc.s# andd sc.c#=c2(3) 使用标标准SQLL嵌套语句句查询不选选修课程编编号为CC5的学学员姓名和和所属单位位?答:sellect sn,ssd frrom ss wheere ss# noot inn(sellect s# ffrom sc wwheree c#=c5)(44)查询选选修了课程程的学员人人数答:sellect 学员人数数=couunt(ddistiinct s#) fromm sc(55) 查询询选修课程程超过5门门的学员学学号和所属属单位?答:sellect sn,ssd frrom ss wheere ss# inn(s

26、ellect s# ffrom sc ggroupp by s# hhavinng coount(disttinctt c#)5)目前在职场场中很难找找到非常合合格的数据据库开发人人员。有人人说:“SSQL开发发是一门语语言,它很很容易学,但但是很难掌掌握。” 华为htttp:/t/sqll-19881.httml在面试过程程中多次碰碰到两道SSQL查询询的题目,一一是查询AA(ID,Namee)表中第第31至440条记录录,ID作作为主键可可能是不是是连续增长长的列,完完整的查询询语句如下下:sellect top 10 * froom A wherre IDD (sselecct maax

27、(IDD) frrom (seleect ttop 330 IDD froom A ordeer byy A ) T) ordeer byy A另外外一道题目目的要求是是查询表AA中存在IID重复三三次以上的的记录,完完整的查询询语句如下下:sellect * frrom(sselecct coount(ID) as ccountt froom taable grouup byy ID)T whhere T.coount3以上两两道题目非非常有代表表意义,望望各位把自自己碰到的的有代表的的查询都贴贴上来。creatte taable testttablle1(id iint IIDENTTIT

28、Y,depaartmeent vvarchhar(112) )selecct * fromm tessttabble1iinserrt innto ttestttablee1 vaaluess(设计计)innsertt intto teesttaable11 vallues(市场)inssert intoo tessttabble1 valuues(售后)/*结果id depaartmeent1 设计计2 市场3 售后后 */creeate tablle teesttaable22(id iint IIDENTTITY,dptIID innt,naame vvarchhar(112)insee

29、rt iinto testttablle2 vvaluees(1,张三)inssert intoo tessttabble2 valuues(11,李四四)innsertt intto teesttaable22 vallues(2,王王五)iinserrt innto ttestttablee2 vaaluess(3,彭六)inseert iinto testttablle2 vvaluees(4,陈七)/*用一条条SQL语语句,怎么么显示如下下结果idd dpttID ddeparrtmennt naame1 1 设计 张张三2 1 设计 李四四3 2 市市场 王五44 33 售后后 彭六

30、5 4 黑人 陈陈七*/答案是:SELECCT teesttaable22.* , ISNNULL(depaartmeent,黑人)FROMM tessttabble1 righht jooin ttestttablee2 onn tessttabble2.dptIID = testttablle1.IID在面试应聘聘的SQLL Serrver数数据库开发发人员时,我我运用了一一套标准的的基准技术术问题。下下面这些问问题是我觉觉得能够真真正有助于于淘汰不合合格应聘者者的问题。它它们按照从从易到难的的顺序排列列。当你问问到关于主主键和外键键的问题时时,后面的的问题都十十分有难度度,因为答答案可能

31、会会更难解释释和说明,尤尤其是在面面试的情形形下。你能向我简简要叙述一一下SQLL Serrver 20000中使用的的一些数据据库对象吗吗?你希望听到到的答案包包括这样一一些对象:表格、视视图、用户户定义的函函数,以及及存储过程程;如果他他们还能够够提到像触触发器这样样的对象就就更好了。如如果应聘者者不能回答答这个基本本的问题,那那么这不是是一个好兆兆头。NULL是是什么意思思?NULL(空)这个个值是数据据库世界里里一个非常常难缠的东东西,所以以有不少应应聘者会在在这个问题题上跌跟头头您也不要要觉得意外外。NULL这这个值表示示UNKNNOWN(未知):它不表示示“”(空空字符串)。假设您

32、您的SQLL Serrver数数据库里有有ANSII_NULLLS,当当然在默认认情况下会会有,对NNULL这这个值的任任何比较都都会生产一一个NULLL值。您您不能把任任何值与一一个 UNNKNOWWN值进行行比较,并并在逻辑上上希望获得得一个答案案。您必须须使用ISS NULLL操作符符。什么是索引引?SQLL Serrver 20000里有什么么类型的索索引?任何有经验验的数据库库开发人员员都应该能能够很轻易易地回答这这个问题。一一些经验不不太多的开开发人员能能够回答这这个问题,但但是有些地地方会说不不清楚。简单地说,索索引是一个个数据结构构,用来快快速访问数数据库表格格或者视图图里的数

33、据据。在SQQL Seerverr里,它们们有两种形形式:聚集集索引和非非聚集索引引。聚集索索引在索引引的叶级保保存数据。这这意味着不不论聚集索索引里有表表格的哪个个(或哪些些)字段,这这些字段都都会按顺序序被保存在在表格。由由于存在这这种排序,所所以每个表表格只会有有一个聚集集索引。非非聚集索引引在索引的的叶级有一一个行标识识符。这个个行标识符符是一个指指向磁盘上上数据的指指针。它允允许每个表表格有多个个非聚集索索引。什么是主键键?什么是是外键?主键是表格格里的(一一个或多个个)字段,只只用来定义义表格里的的行;主键键里的值总总是唯一的的。外键是是一个用来来建立两个个表格之间间关系的约约束。

34、这种种关系一般般都涉及一一个表格里里的主键字字段与另外外一个表格格(尽管可可能是同一一个表格)里的一系系列相连的的字段。那那么这些相相连的字段段就是外键键。什么是触发发器?SQQL Seerverr 20000有什么么不同类型型的触发器器?让未来的数数据库开发发人员知道道可用的触触发器类型型以及如何何实现它们们是非常有有益的。触发器是一一种专用类类型的存储储过程,它它被捆绑到到SQL Servver 22000的的表格或者者视图上。在在SQL Servver 22000里里,有INNSTEAAD-OFF和AFTTER两种种触发器。IINSTEEAD-OOF触发器器是替代数数据操控语语言(Daa

35、ta MManippulattion Langguagee,DMLL)语句对对表格执行行语句的存存储过程。例例如,如果果我有一个个用于TaableAA的INSSTEADD-OF-UPDAATE触发发器,同时时对这个表表格执行一一个更新语语句,那么么INSTTEAD-OF-UUPDATTE触发器器里的代码码会执行,而而不是我执执行的更新新语句则不不会执行操操作。AFTERR触发器要要在DMLL语句在数数据库里使使用之后才才执行。这这些类型的的触发器对对于监视发发生在数据据库表格里里的数据变变化十分好好用。您如何确一一个带有名名为Fldd1字段的的TablleB表格格里只具有有Fld11字段里的的

36、那些值,而而这些值同同时在名为为TablleA的表表格的Flld1字段段里?这个与关系系相关的问问题有两个个可能的答答案。第一一个答案(而且是您您希望听到到的答案)是使用外外键限制。外外键限制用用来维护引引用的完整整性。它被被用来确保保表格里的的字段只保保存有已经经在不同的的(或者相相同的)表表格里的另另一个字段段里定义了了的值。这这个字段就就是候选键键(通常是是另外一个个表格的主主键)。另外一种答答案是触发发器。触发发器可以被被用来保证证以另外一一种方式实实现与限制制相同的作作用,但是是它非常难难设置与维维护,而且且性能一般般都很糟糕糕。由于这这个原因,微微软建议开开发人员使使用外键限限制而

37、不是是触发器来来维护引用用的完整性性。对一个投入入使用的在在线事务处处理表格有有过多索引引需要有什什么样的性性能考虑?你正在寻找找进行与数数据操控有有关的应聘聘人员。对对一个表格格的索引越越多,数据据库引擎用用来更新、插插入或者删删除数据所所需要的时时间就越多多,因为在在数据操控控发生的时时候索引也也必须要维维护。你可以用什什么来确保保表格里的的字段只接接受特定范范围里的值值?这个问题可可以用多种种方式来回回答,但是是只有一个个答案是“好好”答案。您您希望听到到的回答是是Checck限制,它它在数据库库表格里被被定义,用用来限制输输入该列的的值。触发器也可可以被用来来限制数据据库表格里里的字段

38、能能够接受的的值,但是是这种办法法要求触发发器在表格格里被定义义,这可能能会在某些些情况下影影响到性能能。因此,微微软建议使使用Cheeck限制制而不是其其他的方式式来限制域域的完整性性。如果应聘者者能够正确确地回答这这个问题,那那么他的机机会就非常常大了,因因为这表明明他们具有有使用存储储过程的经经验。返回参数总总是由存储储过程返回回,它用来来表示存储储过程是成成功还是失失败。返回回参数总是是INT数数据类型。OUTPUUT参数明明确要求由由开发人员员来指定,它它可以返回回其他类型型的数据,例例如字符型型和数值型型的值。(可以用作作输出参数数的数据类类型是有一一些限制的的。)您可可以在一个个

39、存储过程程里使用多多个OUTTPUT参参数,而您您只能够使使用一个返返回参数。什么是相关关子查询?如何使用用这些查询询?经验更加丰丰富的开发发人员将能能够准确地地描述这种种类型的查查询。相关子查询询是一种包包含子查询询的特殊类类型的查询询。查询里里包含的子子查询会真真正请求外外部查询的的值,从而而形成一个个类似于循循环的状况况。数据库面试试一:SQLL tunning 类1. 列举举几种表连连接方式AAnsweer:等连连接(内连连接)、非非等连接、自自连接、外外连接(左左、右、全全)Or haash jjoin/mergge jooin/nnest loopp(cluusterr joiin

40、)/iindexx joiin ?ORACLLE 8ii,9i 表连接方方法。一般的相等等连接: seleect * froom a, b wwheree a.iid = b.idd; 这个个就属于内内连接。对于外连接接:Oraclle中可以以使用“(+) ”来来表示,99i可以使使用LEFFT/RIIGHT/FULLL OUTTER JJOINLEFT OUTEER JOOIN:左左外关联SELECCT e.lastt_namme, ee.deppartmment_id, d.deeparttmentt_nammeFROM emplloyeees eLEFT OUTEER JOOIN dde

41、parrtmennts ddON (ee.deppartmment_id = d.ddeparrtmennt_idd);等价于SELECCT e.lastt_namme, ee.deppartmment_id, d.deeparttmentt_nammeFROM emplloyeees e, deppartmmentss dWHEREE e.ddeparrtmennt_idd=d.ddeparrtmennt_idd(+)结果为:所所有员工及及对应部门门的记录,包包括没有对对应部门编编号deppartmment_id的员员工记录。RIGHTT OUTTER JJOIN:右外关联联SELECCT

42、e.lastt_namme, ee.deppartmment_id, d.deeparttmentt_nammeFROM emplloyeees eRIGHTT OUTTER JJOIN depaartmeents dON (ee.deppartmment_id = d.ddeparrtmennt_idd);等价于SELECCT e.lastt_namme, ee.deppartmment_id, d.deeparttmentt_nammeFROM emplloyeees e, deppartmmentss dWHEREE e.ddeparrtmennt_idd(+)=d.deeparttme

43、ntt_id结果为:所所有员工及及对应部门门的记录,包包括没有任任何员工的的部门记录录。FULL OUTEER JOOIN:全全外关联SELECCT e.lastt_namme, ee.deppartmment_id, d.deeparttmentt_nammeFROM emplloyeees eFULL OUTEER JOOIN ddeparrtmennts ddON (ee.deppartmment_id = d.ddeparrtmennt_idd);结果为:所所有员工及及对应部门门的记录,包包括没有对对应部门编编号deppartmment_id的员员工记录和和没有任何何员工的部部门记录。ORACLLE8i是是不直接支支持完全外外连接的语语法,也就就是说不能能在左右两两个表上同同时加上(+),下下面是在OORACLLE8i可可以参考的的完全外连连接语法selecct t11.id,t2.iid frrom ttablee1 t11,tabble tt2 whhere t1.iid=t22.id(+)unionnselecct t11.id,t2.iid frrom ttablee1 t11,tabble tt2 whhere t1.iid(+)=t2.id连接类型定定义图示例子

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 管理文献 > 管理工具

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁