28.
数据库:抽出部门,平均工资,要求按部门的字符串顺序排序,不能含有\resource\部门,
employee结构如下:employee_id, employee_name, depart_id,depart_name,wage 答:
select depart_name, avg(wage) from employee
where depart_name <> 'human resource' group by depart_name order by depart_name
-------------------------------------------------------------------------- 29.
给定如下SQL数据库:Test(num INT(4)) 请用一条SQL语句返回num的最小值,但不许使用统计功能,如MIN,MAX等 答:
select top 1 num from Test
order by num
-------------------------------------------------------------------------- 33.一个数据库中有两个表:
一张表为Customer,含字段ID,Name; 一张表为Order,含字段ID,CustomerID(连向Customer中ID的外键),Revenue; 写出求每个Customer的Revenue总和的SQL语句。 建表 create table customer (
ID int primary key,Name char(10) ) go
create table [order] (
ID int primary key,CustomerID int foreign key references customer(id) , Revenue float ) go --查询
select Customer.ID, sum( isnull([Order].Revenue,0) ) from customer full join [order]
on( [order].customerid=customer.id ) group by customer.id
select customer.id,sum(order.revener) from order,customer where customer.id=customerid group by customer.id
select customer.id, sum(order.revener ) from customer full join order
on( order.customerid=customer.id ) group by customer.id
5数据库(10)
a tabel called “performance”contain :name and score,please 用SQL语言表述
如何选出score最high的一个(仅有一个)
仅选出分数,Select max(score) from performance
仅选出名字,即选出名字,又选出分数:select top 1 score ,name from per order by score
select name1,score from per where score in/=(select max(score) from per) .....
4 有关系 s(sno,sname) c(cno,cname) sc(sno,cno,grade) 1 问上课程 \的学生no
select count(*) from c,sc where c.cname='db' and c.cno=sc.cno
select count(*) from sc where cno=(select cno from c where c.cname='db')
2 成绩最高的学生号
select sno from sc where grade=(select max(grade) from sc ) 3 每科大于90分的人数
select c.cname,count(*) from c,sc where c.cno=sc.cno and sc.grade>90 group by c.cname
select c.cname,count(*) from c join sc on c.cno=sc.cno and sc.grade>90 group by c.cname
数据库笔试题 *
建表: dept:
deptno(primary key),dname,loc emp:
empno(primary key),ename,job,mgr,sal,deptno */
1 列出emp表中各部门的部门号,最高工资,最低工资
select max(sal) as 最高工资,min(sal) as 最低工资,deptno from emp group by deptno;
2 列出emp表中各部门job为'CLERK'的员工的最低工资,最高工资
select max(sal) as 最高工资,min(sal) as 最低工资,deptno as 部门号 from emp where job = 'CLERK' group by deptno;
3 对于emp中最低工资小于1000的部门,列出job为'CLERK'的员工的部门号,最低工资,最高工资
select max(sal) as 最高工资,min(sal) as 最低工资,deptno as 部门号 from emp as b
where job='CLERK' and 1000>(select min(sal) from emp as a where a.deptno=b.deptno) group by b.deptno
4 根据部门号由高而低,工资有低而高列出每个员工的姓名,部门号,工资
select deptno as 部门号,ename as 姓名,sal as 工资 from emp order by deptno desc,sal asc 5 写出对上题的另一解决方法 (请补充)
6 列出'张三'所在部门中每个员工的姓名与部门号
select ename,deptno from emp where deptno = (select deptno from emp where ename = '张三')
7 列出每个员工的姓名,工作,部门号,部门名
select ename,job,emp.deptno,dept.dname from emp,dept where emp.deptno=dept.deptno
8 列出emp中工作为'CLERK'的员工的姓名,工作,部门号,部门名 select ename,job,dept.deptno,dname from emp,dept where dept.deptno=emp.deptno and job='CLERK'
9 对于emp中有管理者的员工,列出姓名,管理者姓名(管理者外键为mgr)
select a.ename as 姓名,b.ename as 管理者 from emp as a,emp as b where a.mgr is not null and a.mgr=b.empno
10 对于dept表中,列出所有部门名,部门号,同时列出各部门工作为'CLERK'的员工名与工作
select dname as 部门名,dept.deptno as 部门号,ename as 员工名,job as 工作 from dept,emp
where dept.deptno *= emp.deptno and job = 'CLERK'
11 对于工资高于本部门平均水平的员工,列出部门号,姓名,工资,按部门号排序 select a.deptno as 部门号,a.ename as 姓名,a.sal as 工资 from emp as a where a.sal>(select avg(sal) from emp as b where a.deptno=b.deptno) order by a.deptno
12 对于emp,列出各个部门中平均工资高于本部门平均水平的员工数和部门号,按部门号排序
select count(a.sal) as 员工数,a.deptno as 部门号 from emp as a
where a.sal>(select avg(sal) from emp as b where a.deptno=b.deptno) group by a.deptno order by a.deptno
13 对于emp中工资高于本部门平均水平,人数多与1人的,列出部门号,人数,按部门号排序
select count(a.empno) as 员工数,a.deptno as 部门号,avg(sal) as 平均工资 from emp as a
where (select count(c.empno) from emp as c where c.deptno=a.deptno
and c.sal>(select avg(sal) from emp as b where c.deptno=b.deptno))>1 group by a.deptno order by a.deptno
14 对于emp中低于自己工资至少5人的员工,列出其部门号,姓名,工资,以及工资少于自己的人数
select a.deptno,a.ename,a.sal,(select count(b.ename) from emp as b where b.sal
where (select count(b.ename) from emp as b where b.sal5 数据库笔试题及答案 第一套
一.选择题
1. 下面叙述正确的是CCBAD ______。 A、算法的执行效率与数据的存储结构无关
B、算法的空间复杂度是指算法程序中指令(或语句)的条数 C、算法的有穷性是指算法必须能在执行有限个步骤之后终止 D、以上三种描述都不对
2. 以下数据结构中不属于线性数据结构的是______。A、队列B、线性表C、二叉树D、栈
3. 在一棵二叉树上第5层的结点数最多是______。A、8 B、16 C、32 D、15 4. 下面描述中,符合结构化程序设计风格的是______。
A、使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑 B、模块只有一个入口,可以有多个出口
C、注重提高程序的执行效率 D、不使用goto语句 5. 下面概念中,不属于面向对象方法的是______。 A、对象 B、继承 C、类 D、过程调用
6. 在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是___ BDBCA ___。
A、可行性分析 B、需求分析 C、详细设计 D、程序编码 7. 在软件开发中,下面任务不属于设计阶段的是______。
A、数据结构设计 B、给出系统模块结构 C、定义模块算法 D、定义需求并建立系统模型
8. 数据库系统的核心是______。
A、数据模型 B、数据库管理系统 C、软件工具 D、数据库 9. 下列叙述中正确的是______。
A、数据库是一个独立的系统,不需要操作系统的支持 B、数据库设计是指设计数据库管理系统
C、数据库技术的根本目标是要解决数据共享的问题
D、数据库系统中,数据的物理结构必须与逻辑结构一致
10. 下列模式中,能够给出数据库物理存储结构与物理存取方法的是______。 A、内模式 B、外模式 C、概念模式 D、逻辑模式 11. Visual FoxPro数据库文件是__ DCBAA ____。 A、存放用户数据的文件 B、管理数据库对象的系统文件
C、存放用户数据和系统的文件 D、前三种说法都对 12. SQL语句中修改表结构的命令是______。
A、MODIFY TABLE B、MODIFY STRUCTURE C、ALTER TABLE D、ALTER STRUCTURE
13. 如果要创建一个数据组分组报表,第一个分组表达式是\部门\,第二个分组表达式是\性别\,第三个分组表达式是\基本工资\,当前索引的索引表达式应当是______。
A、部门+性别+基本工资 B、部门+性别+STR(基本工资)
C、STR(基本工资)+性别+部门 D、性别+部门+STR(基本工资)
14. 把一个项目编译成一个应用程序时,下面的叙述正确的是______。 A、所有的项目文件将组合为一个单一的应用程序文件
B、所有项目的包含文件将组合为一个单一的应用程序文件 C、所有项目排除的文件将组合为一个单一的应用程序文件 D、由用户选定的项目文件将组合为一个单一的应用程序文件
15. 数据库DB、数据库系统DBS、数据库管理系统DBMS三者之间的关系是______。
A、DBS包括DB和DBMS B、DBMS包括DB和DBS
C、DB包括DBS和DBMS D、DBS就是DB,也就是DBMS
16. 在\选项\对话框的\文件位置\选项卡中可以设置_ BAABA _____。 A、表单的默认大小 B、默认目录
C、日期和时间的显示格式 D、程序代码的颜色
17. 要控制两个表中数据的完整性和一致性可以设置\参照完整性\,要求这两个表______。
A、是同一个数据库中的两个表 B、不同数据库中的两个表 C、两个自由表 D、一个是数据库表另一个是自由表 18. 定位第一条记录上的命令是______。
A、GO TOP B、GO BOTTOM C、GO 6 D、SKIP
19. 在关系模型中,实现\关系中不允许出现相同的元组\的约束是通过______。 A、候选键 B、主键 C、外键 D、超键
20. 设当前数据库有10条记录(记录未进行任何索引),在下列三种情况下,当前记录号为1时;EOF()为真时;BOF()为真时,命令?RECN()的结果分别是______。 A、1,11,1 B、1,10,1 C、1,11,0 D、1,10,0
21. 下列表达式中结果不是日期型的是__ CCBBA ____。
A、CTOD(\、{^99/10/01}+365 C、VAL(\D、DATE()
22. 只有满足联接条件的记录才包含在查询结果中,这种联接为______。 A、左联接 B、右联接 C、内部联接 D、完全联接 23. 索引字段值不唯一,应该选择的索引类型为______。 A、主索引 B、普通索引 C、候选索引 D、唯一索引 24. 执行SELECT 0选择工作区的结果是______。 A、选择了0号工作区 B、选择了空闲的最小号工作区 C、关闭选择的工作区 D、选择已打开的工作区 25. 从数据库中删除表的命令是______。
A、DROP TABLE B、ALTER TABLE C、DELETE TABLE D、USE
26. DELETE FROM S WHERE 年龄>60语句的功能是_ BBCCB _____。 A、从S表中彻底删除年龄大于60岁的记录 B、S表中年龄大于60岁的记录被加上删除标记
C、删除S表 D、删除S表的年龄列 27. SELECT-SQL语句是______。
A、选择工作区语句 B、数据查询语句 C、选择标准语句 D、数据修改语句