数据库程序员面试分类真题6.docx
《数据库程序员面试分类真题6.docx》由会员分享,可在线阅读,更多相关《数据库程序员面试分类真题6.docx(18页珍藏版)》请在优知文库上搜索。
1、数据库程序员面试分类真题6筒答题1. 什么是多表连接查询?正确答案:多表连接查询是指基于两个或两个以上的表或视图的查询。在实际应用中,查洵单表不可能满足业务的需求,只能通过多表的连接来获取所需要的(江南博哥)数据。多表连接查询主要分为等值连接、非等值连接、外连接和Fl连接四类。需要注意的是,WHERE子句中的连接条件的个数不能少于FROM后表的个数减1,这样可以确保不会形成笛卡儿积。即为了连接n个表,至少需要nT个连接条件。例如,为了连接5个表,至少需要4个连接条件。考点SQ1.编写2. 笛卡儿积是什么?正确答案:笛k儿积是把表中所有的记录做乘枳操作,生成大量的结果,而通常结果中可用的值有限.
2、笛K儿积出现的原因多种多样,通常是由于连接条件缺失造成的。对笛卜儿积的使用,需要注意以卜.几点:1)笛卡儿积会在下面条件下产生:省略连接条件或连接条件缺失。连接条件无效,例如,&A和表B进行连接,但连接条件为A.ID=A.ID,这里的连接条件无效。统计信息不准确,例如,&A有100OW的数据量,但是在统计信息中记泉的是0行,这种情况下表的连接易形成笛卡儿积。2)由于笛卡儿积中的所有表中的所有行互相连接,所以,形成笛卡儿积的结果集的记录数是组成它的各个子集的乘积。3)为了避免笛卡儿积,需要在WHERE字句中加入有效的连接条件。4)默认情况卜.,查询会返回全部行,包括重复行。考点SQ1.编写3.
3、什么是FoP-N查询?正确答案:在数据库查询中,“T。PT分析”也称“T。P-N查询”,就是获取某一数据集合(表或查询结果集)中的前N条记录,例如,考试成绩前三名的学生信息、销量前十名的畅销书信息、从当前时刻开始最早起飞的五次航班信息等,实际应用中Top-N分析经常会用到。以下几点是Top-N的性质:DTop-N分析就是查询前几名的意思。2)在OraCle数据库中,Top-N分析通过ROWNUM实现。3)Top-N分析中必须使用ORDERBY排序子句。4)Top-N分析中通常会有内建视图,一般的方法是先对内建视图的某一列或某些列排序,然后对此内建视图使用RoWNUM取前多少行数据。如果要按照某
4、种规则对符合条件的雀询结果进行排序,再返回爸询结果中的全部记录行,那么这是很容易做到的。例如,要查询10号和20号部门所有员工的工资信息,可采用如卜方式:SE1.ECTEMPNO,EYAME,S1.FROMSCOTT.EMPDWHEREDEPTNOIN(10,20)0RDERBYD.EMPNO;如果是要在排序查询中进行ToP-N分析,那么情况要夏杂一些。例如,要求按照工资降序排列,查询10号和20号部门工资最高前五名员工的信息,则SQ1.语句为SY%ftribSE1.ECTROWNUM的RN原断界MPNo员尊空NAME姓名JSA1.工炎2FROM(SElRTROWNUMRNIEMPNaENAM
5、ErSA1.FRoMSCOnfMPftHEREDEPTNOIN(Ii)1MiORDERBYSA1.DESqTA3WEREROWNfMCREATETAB1.ET_1.HR_01(IDNUMBER):Tabletreated.SYSlhrdbCRETETAB1.ET_1.HR_02(IDNUMBER,NAMEVRCHR2(255):Tablecreated.SYSlhrdbSE1.ECTC.CO1.UMN_NAMEEROMCO1.SCWHEREC.TAB1.E_NAME=T1.1.HRJ)22 MINUS3 SE1.ECTC.CO1.UMZNAVEFROMCo1.SCWHEREC.TAB1.E_N
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 程序员 面试 分类