SQL基础试题
SQL基础知识考核试题_V2.0
SQL基础知识考核试题考试时间:30分钟姓名:___________ 成绩:___________一、单选题(共8题,每题5分)1.使用SQL命令将教师表teacher中工资salary字段的值增加200,应该使用的命令是(D )。
A)Replace salary with salary+200B) Update teacher salary with salary+200C) Update set salary with salary+200D) Update teacher set salary=salary+2002.使用sql语句进行分组检索时,为了去掉不满足条件的分组,应当(B )。
A)使用WHERE子句B)在GROUP BY后面使用HA VING 子句C)先使用WHERE子句,再使用HA VING 子句D)先使用HA VING 子句,再使用WHERE子句3.从货物定单数据表(order)中查询出其中定单金额(order_price)在1000和5000之间的定单的详细信息,并按照定单金额(order_price)降序排列。
正确的语句是(B )。
A) a) Select * from order where [order_price] between 1000 and 5000order by [order_price] ASCB) b) Select * from order where [order_price] between 1000 and 5000order by [order_price] DESCC) c) Select * from order where 1000<[order_price]<5000 order by [order_price] ASCD) d) Select * from order where 1000<[order_price]<5000 order by [order_price] DESC4.表的两种相关约束是? (C)A)主键和索引B)外键和索引C)主键和外键D)内键和外键5.在oracle中下列哪个表名是不允许的(D)。
SQL试题——精选推荐
SQL试题数据库基础与应⽤课程针对性训练⼀、单项选择题,1.域是实体中相应属性的( A. 取值范围)。
2.把保存关系定义的关系称为对应数据库的( B. 元关系)。
3.在⼀个关系R中,若存在X→Y和X→Z,则存在X→(Y,Z),称此为函数依赖的(C. 合并性)规则。
4. 设⼀个关系为R(A,B,C,D,E,F),它的最⼩函数依赖集为FD={A→B,A→C,D→E,D→F},则该关系的候选码为(D. (A,D))。
5.在SQL中,对基本表进⾏插⼊和修改记录的命令为(D. insert和update)。
6.Access2000数据库是(C.关系)型数据库。
7.如果字段内容为声⾳⽂件,可将此字段定义为(C.OLE对象)类型。
8.在建交叉表查询的过程中,最多可以选择(B.3)个⾏标题字段。
9.若要退出Microsoft Acces s,则应使⽤的操作是(C.Quit)。
10.显⽰包含警告信息或其他信息的消息框,应该使⽤的操作是(D.MsgBox)。
1.设D1,D2和D3域的基数分别为2,3和4,则D1?D2?D3的元组数为(B. 24 )。
2.若⼀个关系为R(学⽣号,姓名,性别,年龄),则(A. 学⽣号)适合作为该关系的主码。
3.设⼀个集合A={3,4,5,6,7},集合B={1,3,5,7,9},则A和B的并集中包含有(C. 7)个元素。
4. 在⼀个关系R中,若存在X→(Y,Z),则也隐含存在X→Y和X→Z,称此为函数依赖的(B. 分解性)规则。
5.在SQL的查询语句中,order by选项实现对结果表的(D. 排序)功能。
6.Access2000数据库⽂件的扩展名是(D.mdb)。
7.在下⾯所给的属性中,(D.⾝份证号码)属性适宜作为主关键字。
8.下列(C .)图标是Access中表对象的标志。
9.Access中包含有(B.10)种数据类型。
10.可以通过Internet进⾏数据发布的对象是(D.数据访问页)。
sql试题及答案
一. 选择题:1、根据关系数据基于的数据模型——关系模型的特征判断下列正确的一项:(_B__)A、只存在一对多的实体关系,以图形方式来表示。
B、以二维表格结构来保存数据,在关系表中不允许有重复行存在。
C、能体现一对多、多对多的关系,但不能体现一对一的关系。
D、关系模型数据库是数据库发展的最初阶段。
2、在“连接”组中有两种连接认证方式,其中在(__B_)方式下,需要客户端应用程序连接时提供登录时需要的用户标识和密码。
A、Windows身份验证B、SQL Server 身份验证C、以超级用户身份登录时D、其他方式登录时3、关系数据库中,当运用Transact-SQL语句创建主键时,可以是(__B_)。
A、create table table1(column1 char(13) not null primary,column2 int not) on primary;B、alter table table1 with notcheck addconstraint [PK_table1] primary key nonclustered( column1) on primary;C、alter table table1 column1 primary key ;4、表在数据库中是一个非常重要的数据对象,数据库创建后就可以创建表了,创建表可以用(_D__)等方法来创建。
A、企业管理器B、查询分析器C、OSQLD、企业管理器和CREATE TABLE语句5、_______是数据库系统的核心,它负责数据库的配置、存取、管理和维护等工作。
( C)A、操作系统B、关系模型C、数据库管理系统D、数据库6、SQL Serve是一款基于_________体系的关系型数据库管理系统。
(A )A、客户机/服务器B、主机C、N层D、单机7、下面哪一个不是SQL Server2000的基本数据类型( A)A、VARIANTB、VARCHARC、VARBINARYD、NVARCHAR8、下面的类型中宽度最大的是(C )A、CHAR(5)B、VARCHAR(5)C、NCHAR(5)D、BIGINT9、表达式LEN('电子学院') + DATALENGTH(GETDATE())的值为( C)A、8B、10C、12D、1610、(D )下面哪些操作可以用DataReader对象来实现?A. 添加B. 删除C. 更改D. 查询表的数据11、若要在Web窗体中使用,并且访问SQL Server数据库,需要导入的名称空间为:( B )A. System.SQLServerB. System.Data.SqlClientC. System.Data.OleDbD.System.SQL12、以下哪一个对象不是.NET的数据提供者?( A )A. ConnectionB. CommandC. DataAdapterD. DataReaderE. DataSet13、(B )要使用一个返回记录的存储过程,并把结果返回到DataSet中,在设置DataAdapter对象的属性SelectCommand时,应把存储过程名赋给哪个属性?A. ConnectionB. CommandTextC. CommandTypeD. Result14、(B)以下对象中除什么外都是DataSet对象所包含的A. DataTableB. DataAdapterC. DataRowD. DataColumn15、当采用Windows认证方式登录数据库服务器时,SQL Server客户端软件会向操作系统请求一个( A )。
postgresql试题
以下是几道 PostgreSQL 的基础试题:一、选择题1.PostgreSQL 中,要查询某个字段为空的记录,应该使用哪个 SQL 语句?2. A. SELECT FROM table WHERE field = NULL; B. SELECT FROM tableWHERE field IS NULL;3. C. SELECT FROM table WHERE field <> NULL; D. SELECT FROM tableWHERE field != NULL;4.在PostgreSQL 中,要创建一个名为"users" 的表,其中包含"id"(整数类型)、"name"(文本类型)、和"email"(字符类型)这三个字段,应使用哪个 SQL 语句?5. A. CREATE TABLE users (id INT, name TEXT, email CHAR);6. B. CREATE TABLE users (id INT: name TEXT, email CHAR);7. C. CREATE TABLE "users" ("id" INT, "name" TEXT, "email" CHAR);8. D. CREATE TABLE users (id INT; name TEXT, email CHAR);9.在 PostgreSQL 中,要删除名为 "users" 的表,应使用哪个 SQL 语句?10. A. DELETE TABLE users;11. B. DROP TABLE users;12. C. ALTER TABLE users DELETE;13. D. ERASE TABLE users;二、简答题1.简述在 PostgreSQL 中使用 ORDER BY 子句对查询结果进行排序的语法。
sql入门试题
sql入门试题SQL(Structured Query Language)是用于管理和操作关系数据库的标准化查询语言。
以下是一组SQL 入门试题,旨在测试对基本SQL 查询语句的理解和应用。
一、选择题1.下列哪个是SQL 的关键字?– A. SELECT– B. PRINT– C. SEARCH– D. FIND2.在SQL 中,用于从表中检索数据的命令是?– A. RETRIEVE– B. SELECT– C. GET– D. EXTRACT3.SQL 中用于过滤结果的子句是?– A. WHERE– B. FROM– C. SELECT– D. ORDER BY4.在SQL 中,用于按照某一列对结果进行排序的子句是?– A. GROUP BY– B. ORDER BY– C. SORT BY– D. ARRANGE BY5.在SQL 中,用于将结果按照某一列进行分组的子句是?– A. GROUP BY– B. ORDER BY– C. SORT BY– D. ARRANGE BY二、填空题6.编写一个SQL 查询,从"Employees" 表中选择所有员工的名字和薪水。
SELECT Name, SalaryFROM Employees;7.编写一个SQL 查询,从"Products" 表中选择产品的名称和价格,并按价格从高到低排序。
SELECT ProductName, PriceFROM ProductsORDER BY Price DESC;8.编写一个SQL 查询,统计"Orders" 表中订单的总数。
SELECT COUNT(*) AS TotalOrdersFROM Orders;9.编写一个SQL 查询,找到"Customers" 表中不重复的城市数量。
SELECT COUNT(DISTINCT City) AS UniqueCitiesFROM Customers;三、简答题10.解释SQL 中的WHERE 子句的作用。
sql基础语法 试题
以下为你提供一些关于SQL基础语法试题:1. 写出查询一个名为students的表中所有数据的SQL语句。
2. 假设有一个orders表,其中包含order_id, product_name, 和quantity字段,写出查询所有订单数量大于5的产品的SQL语句。
3. 假设有一个employees表,其中包含employee_id, first_name, last_name, 和salary字段,写出查询工资大于5000的所有员工的SQL语句。
4. 假设有一个customers表,其中包含customer_id, name, 和email字段,写出查询名字为"John"的所有客户的SQL语句。
5. 假设有一个products表,其中包含product_id, product_name, 和price字段,写出查询价格在10到50之间的所有产品的SQL语句。
6. 假设有一个orders表,其中包含order_id, product_name, 和quantity字段,写出插入一条新订单的SQL语句,订单号为101,产品名为"Apple",数量为10。
7. 假设有一个employees表,其中包含employee_id, first_name, last_name, 和salary字段,写出更新工资为6000的员工信息(假设员工ID为1)的SQL语句。
8. 假设有一个customers表,其中包含customer_id, name, 和email字段,写出删除名字为"John"的客户的SQL语句。
9. 假设有一个products表,其中包含product_id, product_name, 和price字段,写出删除价格为20的产品(假设产品ID为1)的SQL语句。
SQL理论考核试题
SQL理论考核试题一、选择题1.SQL查询中使用where子句指出的是()[单选题]*A、查询目标B、查询结果C、查询视图D、查询条件√2.在一个mysql查询中,使用哪一个关键字能去除重复列值()[单选题]*A、groupbyB、orderbyC、distinct√D、limit3.SQL中属于分组查询的语句是()[单选题]*A、whereB、limitC、groupby√D、having4.SQL语句:selectcount(*)fromt_userwhereid<>0的作用是()[单选题]*A、查询t_user表id等于0的全部记录B、查询t_user表id不等于0的全部记录C、查询t_user表id等于0的记录数量D、查询t_user表id不等于0的记录数量√5.SQL中下列涉及空值的操作,不正确的是()[单选题]*A、ageisnotnullB、ageisnullC、age=null√D、not(ageisnull)6.下列选项中,与语句select*frombookwherebook_numnotbetween200and300;等价的有()[单选题]*A、select*frombookwherebook_num<=200orbook_num>300B、select*frombookwherebook_num<=200orbook_num>=300C、select*frombookwherebook_num<200orbook_num>300√D、题目中写法有错误,无法给出等价写法。
7.以下属于日期类函数有()[多选题]*A、substrB、datediff√C、date_add√D、date_format√8.A表leftjoinB表,期待的结果是()[单选题]*A、保留A表中所有数据,B表关联不上的置为null√B、保留B表中所有数据,A表关联不上的置为nullC、A表与B表中数据都会被保留D、只保留A表与B表能关联上的部分9.关于笛卡尔积描述正确的是()[单选题]*A、两个集合中的每一个成员,都与对方集合中的任意一个成员有关联。
SQL基础试题
SQL基础试题第3章关系数据库标准语⾔SQL⼀、选择题1、SQL语⾔是的语⾔,易学习。
A.过程化 B.⾮过程化 C.格式化 D.导航式答案:B2、SQL语⾔是语⾔。
A.层次数据库 B.⽹络数据库 C.关系数据库 D.⾮数据库答案:C3、SQL语⾔具有的功能。
A.关系规范化、数据操纵、数据控制 B.数据定义、数据操纵、数据控制C.数据定义、关系规范化、数据控制 D.数据定义、关系规范化、数据操纵答案:B4、SQL语⾔具有两种使⽤⽅式,分别称为交互式SQL和。
A.提⽰式SQL B.多⽤户SQL C.嵌⼊式SQL D.解释式SQL 答案:C5、假定学⽣关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TEACHER),学⽣选课关系是SC(S#,C#,GRADE)。
要查找选修“COMPUTER”课程的“⼥”学⽣姓名,将涉及到关系。
A.S B.SC,C C.S,SC D.S,C,SC 答案:D6、若⽤如下的SQL语句创建⼀个student表:CREATE TABLE student(NO C(4) NOT NULL,NAME C(8) NOT NULL,SEX C(2),AGE N(2))可以插⼊到student表中的是。
A.(‘1031’,‘曾华’,男,23) B.(‘1031’,‘曾华’,NULL,NULL)C.(NULL,‘曾华’,‘男’,‘23’) D.(‘1031’,NULL,‘男’,23) 答案:B7、当两个⼦查询的结果时,可以执⾏并,交,差操作.A.结构完全不⼀致 B.结构完全⼀致C.结构部分⼀致D.主键⼀致答案:B第8到第10题基于这样的三个表即学⽣表S、课程表C和学⽣选课表SC,它们的结构如下:S(S#,SN,SEX,AGE,DEPT)C(C#,CN)SC(S#,C#,GRADE)其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程号,CN为课程名,GRADE为成绩。
SQL 数据库试题及答案
SQL 数据库试题及答案一、单选题(每题2分,共20分)()1、下列不能启动SQL Server服务的方法:A、使用SQL Server配置管理器B、使用Windows的管理工具C、使用net start mssqlserver 命令D、在查询编辑器中编写T-SQL程序()2、部分匹配查询中有关通配符“%”的正确的叙述是。
A、“%”代表多个字符B、“%”可以代表零个或多个字符C、“%”不能与“_”一同使用D、“%”代表一个字符()3、在SELECT子句中,如果想要返回结果集中不包含相同的行,应该使用关键字。
A、TOPB、ASC、DISTINCTD、JOIN()4、是表中用来唯一标识的每行记录。
A、外键B、主键C、索引D、数据库完整性()5、SQL 中,"GRADE NOT BETWEEN 60 AND 90"的语义是。
A、GRADE<60 OR GRADE>90B、GRADE<= 60 OR GRADE>= 90C、GRADE<>60 AND GRADE<>90D、GRADE<>60 OR GRADE<>90()6、简称DBA。
A、数据库管理员B、数据库C、数据库管理系统D、计算机硬件()7、在SQL中,可以使用语句执行恢复数据库的操作。
A、BACKUP DA TABASEB、RESTORE DA TABASEC、CREATE DARABASED、DROP DATABASE()8、设一个班级可选修多门课程,一门课程可被多个班级选修,班级与课程之间是。
A、一对一的联系B、一对多的联系C、多对一的联系D、多对多的联系()9、SQL Server2016的数据库中主数据文件的扩展名是。
A、.mdfB、.ndfC、.ldfD、.dbf()10、当表中引入时,会提高记录的查询速度。
A、外键B、主键C、索引D、数据库完整性二、数据库设计题(共40分)根据如下E-R图,将其转换为逻辑数据库。
sql初级试题
sql初级试题SQL初级试题一、选择题(单选题)1. 下面哪个不是SQL数据操作语言?A. SELECTB. INSERTC. DELETED. UPDATE2. 下面哪个不是SQL数据定义语言?A. CREATEB. ALTERC. DROPD. SELECT3. 下面哪个不是SQL数据控制语言?A. GRANTB. REVOKEC. CREATED. DENY4. 在一个表中,主键的作用是什么?A. 用来指定该列为自增列B. 用来指定该列不能重复出现C. 用来指定该列的默认值D. 用来指定该列的数据类型5. 下面哪种关系不能使用外键?A. 一对多B. 多对多C. 一对一D. 都可以使用外键二、选择题(多选题)1. 以下哪些操作可以对数据进行修改?A. SELECTB. DELETEC. UPDATED. INSERT2. 下面哪些是SQL的常用数据类型?A. INTB. VARCHARC. TIMESTAMPD. MATRIX3. 下面哪些可以作为主键?A. 数字类型B. 字符类型C. 日期类型D. 都可以作为主键4. 下面哪些是SQL的关键字?A. SELECTB. FROMC. WHERED. VAR三、填空题1. 查询某个表的所有数据语句是 __________?2. 在一个表中,如果列名是id,数据类型是INT,而且是主键,则在创建表时需要添加 __________ 选项。
3. 以下哪个操作可以删除某个表?4. 在查询结果中,如果希望去除重复的结果,则需要添加 __________ 关键字。
四、简答题1. 简述SQL是什么以及作用是什么。
2. 什么是关系型数据库?3. 什么是主键?它的作用是什么?4. 什么是外键?它的作用是什么?以上是SQL初级试题的内容,希望能够帮助大家更好地了解SQL语言。
sql练习题(1)
sql练习题(1)数据库基础测试题姓名:工号:一、单项选择题,把最合适的选项编号核对在括号内。
(每小题1分后,共10分后)1.在数据库技术中,实体-联系模型是一种()a.概念数据模型b.结构数据模型c.物理数据模型d.逻辑数据模型2.关系数据模型通常由3部分组成,它们是()a.数据结构,数据通信,关系操作b.数据结构,数据操作方式,数据完整性约束c.数据通信,数据操作方式,数据完整性约束d.数据结构,数据通信,数据完整性约束3.sql语言中,删除一个表的命令是()a.deleteb.dropc.cleard.remove4.在sql的查询语句中,orderby选项实现对结果表的()功能a.分组统计数据b.议和c.搜寻d.排序5.sqlserver触发器主要针对下列语句创建()a.select,insert,deleteb.insert,update,deletec.select,update,insertd.insert,update,create6.下列哪个不是sql数据库文件的后缀。
a..mdfb..ldfc..tifd..ndf7.在sql中,建立表用的命令是()。
a.createtableb.createrulec.createviewd.createindex8.sql语言中,条件“年龄between40and50”表示年龄在40至50之间,且()。
a.包含40岁和50岁b.不包含40岁和50岁c.包括40岁但不包括50岁d.包括50岁但不包括40岁9.模式搜寻like'_a%',下面哪个结果就是可能将的a.ailib.baic.bbaa10.若某表中满足用户1nf,且其所有属性再分出来共同组成主健,则一定还满足用户范式()a、只有2nfb、只有3nfc、2nf和3nfd、没有二、填空题,把最合适内容填上在横线上。
(每空1分后,共19分后)1.dbms是指_______________。
sql试题及答案
sql试题及答案一、单选题1. Microsoft公司的SQL Server2000数据库管理系统一般只能运行于()。
A. Windows平台B. UNIX平台C. LINX平台D. NetWare平台2. 当一条SELECT语句访问一张大表里的有限几行数据时,SQL Server2000通常会()。
A. 为数据加上页级锁B. 为数据加上行级锁C. 需要用户的干涉和参与D. 使用户独占数据库3. 当采用Windows认证方式登录数据库服务器时,SQL Server2000客户端软件会向操作系统请求一个()。
A. 信任连接B. 邮件集成C. 并发控制D. 数据转换服务4. 以下对SQL Server2000描述不正确的是()。
A. 支持XMLB. 支持用户自定义函数C. 支持邮件集成D. 支持网状数据模型5. 如果在SQL Server2000上运行一个非常大的数据库,为取得较好效果应选用安装()。
A. 企业版B. 标准版C. 个人版D. 开发版6. 提高SQL Server2000性能的最佳方法之一是()。
A. 增大硬盘空间B. 增加内存C. 减少数据量D. 采用高分辨率显示器7. SQL Server2000标准版不支持的操作系统是()。
A. Windows 2000 ServerB. Windows NT ServerC. Windows98D. Windows 2000 Advanced Server8. 如果希望完全安装SQL Server2000,则应选择()。
A. 典型安装B. 最小安装C. 自定义安装D. 仅连接9. 要想使SQL Server2000数据库管理系统开始工作,必须首先启动()。
A. SQL Server服务器B. 查询分析器C. 网络实用工具D. 数据导入和导出程序10. 用于配置客户端网络连接的工具是()。
A. 企业管理器B. 客户端网络实用工具C. 查询分析器D. 联机帮助文档11. SQL Server2000的物理存储主要包括3类文件()。
sql数据库试题及答案
sql数据库试题及答案SQL数据库试题一1. 下面哪个命令可以创建一个名为"employee"的表格?A. CREATE TABLE employee;B. NEW TABLE employee;C. ADD TABLE employee;D. INSERT TABLE employee;答案:A. CREATE TABLE employee;2. 下列哪个是SQL数据库的关键字?A. SELECTB. COLUMNC. INSERTD. ADD答案:A. SELECT3. 在SQL中,如何查询一个名为"customers"的表格的所有记录?A. SELECT * FROM customers;B. SELECT ALL FROM customers;C. SELECT RECORDS FROM customers;D. SELECT DATA FROM customers;答案:A. SELECT * FROM customers;4. 如何在SQL中向表格中插入新的记录?A. ADD NEW INTOB. UPDATE TABLEC. INSERT INTOD. CREATE NEW答案:C. INSERT INTO5. 如何根据特定条件从表格中删除记录?A. REMOVE FROMB. ERASE ROWC. DELETE FROMD. DROP RECORD答案:C. DELETE FROMSQL数据库试题二1. 下面哪个关键字可以用来对查询结果进行排序?A. GROUP BYB. SORT BYC. ORDER BYD. ARRANGE BY答案:C. ORDER BY2. 在SQL中,如何对表格的指定列进行更新?A. MODIFY COLUMNB. EDIT TABLEC. UPDATE COLUMND. ALTER TABLE答案:C. UPDATE COLUMN3. 下面哪个函数可以计算表格中指定列的平均值?A. AVG()B. SUM()C. MAX()D. COUNT()答案:A. AVG()4. 在SQL中,如何查找表格中满足特定条件的记录数量?A. GET()B. FETCH()C. SEARCH()D. COUNT()答案:D. COUNT()5. 下面哪个关键字可以用来从多个表格中联合查询数据?A. UNIONB. JOINC. CONNECTD. COMBINE答案:B. JOIN文章到此结束,希望以上SQL数据库试题及答案能帮助到您对SQL数据库的理解和学习。
sql经典练习题库(附答案)
SQL练习题库表结构Student(S#,Sname,Sage,Ssex) 学生表Course(C#,Cname,T#) 课程表SC(S#,C#,score) 成绩表Teacher(T#,Tname) 教师表试题:1、查询“0001”课程比“C002”课程成绩高的所有学生的学号;Select s# from scWhere c#='0001' and score>any(select score from sc c#='0002')2、查询平均成绩大于60分的同学的学号和平均成绩;select s#,avg(score) from SCgroup by s#having avg(score)>603、查询所有同学的学号、姓名、选课数、总成绩;select student.s#,student.sname,count(sc.c#)as 选课数,sum(score)总成绩from student,scwhere student.s#=sc.s#group by student.s#,student.sname4、查询姓“张”的老师的个数;select count(*)人数from teacherwhere tname like'张%'5、查询没学过“叶平”老师课的同学的学号、姓名;select student.s#,student.sname from student,course,teacher,scwhere student.s#=sc.s# and course.t#=teacher.t# and teacher.t# not in(select t# from teacher where tname='张丽芬') group by student.s#,student.sname6、查询学过“0001”并且也学过编号“0002”课程的同学的学号、姓名;select sc.s#,sname from sc,studentwhere sc.c# = '0001' and student.s# = sc.s# and sc.s# in (select s# from sc where sc.c# = '0002')--并(两表值)select student.s#,student.sname from student,scwhere student.s#=sc.s# and sc.c#='0001'unionselect student.s#,student.sname from student,scwhere student.s#=sc.s# and sc.c#='0002'--交(有相同值)select student.s#,student.sname from student,scwhere student.s#=sc.s# and sc.c#='0001'intersectselect student.s#,student.sname from student,scwhere student.s#=sc.s# and sc.c#='0002'--差(不同值)select student.s#,student.sname from student,scwhere student.s#=sc.s# and sc.c#='0001'exceptselect student.s#,student.sname from student,scwhere student.s#=sc.s# and sc.c#='0002'7、查询学过“叶平”老师所教的所有课的同学的学号、姓名;select student.s#,student.sname from student,course,teacher,scwhere student.s#=sc.s# and course.t#=teacher.t# and teacher.t# in(select t# from teacher where tname='张丽芬')group by student.s#,student.sname8、查询课程编号“001”的成绩比课程编号“002”课程低的所有同学的学号、姓名;select student.s#,sname,score from student,scwhere student.s#=sc.s# and score in(( select score from sc where c#='0001' )<all( select score from sc where c#='0002' )) 9、查询所有课程成绩小于60分的同学的学号、姓名;select student.s#,sname from studentwhere s# in(select s# from sc where score<60)10、查询没有学全所有课的同学的学号、姓名;select student.s#,student.sname from student,scwhere student.s#=sc.s#group by student.s#,student.snamehaving count(c#)<(select count(c#) from course)11、查询至少有一门课与学号为“1001”的同学所学相同的同学的学号和姓名;select student.s#,student.sname from student,scwhere student.s#=sc.s# and c#=any(select c# from scwhere s#='1001')group by student.s#,student.sname12、查询至少学过学号为“0001”同学所有一门课的其他同学学号和姓名;Select sc.s#,sname from sc inner join student on sc.s#=student.s#Where c# in (select c# from sc where s#=’0001’)13、把“SC”表中“赵雁南”老师教的课的成绩都更改为此课程的平均成绩;update scset score=(select avg(sc.score) from sc,teacher,coursewhere sc.c#=course.c# and course.t#=teacher.t# and teacher.tname='赵雁南')where sc.c#=(select c# from course,teacher where course.t#=teacher.t# and tname='赵雁南' )14、查询和“1002”号的同学学习的课程完全相同的其他同学学号和姓名;select student.s#,sname from student,scwhere student.s#=sc.s# and sc.c#=all(select c# from sc where s#='1005') and student.s#<>'1005'15、删除学习“朱玉文”老师课的SC表记录;delete from scwhere c# in(select c# from sc where c# in (select c# from course,teacher where teacher.t#=course.t# and teacher.tname='朱玉文' ) )16、向SC表中插入一些记录,这些记录要求符合以下条件:没有上过编号“0002”课程的同学学号、号课的平均成绩;insert into scvaluesselect s# from sc where s# not in (select s# from sc where c#='0002'select avg(score) as 平均成绩from sc where c#='0002'17、按平均成绩从高到低显示所有学生的“数据库”、“企业管理”、“英语”三门的课程成绩,按如下形式显示:学生ID,,数据库,企业管理,英语,有效课程数,有效平均分select sc.s#,ame,sc.score,avg(score)as 平均成绩from sc inner join course on sc.c#=course.c#where sc.c# in(select c# from course where cname=any(select cname from course where cname in('计算机基础','Oracle','软件工程')))group by sc.s#,ame,sc.scoreorder by avg(score) descSELECT S# as 学生ID,(SELECT score FROM SC WHERE SC.S#=t.S# AND C#='0001') AS 计算机基础,(SELECT score FROM SC WHERE SC.S#=t.S# AND C#='0002') AS Oracle,(SELECT score FROM SC WHERE SC.S#=t.S# AND C#='0011') AS 软件工程,COUNT(*) AS 有效课程数, AVG(t.score) AS 平均成绩FROM sc AS tGROUP BY S#ORDER BY avg(t.score) desc18、查询各科成绩最高和最低的分:以如下形式显示:课程ID,最高分,最低分select c# 课程ID,max(score) 最高分,min(score) 最低分from scgroup by c#19、按各科平均成绩从低到高和及格率的百分数从高到低顺序select c#, avg(score) from scwhere score>60group by c#20、查询如下课程平均成绩和及格率的百分数(用"1行"显示): 企业管理(),马克思(),OO&UML (),数据库()21、查询不同老师所教不同课程平均分从高到低显示select course.t#,avg(sc.score) as 平均分from sc,coursewhere sc.c#=course.c#group by course.t#order by avg(sc.score) desc22、查询如下课程成绩第3 名到第6 名的学生成绩单:企业管理,马克思,UML,数据库[学生ID],[学生姓名],企业管理,马克思,UML,数据库,平均成绩select student.s#,student.sname,sc.score,ame from student inner join sc on student.s#=sc.s#inner join course on sc.c#=course.c#where ame in('oracle','电路分析','计算机基础')order by ame,sc.score desc23、统计列印各科成绩,各分数段人数:课程ID,课程名称,[100-85],[85-70],[70-60],[ <60]select sc.c#,ame,count(*)人数from sc,coursewhere course.c#=sc.c#group by sc.c#,ame24、查询学生平均成绩及其名次select sc.s#,avg(score) from scgroup by sc.s#order by avg(score) desc25、查询各科成绩前三名的记录考虑成绩并列情况select s#,c# ,score from scwhere score in (select distinct top 3 score from scgroup by c#,score)order by score desc26、查询每门课程被选修的学生数select c# as 课程号,count(c#)as 选修人数from scgroup by c#order by count(c#) desc27、查询出只选修了一门课程的全部学生的学号和姓名select sc.s#,student.sname from sc inner join student on student.s#=sc.s#group by sc.s#,student.snamehaving count(c#)=128、查询男生、女生人数select ssex, count(*) as 总人数from studentgroup by ssex29、查询姓“张”的学生名单select sname from studentwhere sname like '张%'30、查询同名同性学生名单,并统计同名人数select ssex,count(*) from studentgroup by ssex31、同年出生的学生名单(注:Student表中Sage列的类型是datetime)32、查询每门课程的平均成绩,结果按平均成绩升序排列,平均成绩相同时,按课程号降序排列select c#,avg(score)平均成绩from scgroup by c#order by avg(score) asc33、查询平均成绩大于的所有学生的学号、姓名和平均成绩select top 1 student.s#,student.sname,avg(score)平均成绩from student inner join sc on student.s#=sc.s#group by student.s#,student.snameorder by avg(score) desc34、查询课程名称为“数据库”,且分数低于80的学生姓名和分数select student.sname,sc.score from sc,student,coursewhere student.s#=sc.s# and sc.c#=course.c# and ame='计算机基础' and sc.score<80group by student.sname,sc.score35、查询所有学生的选课情况;select student.s#,sname,c# from student left join sc on student.s#=sc.s#36、查询任何一门课程成绩在70分以上的姓名、课程名称和分数;select student.sname,ame,sc.score from student,sc,coursewhere student.s#=sc.s# and sc.c#=course.c# and sc.score>70order by score desc37、查询不及格的课程,并按课程号从大到小排列select c#,score from scwhere score<60order by c#38、查询课程编号为0001且课程成绩在70分以上的学生的学号和姓名;select student.s#,sname from sc,studentwhere c#='0001' and score>70 and student.s#=sc.s#39、求选了课程的学生人数select count(s#)人数from scwhere sc.score<>040、查询选修“oracle”课程的学生中,成绩最高的学生姓名及其成绩select top 1 student.sname,max(sc.score)成绩最高from student inner join sc on student.s#=sc.s# inner join course on sc.c#=course.c#where ame='oracle'group by student.snameorder by max(sc.score) desc41、查询各个课程及相应的选修人数select ame,count(sc.c#) as 选修人数from sc inner join course on sc.c#=course.c#group by ameorder by count(sc.c#) desc,ame asc42、查询不同课程成绩相同的学生的学号、课程号、学生成绩43、查询每门功成绩最好的前两名SELECT t1.S# as 学生ID,t1.C# as 课程ID,Score as 分数FROM SC t1WHERE score IN (SELECT TOP 2 score FROM SCWHERE t1.C#= C#ORDER BY score DESC)ORDER BY t1.C#44、统计每门课程的学生选修人数(超过人的课程才统计)。
sql测试题和答案.docx
sql测试题和答案# SQL测试题1. 基础查询题- 题目:编写一个SQL查询,从`employees`表中选择所有员工的姓名和员工ID。
- 答案:`SELECT name, employee_id FROM employees;`2. 条件查询题- 题目:从`orders`表中选择所有订单金额超过1000的订单。
- 答案:`SELECT * FROM orders WHERE order_amount > 1000;`3. 排序题- 题目:从`products`表中选择所有产品的名称和价格,并按价格降序排列。
- 答案:`SELECT name, price FROM products ORDER BY price DESC;`4. 聚合函数题- 题目:计算`sales`表中所有销售额的总和。
- 答案:`SELECT SUM(sales_amount) AS total_sales FROM sales;`5. 分组查询题- 题目:从`sales`表中按产品ID分组,并计算每个产品的总销售额。
- 答案:`SELECT product_id, SUM(sales_amount) AStotal_sales_per_product FROM sales GROUP BY product_id;`6. 连接查询题- 题目:查询`customers`表和`orders`表,找出所有客户的姓名和他们下过的订单数量。
- 答案:`SELECT , COUNT(o.order_id) AS order_count FROM customers c JOIN orders o ON c.customer_id =o.customer_id GROUP BY ;`7. 子查询题- 题目:找出`employees`表中工资高于平均工资的员工的姓名和工资。
- 答案:`SELECT name, salary FROM employees WHERE salary > (SELECT AVG(salary) FROM employees);`8. 多表连接查询题- 题目:查询`employees`表和`departments`表,找出所有员工的姓名、部门名称和部门ID。
sql数据库基础面试题复习题考试题-全(1)
不定项选择题(针对以下题目,请选择最符合题目要求的答案,每道题有一项或二项正确答案。
针对每一道题目,所有答案都选对,则该题得分,所选答案错误或不能选出所有答案,则该题不得分。
题量为50道,每题2分,总分为100分。
)第一章1、是SQLServer数据库的主数据文件的扩展名。
(选择一项)A、.sqlB、.mdbC、.ldfD、.mdf2、在SQL Server 2005中,有系统数据库和用户数据库,下列不属于系统数据库的是()。
(选择一项)A、masterB、pubsC、modelD、msdb3、当安装完SQL Server2005数据库时,系统默认当前的超级管理员是( ) (选择一项)A、saB、masterC、administratorD、super4、在使用SQL Server2005数据库时,有时需要将本机的数据库移动到其他机器上,恢复成对应的数据库使用。
移动数据库分两步进行,应包括()和附加数据库(选择一项)A、分离数据库B、删除数据库C、新建数据库D、合并数据库5、在SQL Server2005中,附加数据库操作是指()(选择一项)A、把SQL Server 数据库文件保存为其他数据文件B、根据数据库物理文件中的信息,把数据库在SQL Server 2005中恢复C、把所有该数据库表的数据清空D、把数据库删除掉6、某单位由不同的部门组成,不同的部门每天都会生产一些报告、报表等数据,以为都采用纸张的形式来进行数据的保存和分类,随着业务的发展,这些数据越来越多,管理这些报告越来越费力,此时应考虑()(选择一项)A、由多个人来完成这些工作B、在不同的部门中,由专门的人员去管理这些数据C、采用数据库系统来管理这些数据D、把这些数据统一成一样的格式7、在SQL Server 2005中,对于数据库的定义正确的是()(选择一项)A、数据库是用来描述事物的符号记录B、数据库是位于用户与操作系统之间的一层数据管理软件C、数据库是按照数据结构来组织、存储和管理数据的创库D、数据库是指在计算机系统中引入数据库系统后的构成8、在SQL Server 2005中,对于数据库的基本概念描述错误的是()(选择一项)A、数据、数据库、数据库管理系统和数据库系统都是与数据库技术相关的概念B、数据库是计算机科学的重要分支,是信息系统的核心和基础C、数据库系统由数据库、数据库管理系统、应用系统、数据库管理员和用户组成D、数据库系统只由数据库和用户组成9、数据库管理技术发展至今,主要经历了3个阶段,它们的顺序是()(选择一项)A、人工管理阶段、数据库管理阶段、文件管理阶段B、人工管理阶段、文件管理阶段、数据库管理阶段C、数据库管理阶段、文件管理阶段、人工管理阶段D、文件管理阶段、人工管理阶段、数据库管理阶段10、下列对于数据库管理技术发展至今经历的阶段特点描述错误的是()(选择一项)A、人工管理阶段数据由人员自行携带,数据与程序并不能独立且不能长期保存数据B、文件管理阶段是指可以通过按文件访问的方式管理数据C、数据库管理阶段使得数据结构化,数据共享性好但独立性差D、数据库管理阶段出现的数据库管理系统实现了数据库的独立、使用和维护11、数据库系统根据数据存储的数据模型可分为()(选择一项)A、层次型数据库B、层次型数据库、网状型数据库C、层次型数据库、网状型数据库、关系型数据库D、层次型数据库、网状型数据库、关系型数据库、面向对象型数据库12、在SQL Server 2005中,最常用的数据存储模型是()(选择一项)A、层次型数据库B、网状型数据库C、关系型数据库D、面向对象型数据库13在SQL Server 2005中,对于数据库管理系统的特点描述不正确的是()(选择一项)A、安全性,数据不会丢失B、共享性,多个用户可以同时使用C、独立性,数据与应用程序之间相互分离D、完整性,数据保持一致13、在SQL Server 2005中,对于SQL全称描述正确的是()(选择一项)A、数据库语言B、结构化查询语言C、结构化语言D、数据库查询语言14、下列对SQL Server2008描述错误的是()(选择一项)A、SQL Server采用的是浏览器/服务器体系结构B、SQL Server2008是用于大规模联机事物处理、数据仓库和电子商务应用的数据库和数据分析平台C、它为使用者提供了强大的、界面友好的工具D、SQL Server2008降低了从移动设备到企业数据库系统的多平台上创建、部署、管理,使企业数据和分析应用程序的复杂性15、使用SQL Server2008,以下方式中()不能正确启动服务器(选择一项)A、在运行对话框中输入net stop mssqlserverB、在运行对话框中输入net start mssqlserverC、单击“开始“选择”程序“选择”Microsoft SQL Server 2008“选择“配置工具”选择“SQL Server配置管理器”D、单击“开始“选择”设置“选择”控制面板“选择“管理工具”选择“服务”选中SQL Server(MSSQLSERVER)服务16、SQL Server中自己建立的studentMIS数据库属于(选择一项)A用户数据库B、系统数据库C、数据库管理系统D、数据库模板17、下列关于系统数据库说法错误的是(选择一项)A、master数据库保存有放在SQL Server实体上的所有数据库B、tempdb数据库中存放的是临时对象C、msdb数据库包含了诸如系统登录、配置设置、已连接的Server等信息D、model数据库是一个用来在实体上创建新用户数据库的模板数据库第二章3、在SQL Server 2005中,数据完整性是指()。
SQL试题精选及答案
SQL试题精选及答案1. 请写出SQL中创建新表的语句。
答案:CREATE TABLE 表名 (列1 类型, 列2 类型, ...);2. 如何在SQL中查询特定列的数据?答案:SELECT 列名 FROM 表名 WHERE 条件;3. 请解释SQL中的JOIN操作。
答案:JOIN操作用于将两个或多个表中的行组合起来,基于一个共同的列。
4. 写出SQL中更新表中数据的语句。
答案:UPDATE 表名 SET 列名1 = 值1, 列名2 = 值2 WHERE 条件;5. 如何在SQL中删除表中的数据?答案:DELETE FROM 表名 WHERE 条件;6. 请描述SQL中的GROUP BY子句的作用。
答案:GROUP BY子句用于将取回的记录分组,可以与聚合函数一起使用,如COUNT、SUM等。
7. SQL中如何使用子查询?答案:子查询是嵌套在另一个查询中的查询,可以出现在SELECT、INSERT、UPDATE或DELETE语句中。
8. 请写出SQL中创建索引的语句。
答案:CREATE INDEX 索引名 ON 表名 (列名);9. 如何在SQL中使用事务?答案:可以使用BEGIN TRANSACTION开始事务,然后执行一系列操作,最后使用COMMIT提交事务或ROLLBACK回滚事务。
10. 请解释SQL中的主键和外键。
答案:主键是表中用来唯一标识每行数据的列或列组合,而外键是一个表中的列或列组合,它在另一个表中作为主键。
11. SQL中如何进行数据排序?答案:使用ORDER BY子句,如SELECT * FROM 表名 ORDER BY 列名ASC 或 DESC。
12. 如何在SQL中使用聚合函数?答案:聚合函数如SUM、COUNT、AVG等,可以与GROUP BY子句一起使用,对数据进行汇总。
13. 请写出SQL中插入数据的语句。
答案:INSERT INTO 表名 (列1, 列2, ...) VALUES (值1, 值2, ...);14. 请解释SQL中的视图。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SQL基础试题(总分90分,考试时间:90分钟)
姓名
以下用SQL语句完成
1. 建表Employee与Training,分析表1和表2的结构,自行设置主键,写出建表语句。
(1
0分)
2. 用SQL语句把上述两表的数据插入建好的表中,分别用一条SQL语句完成(随意选择一
条数据)(10分)
3. 修改表2,加入备注字段(memo)。
(5分)
4. 统计出各部门的人数和各部门姓“李”的人数。
(10分)
5. 列出所有员工参加培训的情况,要求显示EID,Name,Department,Course,用一条S
QL语句完成。
(5分)
6. 选出未参加培训的人员名单,按表1的格式显示,用一条SQL语句完成。
(5分)
7. 更新员工的Email,规则为:员工所在部门名称加员工姓名再加“@”,用一条
SQL语句完成。
(5分)
8. 列出所有各课成绩最高的员工信息,要求显示EID,Name,Department,Course,Grad
e,用一条SQL语句完成。
(5分)
9. 把所有表2有但表1没有的员工编号插入到表1中,用一条SQL语句完成。
(5分)
10. 统计各门课程成绩各分数段人数:
课程ID,课程名称,[100-85],[84-70],[69-60],[<60] (10分)
11. 开发一个存储过程proc_get_emp_info要求如下:
输入参数:i_eid员工号
输出参数:o_retno响应码
o_info员工名字、部门和工作(中间用竖线分割)
处理逻辑:
根据输入的账号,查询其他字段的信息并返回,如果存在该账号,o_retno字段为0,同时在o_info字段返回对应的客户号和客户姓名;如果输入的账号不存在,o_retno返回1,o_info为“NOTFOUND”,如果处理过程中发生异常,o_retno返回-1,o_info存放具体的异常信息。
(20分)。