欢迎来到第壹文秘! | 帮助中心 分享价值,成长自我!
第壹文秘
全部分类
  • 幼儿/小学教育>
  • 中学教育>
  • 高等教育>
  • 研究生考试>
  • 外语学习>
  • 资格/认证考试>
  • 论文>
  • IT计算机>
  • 法律/法学>
  • 建筑/环境>
  • 通信/电子>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 第壹文秘 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    数据库程序员面试分类真题27.docx

    • 资源ID:1027359       资源大小:37.98KB        全文页数:12页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,如果您不填写信息,系统将为您自动创建临时账号,适用于临时下载。
    如果您填写信息,用户名和密码都是您填写的【邮箱或者手机号】(系统自动生成),方便查询和重复下载。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据库程序员面试分类真题27.docx

    数据库程序员面试分类真题27倚答题1.Oracle和MySQ1.中的分组(GROUPBY)有什么区别?正确答案:OraCIe对于GROUPBY是严格的,所有要SE1.ECT出来的字段必须在GRO(江南博哥)UPBY后边出现,否则会报错:u0R-00979:notaGROUPBYexpression"o而MySQ1.则不同,如果SE1.ECT出来的字段在GRoUPBY后面没有出现,那么会随机取出一个值,而这样查询出来的数据不准确,语义也不明确。所以,作者建议在写SQ1.语句的时候,应该给数据库一个非常明确的指令,而不是让数据库去猜测,这也是写SQ1.语句的一个非常良好的习惯。下面给出一个示例。有一张T_MAX_1.HR表,数据如下图所示,有3个字段ARTIC1.E.AUTHOR和PRICE。请选出每个AUTHOR的PRICE最高的记录(要包含所有字段)。ARTIC1.EAUTHORPRICE0001B3.99000210.990003C1.690004B19.9500056.96首先给出建表语句:CREATETAB1.ET_MAX_1.HR(ARTIC1.EVRCHR2(30),AUTHORVARCHR2(30),PRICENUMBER)OracteCREATETAB1.ET_MAX_1.HK(ARTIC1.EVARCHAR(30),AUTHORVARCHAR(30),PRICEF1.OAT);MySQ1.OraCIe通用INSERTINTOT_MAX_1.HRVA1.UES('0001','B',3.99);INSERTINTOT_MAX_1.HKVA1.UES(,0002,A,10,99);INSERTINTOT_MAX_1.HRVA1.UESC0003,C,.1.69);INSERTINTOT_MAX_1.HRVA1.UESC0004,B,19.95);INSERTINTOT_MAX_1.HRVA1.UESC0005,A,6.96);COMMIT;SE1.ECT*FROMTMAX1.HR;在OraCIe中的数据:-AUTHORBRlCE1.HRgOrchSn>SE1.ECTFROM1.MAX_1.HRlAKiK1.EAUTHORPRICEOOOIB3.99OOO2A10.990003CIJ»0004B19.95啷A6.96在MySQ1.中的数据:mysql>SE1.ECT,FROMT_MAX_1.HR;IARn(IE:.U三Fffl(IIIIMI<100OlIBI19910002IaIi&99IoW3ICI!.69!100MiB19.95OOteIaI&965rosinsd(00s)分析数据后,正确答案应该是ARTIC1.E000200030004A10.99C1.69B19.95对于这个例子,很容易想到的SQ1.语句如下:SE1.ECTT.ARTIC1.E,T.AUTHOR,MX(T.PRICE)EROMT_MAX_1.HRTGRoUPBYT.AUTHOR;SE1.ECT*FROMT_MAX_1.HRTGROUPBYT.AUTHOR;在OraCIe中执行上面的SQ1.语句报错:1.HR刎damXElKTTARTic1.ErAuTOORMAX(TPlUCE)FROM1.MAX_1.HRTGROUPBY1.AUTHOR;SE1.ECTT.ARTK1.ET-AlTHORMM(IPWCt)FROM1.MAXURTGRoUPBY!.AUTHORERRORatal:ORA-(X)979:KllaGROUPBYere0n1.吟山SnKE1.ECTFROMTNx1.HRTGRouPBYTAlmiOR:SEECTROMT_MAX_1.HRTGROUPBYTMTHORtERRORatImcl:ORA-00979:MaGROUPBYWraao在MySQ1.中执行同样的SQ1.语句不会报错:m卿>selnw11O;wsion5.6.21-HiteTprise-Coeercial-advanced-logmjq>SE1.ECTTAKnC1.ElAIJrHOKMAXlT,PR1CE)FROMT_MAX_1.HRTGROUPBY1.ITIIOR:三IOEA11三WX(T-PRICE)MO2A10.99MOIB19.95W03!C1.693rowsint(Q(Osa)11i)Sl>SE1.ECT*FROMT_MAX_1.HRTGROUPBYTA(JTHOR;IARIiafIIIM三IKICE100Q2IA,111!10.99,100oiIBI199I三!C1.693Wiinjet(0.00sec)虽然执行不报错,可以查询出数据,但是从结果来看数据并不是最终想要的结果,甚至数据是错乱的。卜.面给出几种正确的写法(在OraCle和IMySQ1.中均可执行:(1)使用相关子查询SE1.ECT*1ROMT_MAX_1.HKTWHERE(T.AUTHOR.T.PRICE)IN(SE1.ECTNT.AUTHOR,MAX(NT.PRICE)PRICE1ROMT_MAX_1.HRNTGROUPBYNT.AUTHOR)ORDERBYT.ARTIC1.E;SE1.ECT*FROMT_MAX_1.HRTWHERET.PRICE=(SE1,ECTMAX(NT.PRICE)PRICEFROMT_MAX_1.HRNTWHERET.AUTlIOR=NT.AUTHOR)ORDERBYT.ARTIC1.E;(2)使用非相关子查询SE1.ECTT.*FROMT_MAX_IJIRTJOIN(SE1.ECTNT.AUTHOR,MAX(NT.PRICE)PRICEFROMT_MAX_1.HRNTGROUPBYNT.AUTHOR)TlONT.AUTHOR=T1.AUTHORANDT.PRlCE=Tl.PRICEORDERBYT.ARTIC1.E;(3)使用1.EFTJOIN语句SE1.ECTT.*FR0MT_MAX_1.HRT1.EFTOUTERJOINT_MAX_1.HRTlONT.AUTHOR=T1.AUTHORANDT.PRICE<T1.PRICEWHERETkARTIC1.EISNU1.1.ORDERBYT.ARTIC1.E;在OraCIe中的执行结果:1.HRgofcbsm>SE1.三T.2 FRoM1.MW1.HRT3 1.EFTourERJOlN1.MAX-UiRTI4 ONrAirnKS-TlJWnKOR5 ANDTJ,Ria<Tl.PRICE6 Weretlarticleisnuu.7 ORDERBYTJMaiC1.E;.WIC1.EAnHORP8ICE0CO2A10.99MO3C.690004B19.95在VySQ1.中的执行结果:m)>SE1.ECTT.,- >FRoM1.MAX一1.HRT- >1.HT0U三JOINT_MAX_1.HRTI- >ONT.AIIHOR-TlAUTHOR- >Andtprkktlpiuce- >Wheretiarticieisnull- >ORDERBYTAKnC1.E;,IiARTIQfIMWIPRICEI(三Ia10.99;Ic1.69OW!B务i119.96,Jnwshsct(O.OOjcc)2.Oracle和MySQ1.中的分组(GRO1.PBY)后的聚合函数分别是什么?正确答案:在OraCIe中,可以用Wb1.CoNCAT函数或1.lSTAGG分析函数:在MySQ1.中可以使用GRoUP_C0NCAT函数。示例如下:首见给出建表语句:CREATETAB1.ETJIXJJIR(ARTIC1.EVRCHAR2(30),AUTHORVRCHAR2(30),PRICENUMBER);Oracle-CREATETAB1.ET_MAX_1.HR(ARTIC1.EVARCHAR(30),AUTHORVRCHAR(30),PRICEF1.OAT)MySQ1.OraCIe通用INSERTINTOTMAX1.HRVA1.UES(,000,B',3.99);INSERTINTOTMAX1.HRVA1.UES(,0002,A,10.99)INSERTINTOT_MAX_1.HRVA1.UES(,00031,C',1.69);INSERTINTOT_MAX_1.HRVA1.UES(,00041,B',19.95)INSERTINTOT_MAX_1.HRVA1.UES(,0005,*/V,6.96);COMMIT;SE1.ECT*ROMT_MAX_1.HK;在MySQ1.中:11w>Selecttauihor,GROUPlONCATfrARn(IE)IGROU”oNcAT(TpRKl)->FROM1.MAX_1.HRT->Groupbytauthor;.TOGROl?.(三T(T.ARTIOD;三P.三T(T.PRICE)00Q2,W)5I1(199,6.%0001.0CW,I199,19.950003I1.69Srousinitt(O-Wsoc)在OraCle中:1.HRgcrdBnPSaECrTAUnIOR.啊。赋机TARME)ARTIeIEtWM一CONCATn,PR1CT)PRICE2 FROM1.M必1.HRT3 GRoIPBYTA加OR;AlTOARTIC1.EPRICEAOXe.000510.W,6.96B0!,00043.99.19.95COKe1.691.HRgorcUsn>SE1.ECT!AUTHOR.2 UsTAGG(1.ARTIC1.E'.)WlnHNGROtTORDERBYTfRlCE).ARTIC1.E,3 USTAOHT.PRKI,:iWTTHINGRWrderBYTfRlCE)PRICE4 FRoM1.MAI1.HRT5 GRO1.TBYTOfcMWARTIC1.EPRIdAOoO5.00026.96,Id99B0001,001»3.99,19.95C00031.693. MySQ1.的分区表是什么?如何查询MySQ1.是否支持分区?正确答案:表分区是指根据一定规则,将数据库中的一张表分解成多个更小的、容易管理的部分。从逻辑上看,只有一张表,但是底层却是由多个物理分区组成,每个分区都是一个独立的对象。分区有利于管理大表,体现了“分而治之”的理念。一个表最多支持1024个分区。在MySQ1.5.6.1之前可以通过命令showvariableslike,%have_partitioning%>,来查看MySQ1.是否支持分区。若have_partintioning的值为YES,则表示支持分区。从VySQ1.5.6.1开始,该参数已经被去掉1.而是用SHOWP1.UGINS来代替0若有partition行

    注意事项

    本文(数据库程序员面试分类真题27.docx)为本站会员(p**)主动上传,第壹文秘仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知第壹文秘(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 1wenmi网站版权所有

    经营许可证编号:宁ICP备2022001189号-1

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

    收起
    展开