数据库笔试题及答案I 第一套 选择题
1.下面叙述正确的是C____。
A、算法的执行效率与数据的存储结构无关
B、算法的空间复杂度是指算法程序中指令(或语句)的条数
C、算法的有穷性是指算法必须能在执行有限个步骤之后终止
D、以上三种描述都不对
2.以下数据结构中不属于线性数据结构的是C______。
A、队列B、线性表C、二叉树D、栈
3.在一棵二叉树上第5层的结点数最多是__B____。
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表的年龄列 27.SELECT-SQL语句是___B__。
A、选择工作区语句 B、数据查询语句 C、选择标准语句 D、数据修改语句 28.SQL语言是__C____语言。
A、层次数据库 B、网络数据库 C、关系数据库 D、非数据库 29.在SQL中,删除视图用___C___。
A、DROP SCHEMA命令 B、CREATE TABLE命令
2 C、DROP VIEW命令 D、DROP INDEX命令 30.以下属于非容器类控件的是____B__。
A、Form B、Label C、page D、Container 31.将查询结果放在数组中应使用__D____短语。
A、INTO CURSOR B、TO ARRAY C、INTO TABLE D、INTO ARRAY 32.在命令窗口执行SQL命令时,若命令要占用多行,续行符是__D____。
A、冒号(:) B、分号(;) C、逗号(,) D、连字符(-) 33.设有图书管理数据库:
图书(总编号C(6),分类号C(8),书名C(16),作者C(6),出版单位C(20),单价N(6,2))
读者(借书证号C(4),单位C(8),姓名C(6),性别C(2),职称C(6),地址C(20))
借阅(借书证号C(4),总编号C(6),借书日期D(8))
对于图书管理数据库,查询0001号借书证的读者姓名和所借图书的书名。
SQL语句正确的是_A_____。
SELECT 姓名,书名 FROM 借阅,图书,读者 WHERE;借阅.借书证号="0001" AND;______ ______
A、图书.总编号=借阅.总编号 AND; 读者.借书证号=借阅.借书证号
B、图书.分类号=借阅.分类号 AND; 读者.借书证号=借阅.借书证号
C、读者.总编号=借阅.总编号 AND; 读者.借书证号=借阅.借书证号
D、图书.总编号=借阅.总编号 AND; 34.设有图书管理数据库:
图书(总编号C(6),分类号C(8),书名C(16),作者C(6),出版单位C(20),单价N(6,2))
读者(借书证号C(4),单位C(8),姓名C(6),性别C(2),职称C(6),地址C(20))
借阅(借书证号C(4),总编号C(6),借书日期D(8)) 对于图书管理数据库,分别求出各个单位当前借阅图书的读者人次。下面的SQL语句正确的是_____A_。
SELECT 单位,______ FROM 借阅,读者 WHERE;借阅.借书证号=读者.借书证号 ______ A、COUNT(借阅.借书证号) GROUP BY 单位
B、SUM(借阅.借书证号) GROUP BY 单位 C、COUNT(借阅.借书证号) ORDER BY 单位
D、COUNT(借阅.借书证号) HAVING 单位 35.设有图书管理数据库:
图书(总编号C(6),分类号C(8),书名C(16),作者C(6),出版单位C(20),单价N(6,2))
读者(借书证号C(4),单位C(8),姓名C(6),性别C(2),职称C(6),地址C(20))
借阅(借书证号C(4),总编号C(6),借书日期D(8))
对于图书管理数据库,检索借阅了《现代网络技术基础》一书的借书证号。下面SQL语句正确的是___B___。
SELECT 借书证号 FROM 借阅 WHERE 总编号=;______
A、(SELECT 借书证号 FROM 图书 WHERE 书名="现代网络技术基础")
B、(SELECT 总编号 FROM 图书 WHERE 书名="现代网络技术基础")
C、(SELECT 借书证号 FROM 借阅 WHERE 书名="现代网络技术基础")
D、(SELECT 总编号 FROM 借阅 WHERE 书名="现代网络技术基础")
3 填空题
36.算法的复杂度主要包括____时间__复杂度和空间复杂度。
37.数据的逻辑结构在计算机存储空间中的存放形式称为数据的__模式或逻辑模式____。
38.若按功能划分,软件测试的方法通常分为白盒测试方法和_.黑盒_____测试方法。
39.如果一个工人可管理多个设施,而一个设施只被一个工人管理,则实体"工人"与实体"设备"之间存在一对多 或 1对多 或 一对n 或 1:N 或 1:n 或 1:n 或 1:N 或 一对m 或 1:M 或 1:m 或 1:m 或 1:N ______联系。
40.关系数据库管理系统能实现的专门关系运算包括选择、连接和_投影_____。 41.命令?LEN("THIS IS MY BOOK")的结果是__15____。
42.SQL SELECT语句为了将查询结果存放到临时表中应该使用_ Into cursor 或 Into cursor cursorname _____短语。
43.多栏报表的栏目数可以通过_页面设置 或 列数_____来设置。
44.在打开项目管理器之后再打开"应用程序生成器",可以通过按ALT+F2键,快捷菜单和"工具"菜单中的应用程序生成器______。
45.数据库系统的核心是_数据库管理系统 或 DBMS _____。
46.查询设计器中的"联接"选项卡,可以控制_联接类型 或 联接条件_____选择。 47.设有图书管理数据库:
图书(总编号C(6),分类号C(8),书名C(16),作者C(6),出版单位C(20),单价N(6,2))
读者(借书证号C(4),单位C(8),姓名C(6),性别C(2),职称C(6),地址C(20))
借阅(借书证号C(4),总编号C(6),借书日期D(8))
用SQL的CREATE命令建立借阅表(字段顺序要相同),请对下面的SQL语句填空:
CREATE TABLE 借阅 (借书证号 C(4),总编号 C(6),借书日期 D(8)) 或 CREA TABL 借阅 (借书证号 C(4),总编号 C(6),借书日期D(8)) 或 CREATE TABLE 借阅 (借书证号 C(4),总编号 C(6),借书日期 D) 或 CREA TABL 借阅 (借书证号 C(4),总编号 C(6),借书日期 D) ______ 48.设有图书管理数据库:
图书(总编号C(6),分类号C(8),书名C(16),作者C(6),出版单位C(20),单价N(6,2))
读者(借书证号C(4),单位C(8),姓名C(6),性别C(2),职称C(6),地址C(20))
借阅(借书证号C(4),总编号C(6),借书日期D(8))
对图书管理数据库,查询由"清华大学出版社"或"电子工业出版社"出版,并且单价不超出20元的书名。请对下面的SQL语句填空:
SELECT 书名,出版单位,单价 FROM 图书; WHERE_______ AND;_______ 49.设有图书管理数据库:
图书(总编号C(6),分类号C(8),书名C(16),作者C(6),出版单位C(20),单价N(6,2))
读者(借书证号C(4),单位C(8),姓名C(6),性别C(2),职称C(6),地址C(20))
借阅(借书证号C(4),总编号C(6),借书日期D(8))
对图书管理数据库,求共借出多少种图书。请对下面的SQL语句填空:
SELECT __ COUNT(DISTINCT 总编号_____ FROM 借阅
48.单价 第二套题
选择题
1.以下数据结构中不属于线性数据结构的是__C____。
A、队列 B、线性表 C、二叉树 D、栈
2.在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是___B___。
A、可行性分析 B、需求分析 C、详细设计 D、程序编码 3.结构化程序设计主要强调的是_B_____。
A、程序的规模 B、程序的易读性 C、程序的执行效率 D、程序的可移植性 4.在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是____D__。
A、概要设计 B、详细设计 C、可行性分析 D、需求分析 5.下列关于栈的叙述中正确的是__D____。
A、在栈中只能插入数据 B、在栈中只能删除数据
C、栈是先进先出的线性表 D、栈是先进后出的线性表 6.下面不属于软件设计原则的是___C___。
A、抽象 B、模块化 C、自底向上 D、信息隐蔽
7.对长度为N的线性表进行顺序查找,在最坏情况下所需要的比较次数为__B____。
A、N+1 B、N C、(N+1)/2 D、N/2 8.视图设计一般有3种设计次序,下列不属于视图设计的是_B_____。
A、自顶向下 B、由外向内 C、由内向外 D、自底向上 9.下列有关数据库的描述,正确的是____C__。
A、数据库是一个DBF文件 B、数据库是一个关系
C、数据库是一个结构化的数据集合 D、数据库是一组文件 10.下列说法中,不属于数据模型所描述的内容的是_C_____。
A、数据结构 B、数据操作 C、数据查询 D、数据约束
11.在下面的Visual FoxPro表达式中,运算结果是逻辑真的是___D___。
A、EMPTY(.NULL.) B、LIKE('acd','ac?') C、AT('a','123abc') D、EMPTY(SPACE(2)) 12.表达式VAL(SUBS("奔腾586",5,1))*Len("visual foxpro")的结果是__D____。
A、13.00 B、14.00 C、45.00 D、65.00 13.以下关于自由表的叙述,正确的是__C____。
A、全部是用以前版本的FOXPRO(FOXBASE)建立的表
B、可以用Visual FoxPro建立,但是不能把它添加到数据库中
C、自由表可以添加到数据库中,数据库表也可以从数据库中移出成为自由表
D、自由表可以添加到数据库中,但数据库表不可从数据库中移出成为自由表 14.下面关于数据环境和数据环境中两个表之间的关系的陈述中,C______是正确的。
A、数据环境是对象,关系不是对象 B、数据环境不是对象,关系是对象
C、数据环境是对象,关系是数据环境中的对象 D、数据环境和关系均不是对象 15.在"报表设计器"中,可以使用的控件是__A____。
A、标签、域控件和线条 B、标签、域控件和列表框
C、标签、文本框和列表框 D、布局和数据源
16.用二维表数据来表示实体及实体之间联系的数据模型称为__D____。
A、实体--联系模型 B、层次模型 C、网状模型 D、关系模型 17.用来指明复选框的当前选中状态的属性是___C___。
A、Selected B、Caption C、Value D、ControlSource 18.使用菜单操作方法打开一个在当前目录下已经存在的查询文件zgjk.qpr后,在命令窗口生成的命令是__B__。
A、OPEN QUERY zgjk.qpr B、MODIFY QUERY zgjk.qpr
C、DO QUERY zgjk.qpr D、CREATE QUERY zgjk.qpr 19.可以伴随着表的打开而自动打开的索引是_____C_。
A、单一索引文件(IDX) B、复合索引文件(CDX) C、结构化复合索引文件 D、非结构化复合索引文件
20.在数据库设计器中,建立两个表之间的一对多联系是通过以下索引实现的___A___。
A、"一方"表的主索引或候选索引,"多方"表的普通索引
B、"一方"表的主索引,"多方"表的普通索引或候选索引
C、"一方"表的普通索引,"多方"表的主索引或候选索引
D、"一方"表的普通索引,"多方"表的候选索引或普通索引 21.下列函数中函数值为字符型的是__B____。
A、DATE() B、TIME() C、YEAR() D、DATETIME() 22.下面对控件的描述正确的是____B__。
A、用户可以在组合框中进行多重选择 B、用户可以在列表框中进行多重选择
C、用户可以在一个选项组中选中多个选项按钮
D、用户对一个表单内的一组复选框只能选中其中一个
23.确定列表框内的某个条目是否被选定应使用的属性是_D_____。
A、Value B、ColumnCount C、ListCount D、Selected 24.设有关系R1和R2,经过关系运算得到结果S,则S是_A_____。
A、一个关系 B、一个表单 C、一个数据库 D、一个数组 25.DBAS指的是___C___。
A、数据库管理系统B、数据库系统C、数据库应用系统 D、数据库服务系统 26.设X="ABC",Y="ABCD",则下列表达式中值为.T.的是_C_____。
A、X=Y B、X==Y C、X$Y D、AT(X,Y)=0 27.在表结构中,逻辑型、日期型、备注型字段的宽度分别固定为_D_____。
A、3,8,10 B、1,6,4 C、1,8,任意 D、1,8,4 28.在标准SQL中,建立视图的命令是_C_____。
A、CREATE SCHEMA命令 B、CREATE TABLE命令
C、CREATE VIEW命令 D、CREATE INDEX命令 29.有关SCAN循环结构,叙述正确的是___B___。
A、SCAN循环结构中的LOOP语句,可将程序流程直接指向循环开始语句SCAN,首先判断EOF()函数的真假
B、在使用SCAN循环结构时,必须打开某一个数据库
C、SCAN循环结构的循环体中必须写有SKIP语句
D、SCAN循环结构,如果省略了子句\FOR和WHILE条件子句,则直接退出循环
30.设有图书管理数据库:
图书(总编号C(6),分类号C(8),书名C(16),作者C(6),出版单位C(20),单价N(6,2))
读者(借书证号C(4),单位C(8),姓名C(6),性别C(2),职称C(6),地址C(20))
借阅(借书证号C(4),总编号C(6),借书日期D(8))
对于图书管理数据库,要查询所藏图书中,各个出版社的图书最高单价、平均单价和册数,下面SQL语句正确的是D______。
SELECT 出版单位,______,______,______;
FROM 图书管理!图书 ______ 出版单位
A、MIN(单价) AVGAGE(单价) COUNT(*) GROUP BY B、MAX(单价) AVG(单价) COUNT(*) ORDER BY C、MAX(单价) AVG(单价) SUM(*) ORDER BY D、MAX(单价) AVG(单价) COUNT(*) GROUP BY 31.设有图书管理数据库:
图书(总编号C(6),分类号C(8),书名C(16),作者C(6),出版单位C(20),单价N(6,2))
读者(借书证号C(4),单位C(8),姓名C(6),性别C(2),职称C(6),地址C(20))
借阅(借书证号C(4),总编号C(6),借书日期D(8))
对于图书管理数据库,求CIE单位借阅图书的读者的人数。
下面SQL语句正确的是A______。
SELECT ______ FROM 借阅 WHERE;
借书证号 _______ A、COUNT (DISTINCT 借书证号) IN (SELECT 借书证号 FROM 读者 WHERE 单位="CIE")
B、COUNT (DISTINCT 借书证号)
IN (SELECT 借书证号 FROM 借阅 WHERE 单位="CIE")
C、SUM (DISTINCT 借书证号)
IN (SELECT 借书证号 FROM 读者 WHERE 单位="CIE")
D、SUM (DISTINCT 借书证号)
IN (SELECT 借书证号 FOR 借阅 WHERE 单位="CIE") 32.查询订购单号(字符型,长度为4)尾字符是"1"的错误命令是__C____。
A、SELECT * FROM 订单 WHERE SUBSTR(订购单号,4)="1"
B、SELECT * FROM 订单 WHERE SUBSTR(订购单号,4,1)="1"
C、SELECT * FROM 订单 WHERE "1"$订购单号
D、SELECT * FROM 订单 WHERE RIGHT(订购单号,1)="1" 33.在关系模型中,为了实现"关系中不允许出现相同元组"的约束应使用_B_____。
A、临时关键字 B、主关键字 C、外部关键字 D、索引关键字 34.根据"职工"项目文件生成emp_sys.exe应用程序的命令是___B___。
A、BUILD EXE emp_sys FROM 职工 B、BUILD APP emp_sys.exe FROM 职工
C、LIKE EXE emp_sys FROM 职工 D、LIKE APP emp_sys.exe FROM 职工 35.当前盘当前目录下有数据库:学院.dbc,其中有"教师"表和"学院"表。
"教师"表:
"学院"表:
有SQL语句:
SELECT DISTINCT 系号 FROM 教师 WHERE 工资>=; ALL (SELECT 工资 FROM 教师 WHERE 系号="02") 与如上语句等价的SQL语句是_A_____。
A、SELECT DISTINCT 系号 FROM 教师 WHERE工资>=; (SELECT MAX(工资) FROM 教师 WHERE 系号="02") B、SELECT DISTINCT 系号 FROM 教师 WHERE 工资>=; (SELECT MIN(工资) FROM 教师 WHERE 系号="02") C、SELECT DISTINCT 系号 FROM 教师 WHERE 工资>=; ANY(SELECT 工资 FROM 教师 WHERE 系号="02") D、SELECT DISTINCT 系号 FROM 教师 WHERE 工资>=; SOME (SELECT 工资 FROM 教师 WHERE 系号="02") 填空题
36.若按功能划分,软件测试的方法通常分为白盒测试方法和__黑盒____测试方法。 37.数据库系统的三级模式分别为_.概念或概念级_____模式、内部级模式与外部级模式。
38.在最坏情况下,冒泡排序的时间复杂度为_ n(n-1)/2_____。
39.在面向对象方法中,信息隐蔽是通过对象的__封装____性来实现的。
40.关系模型的数据操纵即是建立在关系上的数据操纵,一般有__查询____、增加、删除和修改四种操作。
41.要把帮助文件设置为复制到硬盘上的Foxhelp.chm文件,需要在"选项"对话框的文件位置______选项卡上设置。
42.TIME( )的返回值的数据类型是_字符 或 C _____类型。
43.在定义字段有效性规则中,在规则框中输入的表达式中类型是__.逻辑表达式 ______。
44.设计报表通常包括两部分内容:_.数据源_____和布局。
45.__内部联接____是指只有满足联接条件的记录才包含在查询结果中。 46.设有图书管理数据库:
图书(总编号C(6),分类号C(8),书名C(16),作者C(6),出版单位C(20),单价N(6,2))
读者(借书证号C(4),单位C(8),姓名C(6),性别C(2),职称C(6),地址C(20))
借阅(借书证号C(4),总编号C(6),借书日期D(8))
检索书价在15元至25元(含15元和25元)之间的图书的书名、作者、书价和分类号,结果按分类号升序排序。
SELECT 书名,作者,单价,分类号 FROM 图书;
WHERE______;
ORDER BY______; 47.设有如下关系表R、S和T:
R(BH,XM,XB,DWH)
S(SWH,DWM)
T(BH,XM,XB,DWH)
实现R∪T的SQL语句是_______。 48.设有如下关系表R:
R(NO,NAME,SEX,AGE,CLASS)
主关键字是NO
其中NO为学号,NAME为姓名,SEX为性别,AGE为年龄,CLASS为班号。写出实现下列功能的SQL语句。
插入"95031"班学号为30,姓名为"郑和"的学生记录;_______。 49.设有如下关系表R:
R(NO,NAME,SEX,AGE,CLASS)
主关键字是NO
其中NO为学号(数值型),NAME为姓名,SEX为性别,AGE为年龄,CLASS为班号。写出实现下列功能的SQL语句。
删除学号为20的学生记录;______。
填空题答案
46.单价 BETWEEN 15 AND 25 或 单价 BETW 15 AND 25 或 单价 BETWE 15 AND 25 或 单价>=15 and 单价=15 and 单价=15 and 单价15 and 单价=
47.SELECT * FROM R UNION SELECT * FROM T 或 SELE * FROM R UNIO SELE * FROM T 或 SELECT * FROM R UNIO SELECT * FROM T 或 SELE * FROM R UNION SELE * FROM T
48.INSERT INTO R(NO,NAME,CLASS) VALUES(30,"郑和","95031") 或 INSE INTO R(NO,NAME,CLASS) VALUES(30,"郑和","95031") 49.DELETE FROM R WHERE NO=20 或 DELE FROM R WHERE NO=20 或 DELE FROM R WHER NO=20 或 DELETE FROM R WHER NO=20 SQL经典面试题及答案
1.一道SQL语句面试题,关于group by表内容: 2005-05-09 胜 2005-05-09 胜 2005-05-09 负 2005-05-09 负 2005-05-10 胜 2005-05-10 负 2005-05-10 负
如果要生成下列结果, 该如何写sql语句?
胜 负 2005-05-09 2 2 2005-05-10 1 2 ----------- 1)select rq, sum(case when shengfu='胜' then 1 else 0 end)'胜',sum(case when shengfu='负' then 1 else 0 end)'负' from #tmp group by rq 2) select N.rq,N.勝,M.負 from ( select rq,勝=count(*) from #tmp where shengfu='胜'group by rq)N inner join (select rq,負=count(*) from #tmp where shengfu='负'group by rq)M on N.rq=M.rq 3)select a.col001,a.a1 胜,b.b1 负 from
9 (select col001,count(col001) a1 from temp1 where col002='胜' group by col001) a, (select col001,count(col001) b1 from temp1 where col002='负' group by col001) b where a.col001=b.col001 2.请教一个面试中遇到的SQL语句的查询问题
表中有A B C三列,用SQL语句实现:当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列。 ----------- select (case when a>b then a else b end ), (case when b>c then b esle c end) from table_name 3.面试题:一个日期判断的sql语句?
请取出tb_send表中日期(SendTime字段)为当天的所有记录?(SendTime字段为datetime型,包含日期与时间) ----------- select * from tb where datediff(dd,SendTime,getdate())=0 4.有一张表,里面有3个字段:语文,数学,英语。其中有3条记录分别表示语文70分,数学80分,英语58分,请用一条sql语句查询出这三条记录并按以下条件显示出来(并写出您的思路):
大于或等于80表示优秀,大于或等于60表示及格,小于60分表示不及格。
显示格式:
语文
数学
英语
及格
优秀
不及格
----------- select (case when 语文>=80 then '优秀'
when 语文>=60 then '及格' else '不及格') as 语文, (case when 数学>=80 then '优秀'
when 数学>=60 then '及格' else '不及格') as 数学, (case when 英语>=80 then '优秀'
when 英语>=60 then '及格' else '不及格') as 英语, from table
SQL Server 2000 数据库有三种类型的文件:
主要数据文件
主要数据文件是数据库的起点,指向数据库中文件的其它部分。每个数据库都有一个主要数据文件。主要数据文件的推荐文件扩展名是 .mdf。
次要数据文件
次要数据文件包含除主要数据文件外的所有数据文件。有些数据库可能没有次要数据文件,而有些数据库则有多个次要数据文件。次要数据文件的推荐文件扩展名是 .ndf。
10
日志文件
日志文件包含恢复数据库所需的所有日志信息。每个数据库必须至少有一个日志文件,但可以不止一个。日志文件的推荐文件扩展名是 .ldf。 7.请用一个sql语句得出结果
从table1,table2中取出如table3所列格式数据,注意提供的数据及结果不准确,只是作为一个格式向大家请教。 如使用存储过程也可以。
table1
月份mon 部门dep 业绩yj 一月份
01
10 一月份
02
10 一月份
03
5 二月份
02
8 二月份
04
9 三月份
03
8
table2
部门dep
部门名称dname85] ,SUM(CASE WHEN score BETWEEN 70 AND 85 THEN 1 ELSE 0 END) AS [8560] ,SUM(CASE WHEN score
24、查询学生平均成绩及其名次
SELECT 1+(SELECT COUNT( distinct平均成绩) FROM (SELECT S#,AVG(score) AS平均成绩 FROM SC GROUP BY S# 23 ) AS T1 WHERE平均成绩 > T2.平均成绩) as 名次, S# as 学生学号,平均成绩
FROM (SELECT S#,AVG(score)平均成绩 FROM SC GROUP BY S# ) AS T2 ORDER BY平均成绩 desc;
25、查询各科成绩前三名的记录:(不考虑成绩并列情况) SELECT t1.S# as 学生ID,t1.C# as 课程ID,Score as 分数 FROM SC t1 WHERE score IN (SELECT TOP 3 score FROM SC WHERE t1.C#= C# ORDER BY score DESC ) ORDER BY t1.C#;
26、查询每门课程被选修的学生数
select c#,count(S#) from sc group by C#;
27、查询出只选修了一门课程的全部学生的学号和姓名 select SC.S#,Student.Sname,count(C#) AS 选课数 from SC ,Student where SC.S#=Student.S# group by SC.S# ,Student.Sname having count(C#)=1;
28、查询男生、女生人数
Select count(Ssex) as 男生人数 from Student group by Ssex having Ssex='男'; Select count(Ssex) as 女生人数 from Student group by Ssex having Ssex='女';
29、查询姓“张”的学生名单
SELECT Sname FROM Student WHERE Sname like '张%'; 30、查询同名同性学生名单,并统计同名人数
select Sname,count(*) from Student group by Sname having count(*)>1;;
31、1981年出生的学生名单(注:Student表中Sage列的类型是datetime) select Sname, CONVERT(char (11),DATEPART(year,Sage)) as age from student where CONVERT(char(11),DATEPART(year,Sage))='1981';
32、查询每门课程的平均成绩,结果按平均成绩升序排列,平均成绩相同时,按课程号降序排列
Select C#,Avg(score) from SC group by C# order by Avg(score),C# DESC ;
33、查询平均成绩大于85的所有学生的学号、姓名和平均成绩 select Sname,SC.S# ,avg(score) from Student,SC where Student.S#=SC.S# group by SC.S#,Sname having avg(score)>85; 24
34、查询课程名称为“数据库”,且分数低于60的学生姓名和分数 Select Sname,isnull(score,0) from Student,SC,Course where SC.S#=Student.S# and SC.C#=Course.C# and Course.Cname='数据库'and score
35、查询所有学生的选课情况;
SELECT SC.S#,SC.C#,Sname,Cname FROM SC,Student,Course where SC.S#=Student.S# and SC.C#=Course.C# ;
36、查询任何一门课程成绩在70分以上的姓名、课程名称和分数; SELECT distinct student.S#,student.Sname,SC.C#,SC.score FROM student,Sc WHERE SC.score>=70 AND SC.S#=student.S#;
37、查询不及格的课程,并按课程号从大到小排列
select c# from sc where scor e
38、查询课程编号为003且课程成绩在80分以上的学生的学号和姓名;
select SC.S#,Student.Sname from SC,Student where SC.S#=Student.S# and Score>80 and C#='003';
39、求选了课程的学生人数 select count(*) from sc; 40、查询选修“叶平”老师所授课程的学生中,成绩最高的学生姓名及其成绩 select Student.Sname,score from Student,SC,Course C,Teacher where Student.S#=SC.S# and SC.C#=C.C# and C.T#=Teacher.T# and Teacher.Tname='叶平' and SC.score=(select max(score)from SC where C#=C.C# );
41、查询各个课程及相应的选修人数
select count(*) from sc group by C#;
42、查询不同课程成绩相同的学生的学号、课程号、学生成绩
select distinct A.S#,B.score from SC A ,SC B where A.Score=B.Score and A.C# B.C# ;
43、查询每门功成绩最好的前两名
SELECT t1.S# as 学生ID,t1.C# as 课程ID,Score as 分数 FROM SC t1 WHERE score IN (SELECT TOP 2 score FROM SC WHERE t1.C#= C# ORDER BY score DESC ) ORDER BY t1.C#;
44、统计每门课程的学生选修人数(超过10人的课程才统计)。要求输出课程号和选修人数,查询结果按人数降序排列,查询结果按人数降序排列,若人数相同,按课程号升序排列
select C# as 课程号,count(*) as 人数 from sc 25 group by C# order by count(*) desc,c#
45、检索至少选修两门课程的学生学号 select S# from sc group by s# having count(*) > = 2
46、查询全部学生都选修的课程的课程号和课程名 select C#,Cname from Course where C# in (select c# from sc group by c#)
47、查询没学过“叶平”老师讲授的任一门课程的学生姓名
select Sname from Student where S# not in (select S# from Course,Teacher,SC where Course.T#=Teacher.T# and SC.C#=course.C# and Tname='叶平');
48、查询两门以上不及格课程的同学的学号及其平均成绩
select S#,avg(isnull(score,0)) from SC where S# in (select S# from SC where score 2)group by S#;
49、检索“004”课程分数小于60,按分数降序排列的同学学号
select S# from SC where C#='004'and score
26