‘壹’ 关于数据库的一道笔试题:select * from table1……
select t1.name,t1.value,t2.value,t3.value from (select name,value from table1 where name = 'a' and rownum <=1 ) t1 inner join
(select name,value from table1 where value <> (select value from table1 where name ='a' and rownum <=1) and rownum <=1) t2 on
t2.name = t1.name join table1 t3 on t3.name = t1.name and t1.value <>t3.value and t3.value <>t2.value
这个可以显示 a 100 200 400
‘贰’ 笔试遇到的数据库题目,求教.
1
DELETE FROM A
WHERE EXISTS (SELECT 1 FROM B WHERE A.a = B.b)
2
SELECT a FROM A UNION SELECT b FROM B
3
INSERT INTO A (a)
SELECT b FROM B WHERE NOT EXISTS(SELECT 1 FROM A WHERE A.a = B.b)
‘叁’ 帮忙解决一道数据库考试题(大题),谢谢
楼主太抠门了,大题,你这一道题少说30分吧,给网络分才50。。。
‘肆’ IBM认证数据库考试试题
(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数据库启动步骤的顺序为
1.Mount? 2.Open? 3.Nomount
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 i.id_number,m.id_number FROM inventory i,manufacturer m
WHERE i.manufacturer_id = m.id_number
Order by inventory.description
执行时是错误的,请问以下措施哪个能够改正这个错误?
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
‘伍’ 中兴数据库笔试题和面试题答案
公共题50分,C++和JAVA二选一50分。其实一直就在用C,一看没有C心里还霍霍的,我当然选的C++。我做的C卷:
1、中兴笔试题:数据库中 XXX 和XXX操作可恢复数据库。undo redo 吧?
2、数据库的核心是XX。
3、中兴笔试题:头文件中 和“”的区别?
4、char *GetMemory(void) { char p[] = "hello world"; return p; }void Test(void) { char *str = NULL; str = GetMemory(); printf(str); }请问运行Test 函数会有什么样的结果?
答:可能是乱码。因为GetMemory 返回的是指向“栈内存” 的指针,该指针的地址不是 NULL,但其原现的内容已经被清除,新内容不可知。 还有一个比较简单,不写了。
5、中兴笔试题:析构函数什么时候运行,实现什么功能?
6、定义一个宏,输入两个参数,输出积。
7、中兴笔试题:简述电路交换和分组交换的区别及优缺点。
8、C++ 都记不太清了,过去快2个星期了! 大约4个选择题,一个6分。数组的操作,在内存中的分配(注意下标从0开始),
9、中兴笔试题:全局变量和局部变量的区别。 仔细看看林锐的《高质量程序指南》基本不会有大问题。
‘陆’ 数据库常见笔试面试题
数据库常见笔试面试题
数据库常见笔试面试题有哪些?数据库常见笔试面试会考什么?下面是数据库常见面试题总结,为大家提供参考。
1、SQL的表连接方式有哪些?
SQL中连接按结果集分为:内连接,外连接,交叉连接
内连接:inner join on,两表都满足的组合。内连接分为等值连接,不等连接,自然连接。
等值连接:两表中相同的列都会出现在结果集中。
自然连接:两表中具体相同列表的列会合并为同一列出现在结果集中。
外连接:分为左(外)连接,右(外)连接,全连接
左(外)连接:A left (outer) join B,以A表为基础,A表的全部数据,B表有的组合,没有的为null。
右(外)连接:A right(outer) join B,以B表为基础,B表的全部数据,A表有的组合,没有的位null。
全连接:A full (outer) join 两表相同的组合在一起,A表有,B表没有的数据(显示为null),同样B表有,A表没有的显示为null。
交叉连接:cross join,就是笛卡尔乘积。
2、三范式
1NF:表中的字段都是单一属性,不再可分。
2NF:在1NF的基础上,表中所有的非主属性都必须完全依赖于任意一组候选键,不能仅依赖于候选键中的某个属性。
3NF:在2NF的基础上,表中所有的属性都不依赖其他非主属性。
简单的说就是:1NF表示每个属性不可分割,2NF表示非主属性不存在对主键的部分依赖,3NF表示不存在非主属性对主键的依赖传递。
3、表的操作
表的创建:create table 表名 (列名1 类型 约束,列2 类型 约束…)
表的删除: 表名
表的更改(结构的更改,不是记录的更新):alter table 表名 add|drop 列名|约束名
插入记录: into 表名…values…
更新记录:表名 set 列名=值 where 条件
删除记录: from 表名 where 条件
4、数据的完整性
数据完整性指的是存储在数据库中的数据的一致性和准确性。
完整性分类:
(1)实体完整性:主键值必须唯一且非空。(主键约束)
(2) 引用完整性(也叫参照完整性):外键要么为空,要么引用主表中存在的记录。(外键约束)。
(3)用户自定义完整性:针对某一具体关系数据库中的约束条件。
5、SQL的查询优化
(1)从表连接的角度优化:尽量使用内连接,因为内连接是两表都满足的行的组合,而外连接是以其中一个表的全部为基准。
(2)尽量使用存储过程代替临时写SQL语句:因为存储过程是预先编译好的SQL语句的集合,这样可以减少编译时间。
(3)从索引的角度优化:对那些常用的查询字段简历索引,这样查询时值进行索引扫描,不读取数据块。
(4)还有一些常用的select优化技巧:
(5)A.只查询那些需要访问的字段,来代替select*
B、将过滤记录越多的where语句向前移:在一个SQL语句中,如果一个where条件过滤的数据库记录越多,定位越准确,则该where条件越应该前移。
6、索引的作用,聚集索引与非聚集索引的区别
索引是一个数据库对象,使用索引,可以是数据库程序无须对整个数据进行扫描,就可以在其中找到目标数据,从而提高查找效率。索引的底层采用的是B树。
聚集索引:根据记录的key再表中排序数据行。
非聚集索引:独立于记录的结构,非聚集所以包含的`key,且每个键值项都有指向该简直的数据行的指针。
聚集索引与非聚集索引的区别:
(1)聚集索引的物理存储按索引排序,非聚集所以的物理存储不按索引排序。
(2) 聚集索引插入,更新数据的速度比非聚集索引慢,单查询速度更快。
(3) 聚集索引的叶级结点保存的是时间的数据项,而非聚集结点的叶级结点保存的是指向数据项的指针。
(4)一个表只能有一个聚集索引(因为只有一种排序方式),但可以有多个非聚集索引。
7、存储过程与函数的区别
(1)函数有返回值,存储过程没有返回值。
(2) 因为存储过程没有返回值,所以不能将存储过程的执行结果赋值给变量;函数有返回值类型,调用函数时,可以将函数的执行结果赋值给变量。也就是说,函数可以在select语句中使用,而存储过程则不能。
‘柒’ 数据库经典笔试题和面试题答案
如下这些有关数据库知识考查的经典笔试题,非常全面,对计算机专业毕业生参加笔试会很有帮助,建议大家收藏。
一、选择题
1. 下面叙述正确的是___c___。
A、算法的执行效率与数据的存储结构无关
B、算法的空间复杂度是指算法程序中指令(或语句)的条数
C、算法的有穷性是指算法必须能在执行有限个步骤之后终止
D、以上三种描述都不对
2. 以下数据结构中不属于线性数据结构的是___c___。
A、队列B、线性表C、二叉树D、栈
3. 在一棵二叉树上第5层的结点数最多是__b____。2的(5-1)次方
A、8 B、16 C、32 D、15
4. 下面描述中,符合结构化程序设计风格的是___a___。
A、使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑
B、模块只有一个入口,可以有多个出口
C、注重提高程序的执行效率 D、不使用goto语句
5. 下面概念中,不属于面向对象方法的是___d___。
A、对象 B、继承 C、类 D、过程调用
6. 在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是___b___。
A、可行性分析 B、需求分析 C、详细设计 D、程序编码
7. 在软件开发中,下面任务不属于设计阶段的是__d____。
A、数据结构设计 B、给出系统模块结构 C、定义模块算法 D、定义需求并建立系统模型
8. 数据库系统的核心是___b___。
A、数据模型 B、数据库管理系统 C、软件工具 D、数据库
9. 下列叙述中正确的是__c____。
A、数据库是一个独立的系统,不需要操作系统的支持
B、数据库设计是指设计数据库管理系统
C、数据库技术的根本目标是要解决数据共享的问题
D、数据库系统中,数据的物理结构必须与逻辑结构一致
10. 下列模式中,能够给出数据库物理存储结构与物理存取方法的是___a___。
A、内模式 B、外模式 C、概念模式 D、逻辑模式
11. Visual FoxPro数据库文件是___d___。
A、存放用户数据的文件 B、管理数据库对象的系统文件
C、存放用户数据和系统的文件 D、前三种说法都对
12. SQL语句中修改表结构的命令是___c___。
A、MODIFY TABLE B、MODIFY STRUCTURE
C、ALTER TABLE D、ALTER STRUCTURE
13. 如果要创建一个数据组分组报表,第一个分组表达式是"部门",第二个分组表达式是"性别",第三个分组表达式是"基本工资",当前索引的索引表达式应当是__b____。
A、部门+性别+基本工资 B、部门+性别+STR(基本工资)
C、STR(基本工资)+性别+部门 D、性别+部门+STR(基本工资)
14. 把一个项目编译成一个应用程序时,下面的叙述正确的是___a___。
A、所有的项目文件将组合为一个单一的应用程序文件
B、所有项目的包含文件将组合为一个单一的应用程序文件
C、所有项目排除的文件将组合为一个单一的应用程序文件
D、由用户选定的项目文件将组合为一个单一的应用程序文件
15. 数据库DB、数据库系统DBS、数据库管理系统DBMS三者之间的关系是_a___。
A、DBS包括DB和DBMS B、DBMS包括DB和DBS
C、DB包括DBS和DBMS D、DBS就是DB,也就是DBMS
16. 在"选项"对话框的"文件位置"选项卡中可以设置___b___。
A、表单的默认大小 B、默认目录
C、日期和时间的显示格式 D、程序代码的颜色
17. 要控制两个表中数据的完整性和一致性可以设置"参照完整性",要求这两个表_a_。
A、是同一个数据库中的两个表 B、不同数据库中的两个表
C、两个自由表 D、一个是数据库表另一个是自由表
18. 定位第一条记录上的命令是___a___。
A、GO TOP B、GO BOTTOM C、GO 6 D、SKIP
19. 在关系模型中,实现"关系中不允许出现相同的元组"的约束是通过__b____。
A、候选键 B、主键 C、外键 D、超键
20. 设当前数据库有10条记录(记录未进行任何索引),在下列三种情况下,当前记录号为1时;EOF()为真时;BOF()为真时,命令?RECN()的结果分别是___a___。
A、1,11,1 B、1,10,1 C、1,11,0 D、1,10,0
21. 下列表达式中结果不是日期型的是___c___。
A、CTOD("2000/10/01") B、{^99/10/01}+365
C、VAL("2000/10/01") D、DATE()
22. 只有满足联接条件的记录才包含在查询结果中,这种联接为___c___。
A、左联接 B、右联接 C、内部联接 D、完全联接
23. 索引字段值不唯一,应该选择的索引类型为___b___。
A、主索引 B、普通索引 C、候选索引 D、唯一索引
24. 执行SELECT 0选择工作区的结果是___b___。
A、选择了0号工作区 B、选择了空闲的最小号工作区
C、关闭选择的工作区 D、选择已打开的工作区
25. 从数据库中删除表的命令是___a___。
A、DROP TABLE B、ALTER TABLE C、DELETE TABLE D、USE
26. DELETE FROM S WHERE 年龄>60语句的功能是__b____。
A、从S表中彻底删除年龄大于60岁的记录
B、S表中年龄大于60岁的记录被加上删除标记
C、删除S表 D、删除S表的年龄列 1 2
‘捌’ 惠普数据库类笔试题和面试题答案
惠普招聘常考的笔试题目主要考数据库相关知识:
1.Hashtable和HashMap有什么区别?
2.你怎么理解MVC模式?
3.SQLServer中左联接查询用left join,Oracle中用什么?
4.SQLServer中的数据库,在Oracle中对应的是什么?
5.如果SQLServer中有两个数据库,那么让你把这两个数据库对应到Oracle中,你应该怎么做?
6.有两个页面a.jsp和b.jsp,要从a.jsp传值到b.jsp有几种方法?分别是什么?
7.有三个页面,a.jsp,b.jsp和c.jsp,流程是:a.jsp->b.jsp->c.jsp,其中a.jsp中提交的数据要在c.jsp中访问,用最简单的方法怎么做?注意不能放在session里
7.jsp和servlet有什么区别?
8.映射是什么?你怎么理解映射?
9.Hibernate中:不看数据库,不看XML文件,不看查询语句,怎么样能知道表结构?
10.SQLServer支持集群吗?
11.为什么要用MVC?我从JSP页面直接访问数据库不是更简单吗,为什么非要先提交到控制器再做处理?
12.在struts中,假设有一个对数据库中一张表的增删改查的操作,你是写一个action还是写多个action?为什么?
13.struts中的actionform有什么好处?
14.用过Hibernate吗,用它有什么好处?
15.通常所说的web应用程序分3层,即MVC,如果我想分4层,应该怎么分?
‘玖’ 求恒生电子 软件运维工程师,数据库笔试题!!!
1、写C语言的拷贝函数,要求复制字符串,并且将复制后的字符串逆序
比如form中是1234, 则to中是4321
void strcyp(char * to,const char * form)
不能使用库函数 不能定义其他的变量
最佳答案
int main()
{
char a[10],b[10];
printf("请输入a字符可以随意输入小于10个字符")
/*这里不知道为什么查过10个就前面一部分对
且a字符串就没有值了你可以自己事实*/
scanf("%s",a);
printf("a字符串:%s\n",a);
turnto(a,b);
printf("b字符串:%s\n",b);
printf("a字符串:%s\n",a);
return 0;
}
void turnto(char *q,char *p)
{
int length,i,j;
for(length=0;;length++)
{
if(q[length]=='\0')
break;
}
j=length-1;
for(i=0;i
{
// *(p+i)=*(q+(j--));
p[i]=q[j--];
}
// *(p+i)='\0';
p[i]='\0';
}
第一个编程题:
827328929 数字反转,不能使用类库,不能使用数组。
第二个编程题:
public int[] getNum(aArray[] ,bArray[]){ }
求出数组aArray[] ,和bArray[]两个数组的交集,交集放在数组中返回。
数据库题目:
学生表(student){学好,姓名,年龄,所在系}
课程表(course){课程编号,课程名,学分}
关系表(sc){学号,课程编号,成绩}
1、查询出选修了“数据库”的学生姓名。
2、查询平均成绩大于85分的学生姓名和平均成绩(悲剧的没有写出来)
3、添加一个课程信息(“Java”,’1001‘,2)
4、添加一个唯一索引
5、在学生表中添加身份证列,大小18,非空