您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 招聘面试 > Oracle 面试题库―SQL
题目内容:1.ORACLE用来判断列值是否为空的操作符是____A==NULLBISNULLCASNULLDNULLIS2分析以下的SQL命令SELECTi.id_number,m.id_numberFROMinventoryi,manufacturermWHEREi.manufacturer_id=m.id_numberORDERBYinventory.description;如何修改上述命令使其成功执行()AORDERBYdescriptionBORDERBYi.descriptionCWHEREinventory.manufacturer_id=m.id_numberORDERBYinventory.descriptionDORDERBYinventory.description;3.在客户定单表(CUSTOMER)中有一列为单价(PRICE),写一个SELECT命令显示所有单价在500以上的查询语句。ASELECT*FROMCUSTOMERWHEREPRICE500;BSELECT*FROMCUSTOMERWHEREPRICEBETWEEN500AND*;CSELECT*FROMCUSTOMERWHEREPRICELIKE‘%500%’;DSELECT*FROMCUSTOMERWHEREPRICE=500;4.分析以下SQL命令:SELECTpriceFROMinventoryWHEREpriceBETWEEN1AND50AND(priceIN(55,30,95);命令执行后的输出结果是:()A55B30C95DNULL5.分析以下的SQL命令:SELECTmanufacturer_idFROMinventoryWHEREmanufacturer_idLIKE‘%N\%P\%O%’ESCAPE‘\’;命令执行的返回结果是()A所有包含’NPO’的纪录B所有包含’N\P\O’的纪录C所有包含’N%P%O’的纪录D所有包含’%N\P\O%’的纪录6.分析以下的SQL命令:SELECTi.id_number,m.manufacturer_nameFROMinventoryi,manufacturermWHEREi.manufacturer_id(+)=m.id_number;WHERE子句中的(+)是什么含义?A将inventory表中不满足条件的记录也查出来B将i.manufacturer_id+m.id_numberC将manufacturer表中不满足条件的记录也查出来D不能这样写,语法错误7.写一SQL语句实现以下功能,把inventory表中的ORDER_DATE值‘23-MAY-00′显示成‘01-JAN-00′ASELECTROUND(order_date,‘YEAR’)FROMinventory;BSELECTTO_DATE(order_date,‘DD-MM-YY’)FROMinventory;CSELECTTO_CHAR(order_date,‘DD-MM-YY’)FROMinventory;D都不对8.下面的SQL命令显示的结果是什么类型:TO_DATE(’01-JAN-1998′)–TO_DATE(’01-DEC-1996′)A数值B字符串C日期D出现错误9.简述ROUND和TRUNC操作的区别?AROUND在截掉数据时有四舍五入的判断,TRUNC直接按要求截掉没有进位。B都是将数据按指定的长度截断CTRUNC是四舍五入,ROUND是截断D都会四舍五入10.简述SUBSTR和LENGTH的主要功能。答案:SUBSTR:用来在一个字符串中求子串LENGTH:用于求字符串的长度。11.分析以下的SQL命令:SELECTCONCAT(UPPER(SUBSTR(location,1,3)),dept_number)“DepartmentLocation”FROMdepartment;哪个function最后执行?a.UPPER答案:concat12.分析以下的SQL命令:SELECT*FROMproductWHERELOWER(description)=‘CABLE’;命令能否执行?是否有结果返回?为什么?答案:命令可以执行,没有结果返回,因为查询条件中的LOWER把查询列值改为小写,而等号右侧为大写,所以不会有结果返回。13.在PLAN表中有一列为SPECIES_ID,该列与SPECIES表的ID列对应,但后者包含空值,要想在显示结果中包含SPECIES表的ID列为空值的行的信息,用那种连接条件可以实现?答案:外连接14.分析以下的SQL命令:SELECTi.id_number,m.manufacturer_idFROMinventoryi,inventorymWHEREi.manufacturer_id=m.region_id_number;该命令中使用的连接条件是()连接答案:自连接15.外连接的符号可以放在连接条件的哪边,可以两边同时使用吗?答案:放在包含空值的一边,不可以两边同时使用16.如果用等值连接来查询5张表内的信息,至少需要几个连接条件?答案:至少需要4个连接条件。17.分析以下的SQL命令:SELECTi.id_number,m.id_numberFROMinventoryi,manufacturermWHEREi.manufacturer_id=m.id_numberORDERBY1;该命令执行结果的排序是按那一列的值排序的?答案:按inventory表的id_number列排序18.如果在where子句中有两个条件要同时满足,应该用以下哪个逻辑符来连接A.ORB.NOTC.ANDD.NONE答案c19.外连接的条件可以放在以下的那一个子句中A.FROMB.WEHREC.SELECTD.HAVINGE.GROUPBYF.ORDERBY答案B20.在从两个表中查询数据时,连接条件要放在哪个子句中A.FROMB.WHEREC.SELECTD.HAVINGE.GROUPBY答案B21用以下哪个子句来限制分组统计结果信息的显示A.FROMB.WEHREC.SELECTD.HAVINGE.GROUPBYF.ORDERBY答案D22.数据库中的TEACHER表的结果如下:IDNUMBER(7)PKSALARYNUMBER(7,2)SUBJECT_IDNUMBER(7)至少有两行以上的SUBJECT_ID值是不同的分析以下的SQL命令:1.SELECTROUND(SUM(salary),-4)FROMteacher;2.SELECTsubject_id,ROUND(SUM(salary),-2)FROMteacherGROUPBYsubject_id;两个命令的显示结果相同吗?哪个命令显示的结果会多些?答案:不同,命令2会返回更多的结果23.如果想对分组统计的结果信息进行筛选,用where条件子句能实现吗?如果不行该用什么子句实现?答案:用where子句不能实现,应该用having子句24.以下需求中哪个需要用分组函数来实现?A.把ORDER表中的定单时间显示成‘DDMONYYYY’格式B.把字符串‘JANUARY28,2000′转换成日期格式C.显示PRODUCT表中的COST列值总量D.把PRODUCT表中的DESCRIPTION列用小写形式显示答案C25.用以下的SQL语句查询数据库:SELECTid_number“PartNumber”,SUM(price*quantity)TOTAL,descriptionFROMinventoryWHEREprice5.00ORDERBY“PartNumber”,3;哪一句会产生错误?A.FROMINVENTORYB.WHEREPRICE5.00C.ORDERBY“PARTNUMBER”,3;D.SELECTid_number“PartNumber”,SUM(price*quantity)TOTAL,description答案D26.EMPLOYEE表包含以下的列:EMP_IDNUMBER(9)NAMEVARCHAR2(25)BONUSNUMBER(5,2)DEPT_IDNUMBER(9)如果想计算所有具有bonus的职员的bonus平均值,不考虑该列包含空值的那些雇员,用什么功能函数可以实现?答案:使用AVG函数可以实现。27.写出包含SELECT,FROM,HAVING,WHERE,GROUPBY,ORDERBY子句的书写顺序答案:SELECTFROMWHEREGROUPHAVINGORDERBY28.分析以下的SQL命令SELECTid_number“PartNumber”,SUM(price)“Price”FROMinventoryWHEREprice5.00GROUPBY“PartNumber”ORDERBY2;哪一个子句会产生错误?如何修改答案:第四句GROUPBY“PartNumber”会产生错误,应改为GROUPBYid_number29.在单行子查询中,子查询的返回结果为多少,返回2行可以吗?答案:只能返回一行,否则会出错。30.以下操作符中哪个可以用做单行简单查询的操作符A.=B.INC.LIKED.BETWEEN答案A31.分析以下的SQL命令:SELECTid_numberFROMinventoryWHEREmanufacturer_idIN(SELECTmanufacturer_idFROMinventoryWHEREprice1.00ORprice6.00);该子查询的能否执行,是否有语法错误?答案:没有语法错误,可以执行为32.分析以下SQL命令:SELECTemployee_id,nameFROMemployeeWHEREemployee_idNOTIN(SELECTemployee_idFROMemployeeWHEREdepartment_id=30ANDjob=‘CLERK’);如果子查询返回空值,结果会是什么样?答案没有结果返回。33.如果用户用UPDATE命令修改了表中的数据值,是否可以恢复回来?答案:如果事务没有提交可以用ROLLBACK恢复回来。34.用户对某表中的数据做修改操作,还没有提交,此时机器断电,修改结果是否能保存在数据库中?答案:不能,因为非正常结束的事务会被ORACLE回滚掉35.以下那些命令可以暗含提交操作?A.GRANTB.UPDATEC.SELECTD.ROLLBACK答案A36.那种类型的约束可以自动创建索引?答案:UNIQUE,PRIMARTKEY37哪中类型的约束只能定义在列级A.CHECKB.UNIQUEC.NOTNULLD.PRIMARTKEYE.FOREIGNKEY答案C38.可以在以下哪个对象上创建视图?(选择两个)A.VIEWB.QUERYC.TABLED.COMMANDE.TRANSAction答案A,C39.分析以下SQL命令:CREATEFORCEVIEWparts_vu(company,contact)ASSELECTmanufacturer_name,contact_nameFROMinventoryWITHREADONLY;在PARTS_VU视图上可以执行UPDATE操作吗?为什么?可以进行什么操作?答案:不能执行UPDATE操作,因为该视图是只读的,只能进行select(检索)操作40.表PERSONNEL的结构如下:IDNUMBER(9)LAST_NAMEVARCHAR2(25)FIRST_NAMEVARCHAR2(25)MANAGER_IDNUMBER(9)这里,部门的管理者也看作是雇员..分析以下两个命令:SELECTp.last_name,p.first_name,m.last_name,m.first_nameFROMpersonnelp,personnelmWHEREm.id=p.manager_id;SELECTp.last_name,p.first_name,m.last_name,m.first_nameFROM
本文标题:Oracle 面试题库―SQL
链接地址:https://www.777doc.com/doc-4358980 .html