SQL练习2答案
综合练习(二)-习题
综合练习(⼆)-习题综合练习(⼆)⼀、⽤SQL语句创建如下三张表:学⽣表(Student)、课程表(Course)和学⽣选课表(SC),三张表结构如下:注:⼀、⼆两题需要将命令放⼊*.sql脚本中,然后使⽤脚本进⾏创建表及数据的录⼊Student表结构Course表结构SC表结构答案:1、Student表CREATE TABLE Student (sno VARCHAR2(7) PRIMARY KEY,sname VARCHAR2 (10) NOT NULL,ssex VARCHAR2 (2) CHECK(ssex=‘男’ OR ssex=‘⼥’),sage NUMBER(2) CHECK(sage>=15 AND sage<=45),sdept VARCHAR2 (20) DEFAULT ‘计算机系’)2、Course表CREATE TABLE Course(cno VARCHAR2 (10) NOT NULL,cname VARCHAR2 (20) NOT NULL,ccredit NUMBER(2) CHECK(ccredit>0),semester NUMBER(2) CHECK(semester>0),period NUMBER(3) CHECK(period>0),CONTRAINT course_cno_pk PRIMARY KEY(cno))3、SC表CREATE TABLE SC(sno char(7) NOT NULL,cno char(10) NOT NULL,grade tinyint CHECK(grade>=0 AND grade<=100),CONTRAINT sc_sno_cno_pk PRIMARY KEY(sno,cno),CONTRAINT student_sno_fk FOREIGN KEY(sno) REFERENCE Student(sno), CONTRAINT course_cno_fk FOREIGN KEY(cno) REFERENCE Course (cno) )⼆、使⽤SQL语句分别向Student、Course、SC表中加⼊如下数据:Student表数据Course表数据SC 表数据三、完成如下查询1、查询全体学⽣的学号和姓名SELECT sno, sname from Student2、查询全体学⽣的姓名、学号和所在系SELECT sname, sno, sdept from Student3、查询全体学⽣的姓名及其出⽣年份分析:由于Student表中只记录了学⽣的年龄,⽽没有记录学⽣的出⽣年份,所以需要经过计算得到学⽣的出⽣年份,即⽤当前年减去年龄,得到出⽣年份。
SQL语句练习及答案
sql语句练习题1数据库有如下四个表格:student(sno,sname,sage,ssex,sdpt) 学生表系表(dptno,dname)course(cno,cname, gradet, tno) 课程表sc(sno,cno,score) 成绩表teacher(tno,tname) 教师表要求:完成以下操作1.查询姓"欧阳"且全名为三个汉字的学生的姓名。
select sname from student where sname like “欧阳__‟;2.查询名字中第2个字为"阳"字的学生的姓名和学号。
select sname,sno from student where sname like '_阳%';3.查询所有不姓刘的学生姓名。
select sname,sno,ssexfrom studentwhere sname not like “刘%”;4.查询db_design课程的课程号和学分。
select cno,ccredit from coursewhere cname like 'db_design'5.查询以"db_"开头,且倒数第3个字符为i的课程的详细情况。
select * from course where cname like 'db%i_ _';6.某些学生选修课程后没有参加考试,所以有选课记录,但没有考试成绩。
查询缺少成绩的学生的学号和相应的课程号。
select sno,cno from sc where grade is null;7.查所有有成绩的学生学号和课程号。
select sno,cno from sc where grade is not null;8.查询计算机系年龄在20岁以下的学生姓名。
select sname from student where sdept= 'cs' and sage<20;9.查询选修了3号课程的学生的学号及其成绩,查询结果按分数降序排列。
vf数据库sql部分的答案2
vf数据库sql部分的答案211)检索在北京的供应商的名称。
SELECT * FROM 供应商WHERE 地址=’北京’2)检索发给供应商S6的订购单号。
SELECT 订购单号FROM 订购单WHERE 供应商号=’S6’3)检索出职工E6发给供应商S6的订购单信息。
SELECT * FROM 订购单WHERE 供应商号=’S6’ AND 职工号=’E6’4)检索出向供应商S3发过订购单的职工的职工号和仓库号。
SELECT 职工号,仓库号FROM 职工WHERE 职工号IN( SELECT 职工号FROM 订购单WHERE 供应商号=’S3’ )5)检索出目前与S3供应商没有联系的职工信息。
SELECT * FROM 职工WHERE 职工号NOT IN( SELECT 职工号FROM 订购单WHERE 供应商号=’S3’ )6)检索出目前没有任何订购单的供应商信息。
SELECT * FROM 供应商WHERE NOT EXISTS( SELECT * FROM 订购单WHERE 供应商号=供应商.供应商号)7)检索出和职工E1、E3都有联系的北京的供应商信息。
SELECT * FROM 供应商WHERE 供应商号IN( SELECT 供应商号FROM 订购单WHERE 职工号=’E1’ )AND 供应商号IN( SELECT 供应商号FROM 订购单WHERE 职工号=’E3’ )8)检索出目前和华通电子公司有业务联系的每个职工的工资。
SELECT 职工号,工资FROM 职工WHERE 职工号IN(SELECT 职工号FROM 订购单WHERE 供应商号IN(SELECT 供应商号FROM 供应商WHERE 供应商名=’华通电子公司’))9)检索出与工资在1220元以下的职工没有联系的供应商的名称。
SELECT 供应商名FROM 供应商WHERE 供应商号IN(SELECT 供应商号FROM 订购单WHERE 职工号NOT IN(SELECT 职工号FROM 职工WHERE 工资< 1220))10)检索出向S4供应商发出订购单的仓库所在的城市。
计算机二级(VF)关系数据库标准语言SQL章节练习试卷2(题后含答案及解析)
计算机二级(VF)关系数据库标准语言SQL章节练习试卷2(题后含答案及解析)全部题型 2. 填空题填空题(每空2分,共30分)请将每一个空的正确答案写在答题卡上。
注意:以命令关键字填空的必须拼写完整。
1.查询设计器______生成所有的SQL查询语句。
正确答案:不能涉及知识点:关系数据库标准语言SQL2.SQL中删除表的命令是______。
正确答案:DROP TABLE 涉及知识点:关系数据库标准语言SQL 3.SQL语句可以进行多个查询的嵌套,但VisualFoxPro只支持______层嵌套。
正确答案:两涉及知识点:关系数据库标准语言SQL4.在SQL语句中,为了避免查询到重复记录,可用______短语。
正确答案:DISTINCT 涉及知识点:关系数据库标准语言SQL5.SQL语句支持集合的并运算,其运算符是______。
正确答案:UNION 涉及知识点:关系数据库标准语言SQL6.在SQL语句中用于将最终查询结果排序的短语是______。
正确答案:ORDER BY 涉及知识点:关系数据库标准语言SQL7.在SQL的自联接查询中,必须为表起______。
正确答案:别名涉及知识点:关系数据库标准语言SQL8.将查询结果存放到临时表中,使用______短语。
正确答案:INTO CURSOR 涉及知识点:关系数据库标准语言SQL9.将查询结果存放在内存变量中,使用______短语。
正确答案:INTO ARRAY 涉及知识点:关系数据库标准语言SQL10.在用SQL的CREATETABLE命令建立表时,用子句______指定表的主索引。
正确答案:PRMARY KEY 涉及知识点:关系数据库标准语言SQL11.指定包括在查询结果满足的筛选条件的短语HA VING必须与短语______起使用。
正确答案:GROUP BY 涉及知识点:关系数据库标准语言SQL12.设有如下表:学生(学生号N(3),姓名C(3),性别C(1),年龄N(2))课程(课程号C(3),课程名称C(3),教师C(3))选课(学生号N(3),课程号C(3),成绩N(3))请对下面的SQL语句填空:CREATETABLE学生______正确答案:(学生号N(3),姓名C(3),性别C(1),年龄N(2)) 涉及知识点:关系数据库标准语言SQL13.对于如下表:学生(学生号N(3),姓名C(3),性别C(1),年龄N(2))课程(课程号C(3),课程名称C(3),教师C(3))选课(学生号N(3),课程号C(3),成绩N(3)),若要将“学生号”的长度改为4,则语法为:ALTERTABLE学生______正确答案:ALTER学生号N(4) 涉及知识点:关系数据库标准语言SQL14.对于如下表:学生(学生号N(3),姓名C(3),性别C(1),年龄N(2))课程(课程号C(3),课程名称C(3),教师C(3))选课(学生号N(3),课程号C(3),成绩N(3)),若要定义“年龄”有效性规则(大于或等于19岁)和出错信息(年龄应满19岁),则语法为:ALTERTABLE学生ALTE年龄;______正确答案:SET CHECK年龄>=19ERROR“年龄应满19岁”涉及知识点:关系数据库标准语言SQL15.对于如下表:学生(学生号N(3),姓名C(3),性别C(1),年龄N(2))课程(课程号C(3),课程名称C(3),教师C(3))选课(学生号N(3),课程号C(3),成绩N(3)),若要将“成绩”属性改名为“选课成绩”,则语法为:ALTERTABLE 选课______正确答案:RANAME 成绩TO 选课成绩涉及知识点:关系数据库标准语言SQL16.对于如下表:学生(学生号N(3),姓名C(3),性别C(1),年龄N(2))课程(课程号C(3),课程名称C(3),教师C(3))选课(学生号N(3),课程号C(3),成绩N(3)),查询所有同学们已经选课教师的情况,则语法为:SELECT教师FROM 课程;WHERE课程号______正确答案:IN (SELECT DISTINCT课程号FROM选课) 涉及知识点:关系数据库标准语言SQL17.对于如下表:学生(学生号N(3),姓名C(3),性别C(1),年龄N(2))课程(课程号C(3),课程名称C(3),教师C(3))选课(学生号N(3),课程号C(3),成绩N(3)),若需统计“选课”表中已经选修了课程的学生人数,则语法为:SELECT______FROM选课正确答案:COUNT(DISTINCT学生号) 涉及知识点:关系数据库标准语言SQL18.对于如下表:学生(学生号N(3),姓名C(3),性别C(1),年龄N(2))课程(课程号C(3),课程名称C(3),教师C(3))选课(学生号N(3),课程号C(3),成绩N(3)),将选修课程号为“KC1”的同学均加上5分,则语法为:UPDATE成绩______WHERE课程号=“KC1”正确答案:SET成绩=成绩+5 涉及知识点:关系数据库标准语言SQL 19.在SQL中,用______命令修改表中的数据;用______命令修改表的结构。
sql考试题及答案
sql考试题及答案一、选择题1. SQL是什么意思?a. Structured Query Languageb. Sequential Query Languagec. Structured Question Languaged. Sequential Question Language答案:a. Structured Query Language2. 下列哪个关键词用于在SQL中创建新表?a. UPDATEb. INSERTc. CREATEd. SELECT答案:c. CREATE3. 在SQL中,用于查找符合一定条件的记录的关键词是?a. SELECTb. UPDATEc. INSERTd. DELETE答案:a. SELECT4. 在SQL中,如何在表中添加新的数据?a. INSERT INTOb. ADD INTOc. UPDATEd. MODIFY答案:a. INSERT INTO5. 在SQL中,如何删除表中的数据?a. DELETE ROWb. REMOVEc. DELETE FROMd. ERASE FROM答案:c. DELETE FROM二、填空题1. SQL中用于选择所有列的通配符是______。
答案:*2. SQL中用于指定唯一键的关键词是______。
答案:PRIMARY KEY3. SQL中用于按照某一列对结果进行排序的关键词是______。
答案:ORDER BY4. SQL中用于更新数据的关键词是______。
答案:UPDATE5. SQL中用于计算某一列的总和的函数是______。
答案:SUM三、简答题1. 请解释SQL中的JOIN操作。
答案:JOIN操作用于连接两个或多个表,基于表之间的关联关系获取相关数据。
常用的JOIN类型包括INNER JOIN、LEFT JOIN、RIGHT JOIN和FULL JOIN。
2. 什么是SQL注入?如何防止SQL注入?答案:SQL注入是一种恶意的攻击方式,通过在用户输入的数据中插入恶意的SQL代码,以获取、修改或删除数据库中的数据。
数据库实验答案实验二Sql
(1) 查找有销售记录的客户编号、名称和订单总额。
命令:SELECT a.CustomerNo,CustomerName, sum(quantity*price) orderSumFROM OrderMaster a,OrderDetail b,Customer cWHERE b.orderNo=a.orderNo AND c.CustomerNo=a.CustomerNoGROUP BY a.CustomerNo,CustomerNameORDER BY a.CustomerNo,orderSum DESC(2) 在订单明细表中查询订单金额最高的订单。
命令:SELECT top 1 orderNo,sum(quantity*price)订单金额FROM OrderDetailGROUP BY orderNoORDER BY 订单金额DESC(3) 查询没有订购商品的客户编号和客户名称。
命令:SELECT CustomerNo,CustomerNameFROM CustomerWHERE CustomerNo NOT IN (SELECT CustomerNo FROM OrderMaster)(4) 找出至少被订购3次的商品编号、订单编号、订货数量和订货金额,并按订货数量的降序排序输出。
命令:SELECT a.productNo,orderNo,quantity,(quantity*price) moneyFROM OrderDetail a,(SELECT productNoFROM OrderDetailGROUP BY productNoHA VING COUNT(*)>=3) bWHERE a.productNo =b.productNoORDER BY a.productNo,quantity DESC被订购三件以上的……SELECT b.ProductNo,orderNo,quantity,orderSum=quantity*priceFROM OrderDetail b,(SELECT ProductNo FROM(SELECT ProductNo,sum(quantity)SQfrom OrderDetail GROUP BY ProductNo)aWHERE a.SQ>3)cWHERE b.ProductNo=c.ProductNoORDER BY b.quantity DESC(5) 使用子查询查找32M DRAM的销售情况,要求显示相应的销售员的姓名、性别,销售日期、销售数量和金额,其中性别用“男”、“女”表示。
SQLServer数据库技术试题含答案(二)
SQLServer数据库技术试题含答案(二)SQLServer数据库技术试题含答案是很多IT人员关注的话题。
下面列出一些常见的试题及其答案,希望对大家有所帮助。
1. 如何在SQLServer中创建一个新的数据库?答:可以使用SQL Server Management Studio (SSMS)或Transact-SQL (T-SQL)语句来创建新的数据库。
在SSMS中,右键单击“数据库”文件夹,选择“新建数据库”,然后按照提示操作即可。
在T-SQL中,使用CREATE DATABASE语句来创建新的数据库。
2. 如何备份SQLServer数据库?答:可以使用SSMS或T-SQL语句来备份SQLServer数据库。
在SSMS 中,右键单击要备份的数据库,选择“任务”->“备份”,然后按照提示操作即可。
在T-SQL中,使用BACKUP DATABASE语句来备份数据库。
3. 如何还原SQLServer数据库?答:可以使用SSMS或T-SQL语句来还原SQLServer数据库。
在SSMS 中,右键单击要还原的数据库,选择“任务”->“还原”,然后按照提示操作即可。
在T-SQL中,使用RESTORE DATABASE语句来还原数据库。
4. 如何创建SQLServer数据库表?答:可以使用SSMS或T-SQL语句来创建SQLServer数据库表。
在SSMS中,右键单击要创建表的数据库,选择“新建查询”,然后输入CREATE TABLE语句来创建表。
在T-SQL中,使用CREATE TABLE语句来创建表。
5. 如何在SQLServer中插入数据?答:可以使用SSMS或T-SQL语句来插入数据。
在SSMS中,右键单击要插入数据的表,选择“编辑前100行”,然后在表格中插入数据。
在T-SQL中,使用INSERT INTO语句来插入数据。
6. 如何更新SQLServer数据库中的数据?答:可以使用SSMS或T-SQL语句来更新SQLServer数据库中的数据。
SQL部分模拟试题及答案(第2套)资料讲解
SQL部分模拟试题及答案(第2套)资料讲解S Q L部分模拟试题及答案(第2套)SQL部分模拟试题(二)一、单项选择题(本大题共12小题,每小题2分,共24分)1、数据库(DB),数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是________。
()A.DBMS包括DB和DBS B.DBS包括DB和DBMSC.DB包括DBS和DBMSD D.BS就是DB,也就是DBMS2、SQL Server的__________允许用户输入SQL语句并且迅速查看这些语句的结果。
() A.查询分析器B.服务管理器C.事件探测器D.企业管理器3、以下哪个操作可以创建数据库。
()A.进入查询分析器,选择菜单命令“工具”→“向导”,打开“选择向导”对话框,在对话框中,展开“注册服务器向导”中的“数据库”文件夹,选中“创建数据库向导”项B.进入服务管理器,选择菜单命令“工具”→“向导”,打开“选择向导”对话框,在对话框中,展开“注册服务器向导”中的“数据库”文件夹,选中“创建数据库向导”项C.进入事件探测器,选择菜单命令“工具”→“向导”,打开“选择向导”对话框,在对话框中,展开“注册服务器向导”中的“数据库”文件夹,选中“创建数据库向导”项D.进入企业管理器,选择菜单命令“工具”→“向导”,打开“选择向导”对话框,在对话框中,展开“注册服务器向导”中的“数据库”文件夹,选中“创建数据库向导”项4、下面所列条目中,哪一条不是标准的SQL语句?()A.ALTERTABLE B.ALTERVIEW C.CREATETABLE D.CREATEVIEW5、若要在基本表S中增加一列CN(课程名),可用__________。
()A.ADD TABLES(CN CHAR(8)) B.ADD TABLES ALTER (CN CHAR (8))C.ALTER TABLES ADD(CN CHAR(8))D.ALTER TABLES(ADD CN CHAR(8))6、取出关系中的某些列,并消去重复的元组的关系运算称为_________。
大工21秋《SQL数据库系统及应用》在线作业2-【答案】
大工21秋《SQL数据库系统及应用》在线作业2试卷总分:100 得分:1001.在SQL的select语句中,如果要过滤结果中的重复行,可以在字段列表前面加上()。
<-A.->group<-B.->order<-C.->top<-D.->distinct【本题正确参考选择】:D2.在select语句中如果要对得到的结果中某个字段按降序处理,则使用()参数。
<-A.->asc<-B.->desc<-C.->between<-D.->and【本题正确参考选择】:B3.查询学校员工工资信息时,结果按工资降序排列,正确的是()。
<-A.->ORDERBY工资<-B.->ORDERBY工资desc<-C.->ORDERBY工资asc<-D.->ORDERBY工资and【本题正确参考选择】:B4.当使用SQL语句进行分组检索时,为了按照一定的条件对分组后的数据进行筛选,应当()。
<-A.->在join后面使用betweento子句<-B.->在groupby后面使用having子句<-C.->在where后面使用orderby子句<-D.->在join后面使用orderby子句【本题正确参考选择】:B5.在SQL查询语句中,HAVING子句的作用是()。
<-A.->指出排序的范围<-B.->指出查询结果的最大值<-C.->指出分组查询的条件<-D.->指出创建数据表的字段【本题正确参考选择】:C6.以下关于HAVING子句描述错误的是()。
<-A.->HAVING子句允许与GROUPBY子句同时使用<-B.->使用HAVING子句的同时不能使用WHERE子句<-C.->使用HAVING子句的同时可以使用WHERE子句<-D.->使用HAVING子句的作用是限定分组的条件。
SQL (2)
第4章
1. 1.关系数据库中的表用来存储数据,并用表格的形式显示数据,
每一行称为记录。
2. 2.修改表中记录的操作包括插入、更新和删除。
3. 3.清空表中的记录,可以使用语句DELETE TABLE ,也可以使
用语句TRUNCATE TABLE,其中TRUNCATE TABLE速度更
快,并且使用更少的系统资源和事务日志资源。
第5章 1. 1.查询语句中的6个基本组成部分是SELECT子句、FROM子 句、WHERE子句、GROUP by子句、HAVING子句和ORDER BY子句。 2. 2.关键字BETWEEN…AND…的作用是指定搜索范围。 3. 3.关键字IN的作用是指定值得集合。 4. 4.多表连接的种类包括内连接、外连接、交叉连接和自连接。 5. 5.关键字ANY的作用是集合中任意值。 6. 6.关键字ALL的作用是集合中所有值。 7. 7.关键字EXISTS的作用是判断结果集合是否有记录。 8. 8.关键字UNION的作用是合并多个结果集。
D.GRANT
4. 项目开发需要经过几个阶段,绘制数据库的E-R图应该在()阶段进 行。
A. 需求分析 B. 概念模型设计 C. 详细设计 D. 代码编 写
5.关于SQL Server的注释类型以下说法正确的是()。
A. 单行注释以"--"开头
B. 单行注释以"**"开头
C. 多行注释以"-"开头,以"-"结束 D. 多行注释以"//"开头,
用的T-SQL语句是DROP TRIGGER。 4. DML触发器可以分为3种类型:INSERT、DELETE和UPDATE。 5. 后触发的触发器需要使用ALTER关键字说明。 6. 替代触发器需要使用INSTEAD OF 关键字说明。
sql课后习题答案
sql课后习题答案SQL课后习题答案随着信息技术的快速发展,数据库管理系统(DBMS)在各行各业中扮演着重要的角色。
而SQL(Structured Query Language)作为一种用于管理和操作关系型数据库的语言,被广泛应用于企业和组织的数据管理和分析中。
在学习SQL的过程中,课后习题是巩固知识的重要环节。
下面将为大家提供一些常见SQL课后习题的答案,希望对大家的学习有所帮助。
1. 查询所有学生的姓名和年龄。
答案:SELECT name, age FROM students;2. 查询所有学生的姓名和年龄,并按照年龄降序排列。
答案:SELECT name, age FROM students ORDER BY age DESC;3. 查询学生表中年龄大于20岁的学生信息。
答案:SELECT * FROM students WHERE age > 20;4. 查询学生表中年龄大于20岁并且性别为男的学生信息。
答案:SELECT * FROM students WHERE age > 20 AND gender = '男';5. 查询学生表中年龄大于20岁或者性别为女的学生信息。
答案:SELECT * FROM students WHERE age > 20 OR gender = '女';6. 查询学生表中的学生总数。
答案:SELECT COUNT(*) FROM students;7. 查询学生表中不重复的年龄。
答案:SELECT DISTINCT age FROM students;8. 查询学生表中年龄在20岁到25岁之间的学生信息。
答案:SELECT * FROM students WHERE age BETWEEN 20 AND 25;9. 查询学生表中每个班级的学生数量。
答案:SELECT class, COUNT(*) FROM students GROUP BY class;10. 查询学生表中每个班级的平均年龄。
北语20春《数据库应用(SQLserver)》作业2正确答案
(单选题)1: 下列哪个数据库是可以在运行SQL SERVER过程中被删掉的()。
A: masterB: modelC: pubsD: northwind正确答案: C(单选题)2: 以下关于主键的描述正确的是()。
A: 标识表中唯一的实体B: 创建唯一的索引,允许空值C: 只允许以表中第一字段建立D: 表中允许有多个主键正确答案: A(单选题)3: 下列设置的查询“工资”在1500元到2000元之间的准则正确的是()。
A: >=1500 OR <=2000B: 1500 AND 2000C: between 1500 and 2000D: between >=1500 AND 2000正确答案: C(单选题)4: 你正在使用SQL Server 2000开发超市收银系统。
在客户端编写软件时使用SQL 语句“SELECT * FROM Products”来查询商品的信息,但是不小心把Products输入成Product。
请问该错误在哪一层被发现()。
A: 客户端的数据库APIB: 客户端的NET-LIBRARYC: 服务器端的开放式数据服务D: 服务器端的关系引擎正确答案: D(单选题)5: 下列哪个不是sql 数据库文件的后缀。
A: .mdfB: .ldfC: .dbfD: .ndf正确答案: C(单选题)6: 以下关于外键和相应的主键之间的关系,正确的是( )。
A: 外键并不一定要与相应的主键同名B: 外键一定要与相应的主键同名C: 外键一定要与相应的主键同名而且唯一D: 外键一定要与相应的主键同名,但并不一定唯一正确答案: A。
SQL课后练习题(1-9章答案)
SQL课后练习题(1-9章答案)第一章1、数据完整性是指( D )A.数据库存中的数据不存在重复B.数据库中所有的数据格式是一样的C.所有的数据全部保存在数据库中D.数据库中的数据能够正确反映情况2、SQL中pubs数据库属于(A )A.用户数据库B.系统数据库C.数据库模板D.数据库管理系统3、数据冗余指的是( D )A.数据与数据之间没有联系B.数据有丢失C.数据量太大D.存在重复的数据4、SQL Server数据库的主数据文件的扩展名为( B )A. .sqlB. .mdfC. .mdbD. .ldf5、下列关于关系数据库叙述错误的是(B )A.关系数据库的结构一般保持不变,但也可根据需要进行改变B.一个数据表组成一个关系数据库,多种不同数据则需要创建多个数据库C. 关系数据库表中的所有记录的关键字字段的值互不相同D. 关系数据库表中的外部关键字不能用于区别该表中的记录6、创建数据库时,需要指定( C )属性。
A.数据库初始大小B.数据库的存放位置C.数据库的物理名和逻辑名D.数据库的访问权限7、以下说法正确的是( A )A.通过SQL Server服务器对SQL Server的启动、停止和通过服务管理器对SQL Server的启动、停止是同等功效B.必须先启动服务管理器中的SQL Server服务之后才能通过SQL Server服务管理器启动SQL ServerC.必须先通过SQL Server服务管理器启动SQL Server之后才能启动服务管理器中的SQL Server服务D.只能通过服务管理器对SQL S erver进行启动和停止8、SQL Server提供的4个系统数据库,以下说法正确的是( D )A.tempdb数据库是一个空数据库,完全可以删除B.adventure works是用来做模板的一个数据库C.msdb数据库是用来做例子的数据库D.创建新的空白数据库时,将使用Model数据库所规定的默认值9、以下说法错误的是(C)A.数据完整性是指存储在数据库中数据的准确性B.SQL Server是一个DBMSC.ERP、CRM、MIS等都是DBMSD.设计数据库时允许必要的冗余第二章1、创建银行的贷款情况表时,“还款日期”默认为当天,且必须晚于“借款日期”,应采用(A)约束。
sql练习与答案2
对以下题目请选择正确答案(每道题目有一个或多个正确的答案)。
针对每一道题目,所有答案都选对,则该题得分,否则不得分。
1. 数据库设计的最终目标不包括()。
(选择两项)BDA. 高效B. 满足范式要求C. 安全D. 表现设计者的技术实力E. 易用F. 便于将来扩展功能和容量2. 有关数据冗余说法错误的是()。
(选择一项)CA. 数据库中,数据存在副本的现象,就是数据冗余。
B. 通过分类存储,可以有效减少数据冗余,但是会增加数据查找的复杂性。
C. 在数据库设计阶段,一定要尽最大可能避免数据冗余,最好做到无数据冗余。
D. 数据冗余通常是由于数据库设计引起的。
3. 用于表示数据库实体之间的关系图是()。
AA. 实体关系图B. 数据模型图C. 实体分类图D. 以上都不是4. 假定有一个用户表,表中包含字段:userid (int)、username (varchar)、password(varchar)等,该表需要设置主键,以下说法正确的是()。
(选择两项)ABA. 如果不能有同时重复的username和password,那么username和password可以组合在一起作为主键。
B. 此表设计主键时,根据选择主键的最小性原则,最好采用userid作为主键。
C. 此表设计主键时,根据选择主键的最小性原则,最好采用username和password作为组合键。
D. 如果采用userid作为主键,那么在userid列输入的数值,允许为空。
5. 语句alter table userinfo add constraint uq_userid unique(userid)执行成功后,为userinfo表的()字段添加了()约束。
BA. userid 主键B. userid 唯一C. uq_userid 外键D. uq_userid 检查6. 运行如下T-SQL,结果返回包含()的记录集。
Acreate table scores(scoreid int identity(1,2),score numeric(4,2) not null,courseid int)insert int scores values(90.5,null);insert into scores values(78.234,2);select * from scores;A. 1 90.50 NULL3 78.23 2B. 1 78.23 2C. 1 90.50D. 1 90.502 78.23 27. 关于子查询,以下说法正确的是()。
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考试题库及答案1. 选择题:以下哪个SQL命令用于创建一个新的数据库?A. CREATE TABLEB. CREATE DATABASEC. DROP DATABASED. ALTER DATABASE答案:B2. 填空题:在SQL中,使用____关键字可以删除一个已经存在的表。
答案:DROP TABLE3. 判断题:以下SQL语句是否正确?"SELECT * FROM users WHERE name = 'John';"A. 正确B. 错误答案:A4. 简答题:解释SQL中的主键(PRIMARY KEY)是什么?答案:主键是一个或多个字段的组合,用于在数据库表中唯一标识每条记录。
一个表只能有一个主键,且主键的值不能为NULL。
5. 选择题:在SQL中,哪个函数用于计算表中所有记录的总数?A. COUNT(*)B. SUM(*)C. AVG(*)D. MAX(*)答案:A6. 填空题:在SQL中,使用____关键字可以更新表中的记录。
答案:UPDATE7. 判断题:以下SQL语句是否正确?"INSERT INTO customers (name, email)VALUES('Alice','*****************');"A. 正确B. 错误答案:A8. 简答题:解释SQL中的外键(FOREIGN KEY)是什么?答案:外键是一个字段(或一组字段),它在一个表中引用另一个表的主键。
外键用于建立两个表之间的关系,并确保数据的引用完整性。
9. 选择题:在SQL中,哪个命令用于删除数据库中的表?A. DELETE TABLEB. DROP TABLEC. REMOVE TABLED. CLEAR TABLE答案:B10. 填空题:在SQL中,使用____关键字可以添加一个新列到现有的表中。
答案:ALTER TABLE结束语:以上是SQL考试题库及答案,希望能够帮助考生更好地理解和掌握SQL的基本概念和操作。
Oracle的sql语句练习题与答案
Oracle的sql语句练习题含答案(二)Oracle_SQL练习题11.选择部门30中的所有员工.2.列出所有办事员(CLERK)的姓名,编号和部门编号.3.找出佣金高于薪金的员工.4.找出佣金高于薪金的60%的员工.5.找出部门10中所有经理(MANAGER)和部门20中所有办事员(CLERK)的详细资料.6.找出部门10中所有经理(MANAGER),部门20中所有办事员(CLERK),既不是经理又不是办事员但其薪金大于或等于2000的所有员工的详细资料.7.找出收取佣金的员工的不同工作.8.找出不收取佣金或收取的佣金低于100的员工.9.找出各月倒数第3天受雇的所有员工.10.找出早于12年前受雇的员工.11.以首字母大写的方式显示所有员工的姓名.12.显示正好为5个字符的员工的姓名.13.显示不带有"R"的员工的姓名.14.显示所有员工姓名的前三个字符.15.显示所有员工的姓名,用a替换所有"A"16.显示满10年服务年限的员工的姓名和受雇日期.17.显示员工的详细资料,按姓名排序.18.显示员工的姓名和受雇日期,根据其服务年限,将最老的员工排在最前面.19.显示所有员工的姓名、工作和薪金,按工作的降序排序,若工作相同则按薪金排序.20.显示所有员工的姓名、加入公司的年份和月份,按受雇日期所在月排序,若月份相同则将最早年份的员工排在最前面.21.显示在一个月为30天的情况所有员工的日薪金,忽略余数.22.找出在(任何年份的)2月受聘的所有员工。
23.对于每个员工,显示其加入公司的天数.24.显示姓名字段的任何位置包含"A"的所有员工的姓名.25.以年月日的方式显示所有员工的服务年限.答案:1.select ename,job,mgr,hiredate,sal,comm ,deptno from emp where deptno=30;2.select ename,empno,deptno from emp where job='CLERK';3.select * from emp where comm>sal;4.select *from empwhere comm>sal*0.6;5.select empno ,ename, job,hiredate,sal,comm,deptnofrom empwhere( job='MANAGER' and deptno=10)or( job='CLERK' and deptno=20);6.select empno,ename,job, hiredate,sal, deptnofrom empwhere ( job='MANAGER' and deptno=10)or( job='CLERK' and deptno=20)or((job <>'MANAGER' and job<>'CLERK') and sal>=2000);7.select distinct ename,job,commfrom empwhere NVL(comm,0)>0;注意如果像上面这样写,就job ename comm 3个同时不同的都列出来正确的是:select distinct jobfrom empwhere NVL(comm,0)>0;8.select ename,comm. from emp where NVL(comm,0)=0 or NVL(comm,0)<100; 如果按上面的写法就重复了,直接可以写成select ename,commfrom empwhere NVL(comm,0)<100;9 select ename, job,last_day(hiredate)-3from emp;select ename, job,hiredatefrom empwhere hiredate=last_day(hiredate)-2;10.select ename,jobfrom empwhere months_between(sysdate,hiredate)/12>1211.select initcap(ename) name ,job, hiredatefrom emp;12. select ename,job,hiredate from emp where length(ename)=5;13 select ename, job from emp where ename not like '%R%';14.select substr(ename, 1,3) name,job,hiredate from emp;15select replace(ename, 'A','a') name,job,hiredate from emp;16select ename, job, hiredate from empwhere months_between(sysdate,hiredate)/12>=10;17. select * from emp order by ename;18.select ename, hiredate from emp order by hiredate desc;19.select ename,job, sal from emp order by job desc, sal asc;20.select ename, to_char(hiredate,'yyyy') year, to_char(hiredate,'mm') monthsfrom emporder by months, year asc;21.select ename, sal/30 dailysalfrom emp;22. select ename, hiredatefrom empwhere to_char(hiredate,'mm')='02';23. select ename,sysdate-hiredate 天数from emp;24.select ename from emp where instr(ename,'A',1)>0;25. select ename, to_char(hiredate,'yyyy/mm/dd') from emp;--26.列出至少有一个员工的所有部门.select dname from emp,dept where emp.deptno=dept.deptno group by dname;select distinct dname from emp,dept where emp.deptno=dept.deptno;--说明:(1)select中出现的字段一定要出现在group by中;-- (2)如果select中出现的字段不出现在group by中,则一定要出现在select的聚合函数中,对于想出现的字段,可用max()或min()。
数据库sql课后练习题及答案解析
数据库sql课后练习题及答案解析第一篇:数据库sql课后练习题及答案解析先创建下面三个表:(book表)(borrow表)(reader表)1)找出姓李的读者姓名(NAME)和所在单位(COMPANY)。
2)列出图书库中所有藏书的书名(BOOK_NAME)及出版单位(OUTPUT)。
3)查找“高等教育出版社”的所有图书名称(BOOK_NAME)及单价(PRICE),结果按单价降序排序。
4)查找价格介于10元和20元之间的图书种类(SORT),结果按出版单位(OUTPUT)和单价(PRICE)升序排序。
5)查找书名以”计算机”开头的所有图书和作者(WRITER)。
6)检索同时借阅了总编号(BOOK_ID)为112266和449901两本书的借书证号(READER_ID)。
##7)* 查找所有借了书的读者的姓名(NAME)及所在单位(COMPANY)。
8)* 找出李某所借所有图书的书名及借书日期(BORROW_DATE)。
9)* 无重复地查询2006年10月以后借书的读者借书证号(READER_ID)、姓名和单位。
##10)* 找出借阅了一书的借书证号。
11)找出与”赵正义”在同一天借书的读者姓名、所在单位及借书日期。
12)查询2006年7月以后没有借书的读者借书证号、姓名及单位。
#13)求”科学出版社”图书的最高单价、最低单价、平均单价。
##14)* 求”信息系”当前借阅图书的读者人次数。
#15)求出各个出版社图书的最高价格、最低价格和总册数。
#16)分别找出各单位当前借阅图书的读者人数及所在单位。
17)* 找出当前至少借阅了2本图书(大于等于2本)的读者姓名及其所在单位。
18)分别找出借书人次数多于1人次的单位及人次数。
19)找出藏书中各个出版单位的名称、每个出版社的书籍的总册数(每种可能有多册)、书的价值总额。
20)查询经济系是否还清所有图书。
如果已经还清,显示该系所有读者的姓名、所在单位和职称。
计算机二级sql数据库操作题
计算机二级sql数据库操作题一、选择题(每题2分,共20分)1. 在SQL中,用于查询语句的关键字是:A. SELECTB. UPDATEC. INSERTD. DELETE2. 下列哪个SQL语句用于删除表中的记录?A. DELETE FROM table_name WHERE condition;B. REMOVE FROM table_name WHERE condition;C. ERASE FROM table_name WHERE condition;D. DROP FROM table_name WHERE condition;3. 如果需要从数据库中检索所有记录,应该使用以下哪个SQL语句?A. SELECT * FROM table_name;B. SELECT ALL FROM table_name;C. GET * FROM table_name;D. DISPLAY * FROM table_name;4. 在SQL中,用于更新表中数据的关键字是:A. UPDATEB. MODIFYC. CHANGED. ALTER5. 假设有一个名为"Students"的表,其中包含"ID"和"Name"两个字段,以下哪个SQL语句可以查询出所有学生的姓名?A. SELECT Name FROM Students;B. SELECT ;C. GET Name FROM Students;D. DISPLAY Name FROM Students;6. 在SQL中,用于向表中插入新记录的关键字是:A. INSERT INTOB. ADD INTOC. PUT INTOD. CREATE INTO7. 下列哪个SQL语句用于创建一个新的数据库?A. CREATE DATABASE database_name;B. NEW DATABASE database_name;C. START DATABASE database_name;D. INIT DATABASE database_name;8. 假设有一个名为"Employees"的表,其中包含"EmployeeID", "LastName", 和 "Department"三个字段,以下哪个SQL语句可以查询出所有属于"Sales"部门的员工的ID和姓名?A. SELECT EmployeeID, LastName FROM Employees WHERE Department = 'Sales';B. SELECT Employees.EmployeeID, stName WHERE Department = 'Sales';C. GET EmployeeID, LastName FROM Employees WHERE Department = 'Sales';D. DISPLAY EmployeeID, LastName FROM Employees WHERE Department = 'Sales';9. 在SQL中,用于删除数据库表的关键字是:A. DROP TABLEB. REMOVE TABLEC. DELETE TABLED. ERASE TABLE10. 下列哪个SQL语句用于修改表的结构,例如添加或删除列?A. ALTER TABLEB. MODIFY TABLEC. CHANGE TABLED. UPDATE TABLE二、简答题(每题5分,共30分)1. 解释SQL中的主键(Primary Key)是什么,并说明其作用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、查询xsbook数据库的xs表中各个学生的姓名,专 业名和借书数。 2、查询xs表中计算机系同学的借书证号,姓名和借 书数。 3、查询xs表中的所有列。 4、查询xs表中计算机系同学的借书证号,姓名和借 书数,结果中各列的标题分别制定为cardno,name和 count. 5、查询xs表中每个学生现在还有几本书可以借(每 人可借10本书),要求显示借书证号,姓名,借书数 和还可借书数。
ห้องสมุดไป่ตู้
6、对xsbook数据库的jy表只选择借书证号和isbn 列,保证行的唯一性。 7、查询xs表借书数最高的前四名同学的信息。 8、查询xsbook数据库xs表中借书数在一本以上 的学生信息。 9、查询xs表中计算机专业借书数在1本以上的学 生情况。 10、查询xs表中出生时间在1980-1-1于1982-1231只见的学生情况。 11、查询xs表中不在1982年出生的学生情况。
12、查询xs表中专业名为“计算机”,”信息 工程”,“英语”或“自动化”的学生情况。 13、查询xs表中专业名不在“计算机”,”信 息工程”,“英语”或“自动化”的学生情况。 14、查询xs表中姓”王”且单名的学生情况。 15、查询xs表中名字的第二个字为“小”的学 生情况。 16、查询xs表中名字的第二个字是“小”或是 “涛”的学生情况。 17、查询xs表中专业名尚不确定的学生情况。
作业2
6、查询所有同学的借阅信息,并按借书证号将序排列,输出借书证号、姓名、专业名、 isbn、书名、索书号和借书时间。 Select xs.借书证号,姓名,专业名,jy.isbn,书名,索书号,借书时间 From xs,jy,book Where xs.借书证号=jy.借书证号 and jy.isbn=book.isbn Order by xs.借书证号 desc 9、列出学生所有可能借书的情况。 Select * from xs,jy 10、列出借阅了书名中含有“计算机”的图书的学生的借书证号、姓名、专业名,所 借图书的isbn、书名、索书号和借书时间。 Select xs.借书证号,姓名,专业名,book.isbn,书名,索书号,借书时间 From xs,jy,book where xs.借书证号=jy.借书证号 and jy.isbn=book.isbn and 书名 like ‘*计算机*’ 11、查找与“李宏”在同一个专业的学生借阅图书的情况,要求列出借书证号、姓名、 性别、出生时间和借书数。 Select 借书证号,姓名,性别,出生时间,借书数 from xs where 专业 =( Select 专业 from xs where 姓名=‘李宏) Select stu2.借书证号, stu2.姓名, stu2.性别, stu2.出生时间, stu2.借书数 From xs as stu1,xs as stu2 Where stu1.姓名=‘李宏’ and stu1.专业=stu2.专业 12、查找未借阅“计算机网络”一书的学生情况。 Select * from xs where 借书证号 not in( Select 借书证号 from jy where isbn=( Select isbn from book where 书名=‘计算机网络’)) Select * from xs where 借书证号 not in( Select 借书证号 from jy,book where jy.isbn=book.isbn and 书名=‘计算机网络’)
18、查询计算机专业、借书数在2本以下的 学生姓名和借书证号。 19、查询计算机专业或者英语专业的学生 姓名和借书证号。 20 20、查询book表中包含“程序设计”的书。 book 21、将计算机专业的学生按出生时间先后 排序。 22、将计算机专业的学生按借书数降序排 列。
1、查询xsbook数据库中每个学生的情况以及学生的借书情况。 Select * from xs,jy where xs.借书证号=jy.借书证号 2、查找xsbook数据库中每个学生的情况以及学生的借书情况,去除重复的列。 Select xs.*,isbn,借书时间 from xs,jy where xs.借书证号=jy.借书证号 3、查找借阅了isbn为7-111-06359-7的学生的姓名和专业名。 Select 姓名,专业 from xs,jy where xs.借书证号=jy.借书证号 and isbn=‘7-111-06359-7’ Select姓名,专业 from xs where 借书证号 in ( Select 借书证号 from jy where isbn=‘7-111-06359-7’) 4、查询借书数量在5~10本之间的借书证号、姓名和借书量。 Select 借书证号,姓名,借书数 from xs where 借书数 between 5 and 10 5、查找借阅了‘web站点安全’一书的学生的借书证号,姓名,专业名和借书时间。 Select xs.借书证号,姓名,专业名,借书时间 From xs,jy,book where xs.借书证号=jy.借书证号 and jy.isbn=book.isbn and 书名= ‘web站点 安全’ Select 借书证号,姓名,专业名 from xs where 借书证号 in( Select 借书证号 from jy where isbn=( Select isbn from book where 书名= ‘web站点安全’)) Select xs.借书证号,姓名,专业名,借书时间 from jy,xs where jy.借书证号=xs.借书证号 and isbn=( Select isbn from book where 书名= ‘web站点安全’)
13、查找其他专业比所有计算机专业的学生年龄都小的学生。 Select * from xs where 出生日期>( Select max(出生日期) from xs where 专业=‘计算机’ ) Select * from xs where 出生日期>all( Select 出生日期 from xs where 专业=‘计算机’ ) 14、查找其他专业比所有计算机专业某个学生年龄小的学生。 Select * from xs where 出生日期>( Select min(出生日期) from xs where 专业=‘计算机’ ) and 专业<>’计 算机’ Select * from xs where 出生日期>any( Select 出生日期 from xs where 专业=‘计算机’ ) and 专业<>’计算机’