当前位置:文档之家› 数据库面试题

数据库面试题

1.1.数据库1.1.1.数据库员工表的定义如下:Last_name VARCHAR2(25)First_name VARCHAR2(25)Salary NUMBER(7,2)现查询显示未达到平均工资的员工姓名.请考察下面的SQL语句:SELECT last_name, first_name FROM employee WHERE salary < avg(salary);对这条SQL做以下哪项修改能够达到目的?A.改变WHERE子句B.把聚合函数移到SELECT列表中,并增加GROUP子句C.通过子查询得出平均工资水平并在父查询的WHERE子句中比较D.把聚合函数移到SELECT列表中,并增加GROUP BY子句和HAVING子句注:SELECT last_name, first_nameFROM employeewhere sal<(Select avg(salary) from employee);1.1.2.数据库要从员工表中查询所有姓Smith的人,但是并不能确定所有Smith的大小写,以下哪条语句能解决问题?A.SELECT last_name, first_name FROM emp WHERE last_name=’smith’B.SELECT last_name, first_name FROM emp WHERE UPPER(last_name)=’smith’C.SELECT last_name, first_name FROM emp WHERE last_name=UPPER(‘smith’)D.SELECT last_name, first_name FROM emp WHERE LOWER(last_name)=’smith’1.1.3.delete from tablea & truncate table tablea的区别( )A.没有区别B.速度相同C.速度不同D.日志记录不同1.1.4.下列哪些(或哪个)不是PL/SQL的组成部分()A.DECLAREB.CATCHC.THROWD.EXCEPTION1.1.5.SQL语句中修改表结构的命令是______。

A.MODIFY TABLEB.MODIFY STRUCTUREC.ALTER TABLED.ALTER STRUCTURE1.1.6.对数据库中表null的理解错误的是( )A.null 等价于没有任何值,是未知数。

B.对空值做加、减、乘、除等运算操作,结果仍为空C.比较时使用关键字用“== null”和“!= null”D.比其他数据都大所以降序排序时NULL值总是排在最前mysql中不正确1.1.7.对事务回滚的正确描述是_____。

A.将该事务对数据库的修改进行恢复B.将事务对数据库的更新写入硬盘C.跳转到事务程序的开头重新执行D.将事务中修改的变量值恢复到事务开始时的初值1.1.8.sql语句select last_name||’ salary is’||salary from employees 查询结果( ) 【德邦物流】Employees表结构如下:A.King ‘salary is’24000B.king24000C.king salary is 24000D.sql语句语法错误1.1.9.{SQL题目}在pubs 数据库titles 表的notes 列中搜索以字符串"50%"开头的所有记录,请选择以下正确的语句:()(选择1项)A.SELECT * FROM titles WHERE notes LIKE '50%'B.SELECT * FROM titles WHERE notes LIKE '50/%%' ESCAPE '/'C.SELECT * FROM titles WHERE notes LIKE '50%' ESCAPE '%'D.SELECT * FROM titles WHERE notes LIKE '50%%%' ESCAPE '%'1.1.10.如果A为null则返回B,否则返回A,应该使用下列哪个函数?()A.NULLIF(A,B)B.NVL(A,B)C.NVL2(A,B)D.DECODE(A,B)1.1.11.唯一标识表中的记录的一个或者一组列被称为( )A.外键B.主键C.关系D.度1.1.12.只有满足联接条件的记录才包含在查询结果中,这种联接为( )A.左联接B.右联接C.内部联接D.完全联接1.1.13.下列语句不属于ORACLE DDL的是()【掌中浩阅】A.RENAMEB.TRUNCATEC.MERGED.Alter1.1.14.为简化用户的查询操作,又不增加数据的存储空间,常用方法为创建()A.另一个表(TABLE)B.游标C.视图D.索引1.1.15.____是DBMS的基本单位,它是用户定义的一组逻辑一致的程序序列。

