
1、i职工号,姓名,家庭地址(6地址='办公室'(职工∞部门));
(pi转成数学符号)
2、select
职工号,姓名,性别,职务,
(select 部门名称
from 部门 d where d部门编号=e部门编号)
as 部门名称
from 职工 e
where e姓名 like '王%';
3、create view MyView
as
select
职工职工号,职工姓名,保健检查身体日期
from 职工 inner join 保健
on
职工职工号=保健职工号 and 保健健康状况='差';
4、delete from 保健 where 职工号 is null; (不知是不是这个意思)
5、select 职工编号,姓名,职务 from 职工
where 姓名 like '李%' and 性别='男';
6、create index XM_index on 职工(姓名 asc);
7、同第2题
都是自己做的 有几题和楼上不一样 提供参考
1 B
SQL Server 2000 提供两种身份验证模式来保护对服务器访问的安全:Windows 身份验证模式和混合模式。Windows 身份验证模式
Windows 身份验证模式是 SQL Server 2000 中的默认身份验证模式。在 Windows 身份验证模式下,SQL Server 2000 仅依赖用户的 Windows 身份验证。然后,授予 Windows 用户或组对 SQL Server 的访问权限。使用此模式与服务器建立的连接称为信任连接。当使用 Windows 身份验证模式时,数据库管理员通过授予用户登录 SQL Server 2000 的权限来允许他们访问运行 SQL Server 的计算机。Windows 安全标识符 (SID) 用于跟踪已经过 Windows 验证的登录。使用 Windows SID,数据库管理员可以直接授予 Windows 用户或组登录权限。
混合模式
在混合模式下,可以使用 Windows 身份验证或 SQL Server 身份验证对用户进行验证。SQL Server 负责维护经过 SQL Server 身份验证的用户的用户名和密码对。
2 B
3 A
4 A
5 A
6 B
7 B
8 C
9 D
10 C
11 B
12 A
13 D
14 B
15 C
16 D 定义表可以定义默认值 而列宽是无需定义的
17 B
18 D
19 A
(1)已知表T1中有2行数据,T2中有3行数据,执行SQL语句
“select a from T1 a,T2 b”后,返回的行数为______
A、2行
B、3行
C、5行
D、6行
多表查询没有指定连接条件,会导致笛卡尔积的出现,返回行数等于2张表的行数乘积,返回6行记录
考察:对多表连接、笛卡尔积的理解
答案:A
(2)、已知表T1和T2的字段定义完全相同,T1,T2中各有5条不同的数据,其中T1有2条数据存在于表T2中,语句“select from T1 union select from T2”
返回的行数为_______
A、8行
B、10行
C、3行
D、12行
第二题 UNION在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算,删除重复的记录再返回结果。
考察:UNION 的理解
答案: A
(3)、 已知表T1含有字段ID、CourseID和Score,且数据为
ID CourseID Score
3 1 90
2 1 85
2 2 90
3 2 80
则语句“select id,sum(ScorE) from T1 group by ID”的执行结果为_________
A、 ID sum(ScorE)
—– ———-
3 170
2 175
B、 ID sum(ScorE)
—– ———-
2 175
3 170
C、 ID sum(ScorE)
—– ———-
2 170
3 175
D、 ID sum(ScorE)
—– ———-
3 175
2 170
第三题 GROUP BY 对按照ID字段进行分组,同时对ID相同字段的ScorE进行求和,GROUP by 会自动对结果集进行排序所以答案选B
考察:group by 的理解
答案: B
(4)、电话号码表t_phonebook中含有100万条数据,其中号码字段PhoneNo上创建了唯一索引,且电话号码全部由数字组成,要统计号码头为321的电话号码的数量,下面写法执行速度最慢的是_________
A、 select count() from t_phonebook where phoneno >= ‘321’ and phoneno < ‘321A’
B、 select count() from t_phonebook where phoneno like ‘321%’
C、 select count() from t_phonebook where substring(phoneno,1,3) = ‘321’
A>或者< *** 作符会采用索引查找
B:LIKE通配符在XXX%情况下会应用索引,如果在%xxx%等情况下不会应用索引
答案: C:采用函数处理的字段不能利用索引,例如substr() 这个题好像写成java的函数了
答案: C
(5)、已知表tbl中字段land_ID建有索引,字段cust_id建有唯一索引,下列语句查询逻辑相同,其中执行效率最优的是
A、 SELECT FROM tbl
WHERE land_id > 750
or (cust_id=180 or cust_id=560)
B、 SELECT FROM tbl
WHERE (cust_id=180 or cust_id=560)
or land_id > 750
C、 SELECT FROM tbl WHERE land_id > 750
UNION
SELECT FROM tbl WHERE cust_id = 180
UNION
SELECT FROM tbl WHERE cust_id = 560
D、 SELECT FROM tbl WHERE land_id > 750
UNION
( SELECT FROM tbl WHERE cust_id = 180
UNION ALL
SELECT FROM tbl WHERE cust_id = 560
)
C/D相比较而言,D的执行效率更高一些
UNION在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算,删除重复的记录再返回结果。实际大部分应用中是不会产生重复的记录
采用UNION ALL *** 作符替代UNION,因为UNION ALL *** 作只是简单的将两个结果合并后就返回。
(6)、员工技能表Staffskill结构如下,Staff和Skill字段建有唯一约束
staff VARCHAR2(10),
skill VARCHAR2(10)
哪条语句可以查询同时拥有技能A和技能B的员工
A、 select staff from Staffskill where skill=’A’ OR skill=’B’
B、 select staff from Staffskill where skill=’A’ AND skill=’B’
C、 select staff from Staffskill where skill=’A’ OR skill=’B’ group by staff
D、 select staff from Staffskill where skill=’A’ OR skill=’B’ group by staff having count()>1
答案:D
(7)员工表staff表结构如下
staffNo varchar2(10),
Email varchar2(50)
哪一个SQL语句查询出没有E_mail地址的员工号
A、select staffno from Staff where Email = NULL
B、select staffno from Staff where Email <> NULL
C、select staffno from Staff where Email is null
D、select staffno from Staff where Email is not null
答案: C
(8)Oracle数据库启动步骤的顺序为
1Mount 2Open 3Nomount
A、3-1-2
B、2-3-1
C、2-1-3
D、3-2-1
答案:A
(9)存在两个结构相同的数据库表T1(col1,col2,col3)、T2(col1,col2,col3),写出一SQL语句将所有T1数据导入到T2表
A、select col1,col2,col3 from T1 INTO T2 (col1,col2,col3)
B、INSERT T1 (col1,col2,col3) INTO T2(col1,col2,col3)
C、insert into T2 (col1,col2,col3) AS select col1,col2,col3 from T1;
D、insert into T2 (col1,col2,col3) select col1,col2,col3 from T1;
答案: D
10)一个表的字段为varchar2,如果建表时没有指定长度,则默认长度为:
A、1
B、25
C、38
D、255
E、4000
F、建表时varchar2类型字段必须指定长度
答案:F
(11)用TRUNCATE和DELETE语句删除表中数据的区别
A、TRUNCATE命令不记录日志
B、TRUNCATE命令记录日志
C、DELETE命令不记录日志
答案:A
(12)如下查询语句SELECT id_number,100/quantity from inventory如果quantity为空,则查询语句的第二个字段将返回
A、 a space
B、 a null value
C、 a value of 0
D、 a value of 100
E、 the keywork null
答案:B
(13)如下语句:SELECT iid_number,mid_number FROM inventory i,manufacturer m
WHERE imanufacturer_id = mid_number
Order by inventorydescription
执行时是错误的,请问以下措施哪个能够改正这个错误
A 在order by的子句中使用表的别名
B 在where子句中去掉表的别名
C 在where子句中用表名代替表的别名
D 在order by子句中去掉表名,只要字段名称即可
(如果2张表中,不同时存在字段名为description的话,D答案也是正确的)
答案:A
14)A表字段a 类型int中有100条记录,值分别为1至100。如下语句
SELECT a FROM A
WHERE A BETWEEN 1 AND 50
OR (A IN (25,70,95)
AND A BETWEEN 25 AND 75)
则如下哪个值在这个sql语句返回的结果集中
A、30 B、51 C、75 D、95
答案:A
15) 变量v_time = ‘23-MAY-00’,如下那条语句返回值为‘01-JAN-00’
A SELECT ROUND(V_TIME,’DAY’) FROM DUAL;
B SELECT ROUND(V_TIME,’YEAR’) FROM DUAL;
C SELECT ROUND(V_TIME,’MONTH’) FROM DUAL;
D SELECT ROUND(TO_CHAR(V_TIME,’YYYY’)) FROM DUAL;
答案:B
16)关于索引(index)的说法哪些是错误
A、创建索引能提高数据插入的性能
B、索引应该根据具体的检索需求来创建,在选择性好的列上创建索引
C、索引并非越多越好
D、建立索引可使检索 *** 作更迅速
答案: A
(17)指出下面sql语句的错误之处:
select id_number “Part Number”,sum(price) “price” from inventory
where price > 50
group by “Part Number”
order by 2;
A、order by 2
B、from inventory
C、 where price > 50
D、group by “Part Number”
答案:D
(18)如下语句
if v_num > 5 then
v_example := 1;
elsif v_num > 10 then
v_example := 2;
elsif v_num < 20 then
v_example := 3;
elsif v_num < 39 then
v_example := 4;
else v_example := 5;
如果v_num = 37,则v_example的值是多少
A、1 B、2 C、3 D、4 E、5
答案:A
1 C
2 A
3 A
4 B 说明:%是一个通配符,如select from test where ID like 12% 这句话就表示在test表中搜索出ID以12开头的数据记录,可以是123,也可以是1234
5 C
6 A 如果读者也作为主键你想会发生啥情况,每个人只能借1本书,灾难啊
7 A 我真的运行了一次,因为我也不确定
8 B
9 C
10D
11D
12B 这一题考的是LEFT OUTER JOIN的用法,LEFT OUTER JOIN等同于LEFT JOIN,数据数目按照较大数来算
二
1 ABCE D是程序员做的事
2 ABC 系统固定的角色权限是标准的PUBLIC权限,用户可以根据需要进行权限的调整,就是C选项
3 DE A错误的原因是因为事务备份的还原精度要比差异备份高,能恢复到故障点前一刻,这是差错备份做不到的;B,事务日志只能恢复从上一次备份到本次故障点之间的一个时刻
4 AB
以上就是关于数据库习题,紧急求助!!!全部的内容,包括:数据库习题,紧急求助!!!、帮我完成下面数据库习题,急。。。、IBM认证数据库考试试题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)