(C)A.程序B.命令C.事务D.文件1.1.16.数据库中有以下数据:Drop table foo;Create table foo(Id number(11),Name varchar2(11),Pass varchar2(11),Constraint id_pri primary key(id));Drop sequence seq_foo;Create sequence seq_foo;Insert into foo values(seq_foo.nextval,‘aaa’,111);Insert into foo values(seq_foo.nextval,‘bbb’,222);Insert into foo values(seq_foo.nextval,‘ccc’,333);ID(pri)(Auto) name pass1 aaa 1112 bbb 2223 ccc 333a.请用一条SQL语句将现有的三条记录复制一下,达到以下的效果:insert into foo select seq_foo.nextval,name,pass from foo;ID(pri) (Auto) name pass1 aaa 1112 bbb 2223 ccc 3334 aaa 1115 bbb 2226 ccc 333b. 再用sql语句删除重复记录。

Delete from foo where id not in (Select min(id) from foo group by name,pass);1.1.17.表名:高考信息表准考证号科目成绩2006001 语文 1192006001 数学 1082006002 物理 1422006001 化学 1362006001 物理 1272006002 数学 1492006002 英语 1102006002 语文 1052006001 英语 982006002 化学 129……给出高考总分在600以上的学生准考证号。

select 准考证号 from 高考信息表 group by 准考证号 having sum(成绩)>600;1.1.18.数据库有两张表一个学生表(id,name,sex),一个学生成绩表(id,chineses,English,math),要求查询学生基本信息以及各科成绩和总成绩,总成绩要求在200到300之间,学生姓名降序。

Student Id name sexgrade Id chineses english mathSelect from student s join grade g on(s.id=g.id)1.1.19.现有关系数据库表如下:学生表(学号 char(6), 姓名,性别,身份证号)课程表(课号 char(6), 名称)成绩表(id,学号,课号,分数)用sql实现下面2题:1.检索姓马的女同学情况(姓名, 身份证号)2.检索有一门或一门以上课程成绩大于等于90的所有学生信息(学号,姓名)Student course ScoreSelect * from stu where exists (select 1 from score where sid=stu.id and score>=90);1.1.20.有三张表,学生表Student,课程Coruse,学生课程表SC,学生可以选修多门课程,一门课程可以被多个学生选修,通过SC 表关联。

1)写出建表语句;2)写出 SQL 语句,查询选修了所有选修课程的学生;3)写出 SQL 语句,查询选修了至少 2 门以上的课程的学生。

1.1.21.表class和student结构如下,请完成后续SQL语句表class属性类型(长度) 默认值约束含义CLASSNO 数值(2) 无主键班级编号CNAME 变长字符(10) 无非空班级名称表student属性类型(长度) 默认值约束含义STUNO 数值(8) 无主键学号SNAME 变长字符(12) 无非空姓名SEX 字符(2) 男无性别BIRTHDAY 字符(8) 无无生日EMAIL 变长字符(20) 无唯一电子邮件SCORE 数值(5, 2) 无检查成绩CLASSNO 数值(2) 无外键,关联到班级编号表CLASS的CLASSNO主键数据STUNO SNAME SEX BIRTHDAY EMAIL SCORE CLASSNO21 tom 男19790203 tom@ 89.50 156 jerry 默认值空空空 2a. 修改表student的数据,将所有一班的学生成绩加10分。

b. 删除表student的数据,将所有3班出生日期晚于1981年5月12日的记录删除。

c. 按班级升序排序,成绩降序排序,查询student表的所有记录。

d. 查询student表中所有三班成绩为空的学生记录。

e. 表student与class联合查询,要求查询所有学生的学号,姓名,成绩,班级名称。

f. 按班级编号分组统计每个班的人数、最高分、最低分、平均分,按平均分降序排序。

g. 查询一班学生记录中所有成绩高于本班学生平均分的记录。

h. 查询所有学生记录中成绩前十名的学生的学号、姓名、成绩、班级编号。

1.1.22.有两张表student和scoreStudent:学号,姓名,性别,年龄Score:学号,语文,数学,英语1.查询张三的学号,姓名,性别, 语文,数学,英语2.查询语文比数学好的同学3.查出姓名相同的学生学号1.1.23.对一个用户登录模块,要求每个用户只允许3次登陆错误,超过则将锁定此帐户。

相关主题