上机练习3——数据查询。

合集下载

Access学习辅导与上机实习—习题(第3章查询)

Access学习辅导与上机实习—习题(第3章查询)

Access学习辅导与上机实习—习题(第3章查询)■典型习题一、选择题1、是_________不会在简单查询的设计网络中出现。

A .字段B 条件C更新D排序2、下列叙述不正确的是。

A 删除查询主要用于删除符合条件的记录。

B 更新查询中可以使用计算功能。

C 追加查询时如果两个表的结构不一致,则不能进行。

D生成表查询生成新的表,该表是源表的一个子集。

3、不属于统计函数。

A MAXB COUNTC LASTD Y EAR二、填空题4、在查询表达式中,“/”表示,而“\”表示。

5、总计查询中,必须包含的两种字段是和。

6、在查询设计过程中,有多种方式可以视察查询结果,比如可以进入视图模式或单击按钮。

三、操作题7、对“教学”库建立下列查询:(1)用库中的三张表建立一个由学生姓名、课程名称、成绩组成的新数据表,新表取名为新表1。

(2)用学生表生成一个关于女生情况的新数据表,取名为女生情况表。

(3)用库中的三张表建立一个由学生姓名、成绩组成的数学成绩表,取名为数学成绩表。

(4)用库的三张表建立一个不及格学生的汇总表,表中的字段要求有学生姓名、课程名称、成绩。

(5)用库中的三张表建立一个由课程名称、各科平均分、总分、最高分、最低分组成的新数据表,取名为成绩统计表。

8、查询指定课程名的学生成绩,课程名只要求输入任意的几个字。

9、查询统计指定课程名称的总分和平均分。

■习题一、选择题1、利用对话框提示用户输入参数的查询过程称为_______。

A 选择查询B 参数查询C 操作查询D SQL查询2、以下叙述中,错误的是______。

A 查询是从数据库的表中行筛选出符合条件的记录,构成一个新的数据集合B 查询的种类有:选择查询、参数查询、交叉查询、操作查询和SQL查询C 创建复杂的查询不能使用查询向导。

D 可以使用函数、逻辑运算符、关系运算符创建复杂的查询3、Access共提供了种数据类型。

A 8B 9C 10D 114、用向导创建简单查询的步骤不包括。

上机-数据查询1

上机-数据查询1

提供学生成绩管理系统的3个表:学生表、课程表、学生选课表。

按要求完成下列查询。

1.使用PXSCJ数据库,查询所有学生的数据。

思考与练习:用SELECT语句查询KCB表的所有记录。

2.查询XSB表中所有学生的姓名、性别和出生时间。

思考与练习:用SELECT语句查询KCB表的课程号、课程名和学时列。

3.查询XSB表中学号为'081108'的学生姓名、性别和专业。

思考与练习:用SELECT语句查询KCB表中满足课程号为212条件的课程名列。

4.在XSB表中查询计算机专业同学的学号,姓名与总学分,结果集各列的标题分别为sno、sname和出totalscore。

思考与练习:在KCB表中查询第7学期开设的课程的课程号,学时和学分,结果集各列的标题分别为cno、ctime、ccredit。

5.查询XSB表中学号为‘0812’开头的学生的学号与姓名。

思考与练习:找出KCB表中所有课程号以21开头的课程的课程号与课程名。

6.找出所有成绩在80~89之间的学号和课程号。

思考与练习:找出所有学分在3与4之间的课程的课程号、课程名。

7.查询KCB中的课程名与学时情况,学时大于70的显示“学时较多”,学时在60到70之间的显示“学时正常”,学时低于60的显示“学时较少。

数据库上机实验题目和答案

数据库上机实验题目和答案

试用SQL的查询语句表达下列查询:1.检索王丽同学所学课程的课程号和课程名。

select Cno ,Cname from c where Cno in(select cno from sc where sno in (select sno from s where sname='王丽' ))2.检索年龄大于23岁的男学生的学号和姓名。

select sno,sname from swhere sex='男' and age>233.检索‘c01’课程中一门课程的女学生姓名select sname from swhere sex='女' and sno in(select sno from sc where cno='c01')4.检索s01同学不学的课程的课程号。

select cno from cwhere cno not in (select cno from sc where sno ='s01')5.检索至少选修两门课程的学生学号。

select sc.sno from s,scwhere s.sno=sc.snogroup by sc.snohaving count(o)>=26.每个学生选修的课程门数。

解法一:select so.sno sno,ount,s.snamefrom(select sc.sno sno,count(sc.sno) ccountfrom sc,swhere s.sno=sc.snogroup by sc.sno ) so,swhere s.sno=so.sno解法二:select sc.sno sno,s.sname,count(sc.sno) ccountfrom sc,swhere s.sno=sc.snogroup by sc.sno,sname7.求选修C4课程的学生的平均分。

上机强化练习手册(第二版)-查询

上机强化练习手册(第二版)-查询

《查询》上机强化练习查询部分,是上机操作中“简单应用题”考察的主要内容。

主要操作包括五类查询:选择查询、参数查询、交叉表查询、操作查询、SQL 查询,以及一些特殊的查询,如总计查询。

在查询部分最为重要的是查询准则(运算符、函数、表达式)的书写,可以说能够熟练的书写满足各种条件的查询准则,成为查询部分知识内容的核心。

在查询部分学习的另一个重点是知识点的系统化,即对所学的查询进行分类,熟知不同类型的查询分别可以解决什么样的问题;当学员面对习题时,应能根据习题要求判断出该使用的查询类型,以及该种查询怎么创建,创建的过程中应该注意些什么。

本部分将列出相关操作的要求,同学们按照要求在学习后进行操作。

当遇到问题时,立刻参照在线课堂()“图解操作”中的应用部分,然后再反复熟练。

本部分主要操作要点:1、查询设计视图中设计查询的基本步骤:(1)添加数据源:将查询要求中(条件中、显示中)所涉及到的数据源(表或查询)添加到数据源区域(如下图是课程、选课成绩、学生)(2)添加字段:在设计网格中的“字段”行添加所有涉及到的字段(要求显示的和作为条件的)。

(3)确定字段出处:如果是多表查询(即数据源有多个表或查询构成)应指定字段来自于那个表,因为可能在多个表中有同名字段。

(4)排序:按题目要求对相关字段设定排序方式。

(5)显示:决定字段是否显示。

这里要注意的是,我们不一定显示所有的字段。

可以让一些字段仅仅作为条件出现,而不与显示(6)设定条件:设计网格的“条件”行输入用于选择的条件,若该行多个字段都设定了条件,则条件之间是AND 关系;而在”或“行设定的条件之间是OR 关系。

2、总计查询:用户可能不仅要统计某个字段中的所有值,而且还需要把记录分组,对每个组的值进行统计。

总计查询的难点是如何确定分组字段、计算字段、条件字段。

3、交叉表查询:交叉查询将查询字段分为两组,一组显示在表左侧(称为行标题),一组显示在表的顶部(称为列标题),在行与列交叉的地方显示对相关数据进行总和、平均、计数等统计的结果。

全国计算机三级考试数据库技术上机练习题及答案

全国计算机三级考试数据库技术上机练习题及答案

全国计算机三级考试数据库技术上机练习题及答案(1)1.调用函数rwdata(),从IN.dat文件中读取10组数据(m和k值),并嵌套调用primenum函数分别得出array[]数组。

请编写函数primenum(int m,int k,int array[]),该函数的功能是:将紧靠m的k个素数存入数组array并在屏幕上显示。

最后把结果输出到文件OUT.dat中。

例如,若输入3 9,则应输出5 7 11 13 17 19 23 29 31。

注意:部分程序已经给出。

请勿改动主函数main()和输出数据函数rwdata()的内容。

【答案】void primenum(int m, int k, int array[]){ int value = m+1;int half, n = 0, i;while(1){ half = value/2;for (i=2; i<=half; i++)if (value%i == 0)break;if (i > half){ array[n] = value;n++;}if (n >= k)break;value++;}}2.在文件IN.dat中有200个正整数,且每个数均在1000~9999之间。

函数RData()读取这200个数存放到数组original 中。

请编写函数numAscend(),其功能是:要求按每个数的后3位的大小进行升序排列,然后取出满足此条件的前10个数依次存入数组result中,如果后3位的数值相等,则按原先的数值进行降序排列。

最后调用函数WData(),把结果result输出到文件OUT.dat中。

例如,处理前:6012 5099 9012 7025 8088处理后:9012 6012 7025 8088 5099【答案】void numascend(){ int i, j, data;for (i=0; i<199; i++)for (j=i+1; j<200; j++){ if (original[i]%1000 > original[j]%1000){ data = original[i];original[i] = original[j];original[j] = data;}else if (original[i]%1000 == original[j]%1000){ if (original[i] < original[j]){ data = original[i];original[i] = original[j];original[j] = data;}}}for (i=0; i<10; i++)result[i] = original[i];}3.已知文件IN.dat中存有100个产品销售记录,每个产品销售记录由产品代码code(字符型4位)、产品名称name(字符型10位)、单价uprice(整型)、数量amount(整型)、金额sum(长整型)5部分组成。

Access上机操作题——查询操作

Access上机操作题——查询操作

Access上机操作题之七——使用查询向导创建查询㈠在“教学”数据库中的“学生”、“课程”、“成绩”三张表中,完成下列操作:1、建立表间关系:根据“学生”表和“成绩”表中“学号”字段建立关系;根据“成绩”表和“课程”表中的“编号”字段建立关系;保存已建立的关系。

2、简单查询的创建:⑴单表查询:使用简单查询向导,对“学生”表创建一个名为“学生单表简单查询”,只要显示“学生,姓名,性别,出生日期,地址”等字段。

⑵多表查询:使用简单查询向导,对“学生”、“课程”、“成绩”表创建一个名为“学生多表简单查询”的简单查询,只要显示“学号,姓名,入学成绩,课程,成绩”等字段。

3、交叉表查询:使用交叉表查询向导创建一个基于“学生”、“课程”、“成绩”三张表名为“学生成绩交叉查询”的查询。

⑴若以上三张表没建立关系,则建立它们之间的关系。

⑵建立一个包含“学生”表中“姓名”,“课程”表中“课程”,“成绩”表中“成绩”字段的简单查询。

⑶按照书中P56—58页的②—⑤步操作。

4、重复项查询:⑴使用重复项查询向导,在“学生”表中,查找入学成绩相同的学生。

此查询命名为“入学成绩相同学生查询”⑵使用重复项查询向导,在“学生”表中,查找出生日期相同的学生。

此查询命名为“出生日期相同学生查询”。

⑶使用重复项查询向导,在上面已建立的“学生多表选择查询”中,查找“计算机应用基础”分数相同的学生。

此查询命名为“计算机应用基础分数相同查询”。

5、查找不匹配项查询:使用查找不匹配项查询,在“学生”和“成绩”表中,查找没有成绩的学生。

此查询命名为“缺考学生查询”。

Access上机操作题之八——使用查询向导创建查询㈡在“职工基本情况”数据库中的“职工”、“职工家属”、“职工工资”三张表中,完成下列操作:1、建立表间关系:根据“职工”表、“职工家属”和“职工工资”三张数据表中的“职工号”字段建立他们之间的关系,并保存其建立的关系。

2、简单查询的创建:⑴单表查询:①使用简单查询向导,对“职工”表创建一个名为“职工工作业绩单表简单查询”,只要显示“职工号,姓名,工作业绩”等字段。

上机练习——精选推荐

上机练习——精选推荐

上机练习1.查询学生选课表中的全部数据。

答:select * from SC2.查询计算机系的学生的姓名、年龄。

答:select sname,sage from student where sdept = &#39;计算机系&#39;3. 查询成绩在70~80分之间的学生的学号、课程号和成绩。

答:select sno,cno,grade from sc on where grade between 70 and 801.查询计算机系年龄在18~20之间且性别为“男”的学生的姓名、年龄。

答:select sname,sage from studentwhere sdept = &#39;计算机系&#39; and sage between 18 and 20 and ssex = &#39;男&#39;2.查询“C001”号课程的最高分。

答:select max(grade) from sc where cno = &#39;C001&#39;6. 查询计算机系学生的最大年龄和最小年龄。

答:select max(sage) as max_age, min(sage) as min_age from student where sdept = &#39;计算机系&#39;7. 统计每个系的学生人数。

答:select sdept,count(*) from student group by sdept8. 统计每门课程的选课人数和考试最高分。

答:select cno, count(*),max(grade) from sc group by cno9. 统计每个学生的选课门数和考试总成绩,并按选课门数升序显示结果。

答:select sno,count(*), sum(grade) from sc group by sno order by count(*) asc10. 查询总成绩超过200分的学生,要求列出学号和总成绩。

查询上机作业(附答案)

查询上机作业(附答案)

上机作业3(单表查询)1、在图书管理数据库中创建下面选择查询对象:s1:查询读者表中全部记录,结果集按借书证号降序排序SELECT * FROM 读者ORDER BY 借书证号s2:查询所有专科生和本科生的已借书数,提取数据项:借书证号、姓名、读者类别、已借数SELECT 借书证号,姓名,读者类别,已借数FROM 读者WHERE 读者类别in("专科生","本科生")s3:查询清华大学出版社出版的藏书信息SELECT * FROM 图书WHERE 出版社="清华大学出版社"s4:查询价格高于100元的图书信息SELECT * FROM 图书WHERE 价格>100s5:查询已借空的图书信息SELECT * FROM 图书WHERE 库存量=0s6:查询ISBN号的从第2到第4字符是777的图书记录SELECT * FROM 图书WHERE ISBN like "?777*"s7:查询借出时间超过30天的读者的借书证号SELECT 借书证号FROM 读者WHERE date()-借书时间>30或:SELECT 借书证号FROM 读者WHERE datediff("d",借书时间,date())>30s8:在已借过的书中(借阅历史表)查借出时间不超过两天的书的ISBN号SELECT isbn FROM 借阅历史无WHERE借书时间-还书时间<=2或:SELECT isbn FROM 借阅历史无WHERE datediff("d",借书时间,还书时间)<=2s9:给定一个ISBN号,查询该书是否可借SELECT 库存量FROM 图书WHERE isbn=[请输入书号]SELECT iif(库存量>0, "可借","不可借") FROM 图书WHERE isbn=[请输入书号]s11给定一个借书证号,查询该读者已借的书的ISBN号和借出时间SELECT ISBN,借书时间FROM 借阅WHERE 借书证号=[请输入借书证号]2、在成绩数据库中创建下面选择查询对象:S1:查询所有课程名为"高等数学"的课程信息SELECT * FROM 课程WHERE 课程名="高等数学"S2:查询在第1学期开出的课程SELECT * FROM 课程WHERE 学期=1S3查询专业代码为"034"的专业的所有班级名称SELECT 班级名称FROM 班级WHERE 专业代码="034"S4:查询来源地中包含有“广西”的学生记录SELECT * FROM 学生WHERE 来源地LIKE "*广西*"S5:查询2005级的学生记录(学号前4位为2005)SELECT * FROM 学生WHERE 班级代码like "2005*"S6:查询年满20岁的学生SELECT * FROM 学生WHERE dateadd("yyyy",20,生日)<=date()S7:查询今天是生日的学生的姓名及所在班的班级代码SELECT 姓名,班级代码FROM 学生WHERE month(生日)=month(date()) and day(生日)=month(date())3、在工资管理数据库中创建下面选择查询对象S1:查医保小于职务工资的12%的职工的信息SELECT * FROM 职工WHERE 医保<职务工资*0.12S2:查询2006年1月份每个职工的扣款小计,提取数据项:职工号、扣款小计SELECT 职工号,医保+个税as 扣款小计FROM 月工资WHERE 年=2006 and 月=1上机作业4(多表查询)1、在图书管理数据库中创建下面的查询对象S1:任给一个借书证号,查该读者所借出的全部书的书号及书名SELECT 借阅.ISBN,书名FROM 借阅,图书WHERE 借阅.ISBN=图书.ISBN and 借阅.ISBN=[请输入书号]S2:任给一个借书证号,查该读者当前的可借书数SELECT 限借数-已借数FROM 读者类别,读者WHERE 读者类别.读者类别=读者.读者类别and 借书证号=[请输入借书证号]S3:查询所有已借数为0,但借阅表中存在借阅记录的读者的借书证号、所借书的书号和书名SELECT 读者.借书证号,借阅.ISBN,书名FROM (读者LEFT JOIN 借阅ON 读者.借书证号=借阅.借书证号)LEFT JOIN 图书ON 借阅.ISBN=图书.ISBNWHERE 已借数=0 and (借阅.借书证号is not null)S4:查询在图书表中库存量=复本量,但在借阅表中存在借出记录的图书的书号与S3雷同S5:查询所有已借出的书的书名和所借者的借书证号和姓名SELECT 读者.借书证号,姓名,书名FROM (读者INNER JOIN 借阅ON 借阅.借书证号=读者.借书证号)INNER JOIN 图书ON 借阅.ISBN=图书.ISBNS6:给定一个借书证号,查询该读者是否可借书。

全国计算机等级考试上机考试题库三级数据库技术3

全国计算机等级考试上机考试题库三级数据库技术3

第3套真考题库试题一、单选题((1)~(20)每题1分,(21)~(30)每题2分,共40分)1.设有关系模式R(A,B,C,D),其函数依赖集为F={A->D,B->D,C->D}。

如果将R分解为R1(A,B,C)和R2(C,D),则该分解是()。

A)同时保持函数依赖和无损连接的分解B)保持函数依赖但不保持无损连接的分解C)保持无损连接但不保持函数依赖的分解D)既不保持函数依赖也不保持无损连接的分解2.下面关于模式分解的说法,错误的是()。

A)分解并不总能提高查询效率B)分解通常使得涉及属性少的查询执行效率更高C)分解通常使得简单的更新事务执行效率更高D)分解总是能降低存储空间的要求,因为它能消除冗余数据3.设有关系表:职工(职工号,姓名,领导职工号),其中职工号是主码,领导职工号是外码。

当前表中没有任何数据。

现在依次向该表中插入如下数据(1)(e1,Tom,e2)(2)(e3,Jerry,null)(3)(null,Foo,null)(4)(e2,Fake,e2)(5)(e1,Ghost,e3)(6)(e4,Who,e1)则最终该表中有()行数据。

A)2B)3C)4D)54.数据库物理设计阶段是根据数据库逻辑设计的结果设计合适的数据库物理结构。

下列关于数据库物理设计的说法,错误的是()。

A)物理设计着眼于数据库底层的物理存储与存取,与操作系统和硬件环境及数据库管理系统密切相关B)物理设计时需要合理安排不同的存储介质,索引文件一般存储在高速磁盘中,日志文件可以考虑存储在磁带中C)物理设计过程中需要考虑设置合理的数据库管理系统参数和操作系统相关参数D)物理设计过程中需要考虑RAID级别、操作系统的文件管理机制、数据库管理系统支持的索引类型5.三层浏览器/服务器架构是现在比较流行的应用系统架构。

下列关于此架构的说法,错误的是()。

A)表示层使用Web浏览器实现,位于客户端,一般无需安装其他程序B)数据层位于数据库服务器,由DBMS完成数据存储和数据存取等数据管理功能C)此架构将人机交互、应用业务逻辑和数据管理三类功能分离,提高了可维护性D)与二层的客户/服务器架构相比,此架构在交互性、运行速度方面优势明显6.设有下列关于数据库分析、设计与实现的工作:Ⅰ.用概念数据模型表示数据对象的特征及其相互间的关联关系Ⅱ.进行数据库的备份与恢复等日常维护Ⅲ.在ER图的基础上确定数据库关系模式Ⅳ.调整数据库逻辑模式,确定文件组织与存取方式,评估物理模式Ⅴ.考虑分析DBAS运行过程中备份数据库策略,如备份时间点和备份周期Ⅵ.事务和应用程序的编码及测试上述工作中,属于DBAS系统设计阶段工作的是()。

DQL-数据查询习题与知识总结

DQL-数据查询习题与知识总结

教材上的例题:1.查询清华大学出版社出版图书的书名和作者。

2.查询Book表中的书名,作者,价格。

3.查询Book表中的全部数据。

4.查询每一本书九折后的价格。

2.加常量:SELECT name,‟birthdate‟,birthdate FROM Reader3.指定列名:SELECT book_ID AS 编号,name AS 姓名,author AS 作者FROM Book4.Where子句:查询价格大于30元的图书的全部信息5.查询所有的女读者的信息6.查询图书价格在30到50元之间的图书7.查询“机械工业出版社”或者“清华大学出版社”出版的图书8.查询图书价格在25到50元之间的图书9.图书价格不在20到30元之间的图书10.查找“机械工业出版社”,“清华大学出版社”,“高等教育出版社”出版的全部图书11.查找不是“机械工业出版社”,“清华大学出版社”,“高等教育出版社”出版的全部图书12.查询姓全部“王”的读者的信息。

13.查询名字是两个字的姓“王”的读者的信息14.查询名字中带有“晓”字的人的信息15.查询所有不姓张的读者的信息16.查询性别为空的读者的信息17.查询出生日期不为空的读者的姓名18.order by子句:查询读者的信息按出生日期的升序显示19.查询读者的信息按出生日期的“降序”显示20.查询图书的信息,查询结果按照出版社的名称升序排序,同一出版社的按照价格的降序排序。

21.统计全部图书的平均价格22.查询最高的图书价格23.统计读者的总人数24.统计“清华大学出版社”出版图书的数目25.分组子句:统计每个出版社的出版图书的数目26.统计每个出版社的出版图书的数目。

27.统计每个人所借图书的数目。

28.统计每个出版社出版图书的平均价格,并显示每个出版社的名称29.查询所借图书的数目多余2本的读者编号,并显示所借图书的数目。

30.查询出版图书多余3本的出版社名称和出版图书数目31.查询查询售价最高的图书的名称32.查询售价比平均售价高的图书的名称33.查询与“数据库原理”在同一出版社的图书信息34.查询王旭所借图书的图书编号35.查询“王旭”所借的图书的名称36.查询价格最低的图书信息37.查询书价最高的图书的信息38.查询已经借阅了图书的读者的姓名39.已经被借出的图书的信息40.查询2005年1月20日所借出的图书的信息41.查询每个读者所借的图书的信息,要求显示读者姓名,图书名称,借出日期42.查询‟王旭‟所借图书的书名43.显示所有读者的借阅情况(包括没借书的读者),显示读者编号,读者姓名,图书编号44.显示所有读者的借阅情况(包括没借书的读者和没被借的图书),显示读者编号、读者姓名、图书编号、书名和借阅日期。

建筑CAD上机练习题(全)

建筑CAD上机练习题(全)

《建筑CAD》上机练习题要求:(1)上机练习题请以本练习题为准进行练习,其中各章题干加粗的题目必须掌握。

(2)上机练习请严格遵守课堂纪律,不迟到,不早退,认真练习。

上机时必须携带教材和必要文具。

(3)请在每次上机结束后在规定时间内将要求完成的练习题目发送到指定的电子邮箱。

要求用题目的序号命名文件,如第1题命名为1.dwg,然后将需提交文件放置在一个文件夹内,文件夹统一命名为:学号+姓名,如:1041040150张三,然后做成压缩包:1041040150张三.rar,再将压缩包发送到指定邮箱。

请见下图示意。

(4)发送到指定电子邮箱的题目必须为本人完成,作为平时成绩考核依据,杜绝相互复制,一经发现,成绩记为零分。

(5)该练习题严禁上传网络分享。

第1章AutoCAD基础知识上机题1、启动AutoCAD,熟悉“启动”对话框的操作,熟悉AutoCAD2013的工作界面及经典界面,练习选项卡和面板切换,退出AutoCAD。

2、绘制如图所示的简单图形,不需要标注尺寸。

图1-1 房屋立面图图1-2 多边形图案第2章绘图准备工作上机题1、采用直线命令,配合正交、对象捕捉、对象追踪、捕捉自等辅助绘图方式绘制第一章上机题第2题所绘图形。

2、采用直线命令,配合正交、对象捕捉、对象追踪、捕捉自等辅助绘图方式绘制如图所示图形。

图2-1 方形图案3、采用圆、圆弧命令,配合对象捕捉绘制如图所示图形。

图2-2 图形图案4、按下列表格内容的要求,采用相应的命令和方式,绘制图如图所示图形(不绘制尺寸标注)。

图2-3 平面图绘图时注意:调整绘图区背景色为白色;设置绘图界限为A4,绘图精度为0;调整“线型管理器”中的“全局比例因子”为0.3左右。

5、按下列要求绘制如图所示图形。

(1)设定图形左下角为(0,0),范围为84X63。

(2)设定长度单位为十进制,精度为小数点后2位,角度为度分秒制,精度为0d00’。

(3)设立图层A,线型为CENTER,颜色为RED;设立图层B,颜色为GREEN,线型为Dashed2。

上机二《数据查询》部分参考答案

上机二《数据查询》部分参考答案

《数据库原理及应用》上机实验2——数据查询4.针对SPJ 建立的4个表试用SQL 语言完成第三章习题5中的查询题目 SQL 语句查询结果1)求供应工程J1零件的供应商号码SNOSELECT DISTINCT SNO FROM SPJ WHERE (JNO = 'J1')2)求供应工程J1零件P1的供应商号码SNOSELECT SNO FROM SPJWHERE (JNO = 'J1') AND (PNO = 'P1')解一:嵌套查询(效率较高) SELECT SNOFROM SPJ WHERE (JNO = 'J1') AND (PNO IN(SELECT PNOFROM P WHERE color = '红'))3)求供应工程J1零件为红色的供应商号码SNO解二:连接查询(效率较低) SELECT SPJ.SNO FROM SPJ,PWHERE (SPJ.JNO = 'J1') AND (P.COLOR = '红') AND(SPJ.PNO = P.PNO)★4)求没有使用天津供应商生产的红色零件的工程号JNO解一:NOT IN SELECT JNO FROM JWHERE (JNO NOT IN (SELECT SPJ.JNO FROM SPJ INNER JOIN P ON SPJ.PNO = P.PNO INNER JOIN S ON SPJ.SNO = S.SNOWHERE (P.COLOR = '红') AND (S.CITY = '天津')))解二:NOT EXISTS SELECT JNO FROM JWHERE (NOT EXISTS (SELECT *FROM SPJ INNER JOIN P ON SPJ.PNO = P.PNO INNER JOIN S ON SPJ.SNO = S.SNOWHERE (P.COLOR = '红') AND (S.CITY = '天津') AND J.JNO = SPJ.JNO))5)求至少用了供应商S1所供应的全部零件的工程号JNOSELECT DISTINCT JNO FROM SPJ SPJZWHERE (NOT EXISTS (SELECT * FROM SPJ SPJX WHERE SNO = 'S1' AND NOT EXISTS (SELECT * FROM SPJ SPJYWHERE SPJX.PNO = SPJY .PNO AND SPJY .JNO = SPJZ.JNO)))5.针对SPJ 数据库中的4个表,试用SQL 语言完成以下各项操作。

查询操作上机练习(学生管理数据库)

查询操作上机练习(学生管理数据库)

查询操作上机练习一、实验目的使用查询设计视图完成单表和多表的选择查询、查询计算、查询条件组合、动作查询等。

二、实验要求1. 了解查询类型2. 掌握使用设计视图创建查询。

3. 掌握选择查询,查询中的计算,以及运用各种运算符(逻辑运算符、关系运算符、Between、In、Like)来组合查询条件。

3. 掌握创建交叉表查询、参数查询、生成表查询、追加查询、更新查询、删除查询.三、查询练习题选择查询:1:查询选修“数据库原理与应用”的学生的学号、姓名及成绩情况,包含课程名称、学号、姓名、成绩四个字段,成绩从高到低排列。

2:查询5个最低成绩,包含的字段有:学生学号、姓名、课程名称、成绩。

3:显示成绩排在前10%的学生信息,显示属性包括姓名、所属院系。

4:查询籍贯是北京或江西的学生信息。

5:查询会计系的男生,包含学号、姓名、性别、所属院系。

6:查询“籍贯”不是北京的学生信息。

7:查询“数据库原理与应用”这门课程不及格学生的学号、姓名。

8:查询1988年1月1日至1988午12月31日出生的学生的学号和姓名。

9:查询选修了“数据库原理与应用”课程或“证券投资与操作实务”课程的学生信息。

10:查询选修了“数据库原理与应用”课程和“证券投资与操作实务”课程的学生信息。

11:查询所有姓“王”的学生记录。

12:查询姓名中含有“海”字的学生信息。

13:显示全部学生的班级。

14:建立一查询,统计全部学生人数。

15:1990年出生的学生人数。

16:建立一查询,统计全校学生各院系的人数。

17:建立一查询,统计“证券投资与操作实务”课程的平均分、最高分、最低分。

18:查询每门课程的平均分、最高分和最低分,显示列标题为“课程名称”、“平均分”、“最高分”和“最低分”。

19:将每个学生“证券投资与操作实务”课程的成绩乘以0.9。

20:查询1988年出生的女生或1990年的男生的姓名、性别和年龄信息,年龄是新增字段。

交叉表查询:21:按性别统计不同籍贯的人数。

mysql上机练习题

mysql上机练习题

mysql上机练习题MySQL是一种常用的关系型数据库管理系统,广泛应用于开发和管理各种数据库。

本文将为大家提供一些MySQL上机练习题,以帮助读者巩固和提升自己的MySQL技能。

题目一:创建数据库和数据表在MySQL中创建一个名为"student"的数据库,并在该数据库中创建一个名为"score"的数据表。

数据表包括以下字段:字段名数据类型备注id int 学号name varchar 姓名chinese int 语文成绩math int 数学成绩english int 英语成绩题目二:插入数据向上述的"score"数据表中插入以下数据:学号姓名语文成绩数学成绩英语成绩1 小明 90 85 922 小红 78 92 883 小亮 85 90 95题目三:查询数据从"score"数据表中查询所有学生的姓名和数学成绩。

题目四:更新数据将学号为2的学生英语成绩修改为90。

题目五:删除数据从"score"数据表中删除学号为3的学生。

题目六:查询统计数据查询"score"数据表中语文成绩大于等于90分的学生数量。

题目七:排序数据按照数学成绩从高到低的顺序,查询"score"数据表中的所有学生信息。

题目八:连接查询创建一个名为"course"的数据表,包括以下字段:字段名数据类型备注id int 课程编号name varchar 课程名称将下列数据插入到"course"数据表中:课程编号课程名称1 语文2 数学3 英语通过连接查询,查询"score"数据表中各个学生的姓名、课程名称和成绩。

题目九:使用函数查询"score"数据表中各个学生的总成绩,按照总成绩从高到低排序。

题目十:使用子查询查询"score"数据表中成绩最高的学生姓名和各科成绩。

数据库上机实验作业题

数据库上机实验作业题

数据库上机实验作业题本页仅作为文档页封面,使用时可以删除This document is for reference only-rar21year.March数据库上机实验作业题1.从课程表中查询所有课程信息2.从课程表中查询课程类别的信息。

3.从课程表中查询课程类别,要求消除值相同的那些行。

4.从学生表中查询所有的信息,要求只显示查询结果的前6行数据。

5.查询课程表中课程编号、课程名称、教师、上课时间、限制选课人数和报名人数,要求查询结果显示如下:6.查询课程表的信息,要求给出查询结果为:7.在课程表中查询课程类别为“信息技术”,并且学分为“2”的课程。

8.查询课程表的课程信息、报名人数与限选人数之比。

9.查询课程表中最小的报名人数、最大的报名人数以及平均报名人数。

10.查询课程信息、报名人数与限选人数之比。

要求查询结果按照报名人数升降排序。

11.查询课程表的教师名、课程编号、课程名,要求查询结果按照教师名降序排序,教师名相同时,则按照课程编号升序排序。

12.查询课程编号为“004”、“007”、“013”的课程信息。

13.查询课程编号不为“004”、“007”、“013”的课程编号和课程名称。

14.查询课程名以字母D开始的课程信息。

15.查询课程名以“制作”两字结尾的课程信息。

16.查询姓名第二个字为“宝”的学生信息。

17.查询不姓“刘”的学生信息。

18.查询课程表中教师姓名未定的课程信息。

19.查询报名人数少于15人的课程信息。

20.查询报名人数少于25并且多于15人的课程信息。

21.查询报名人数少于25并且等于15人的课程信息,要求查询结果按照报名人数降序排列。

22.查询报名人数少于25并且少于15人的课程信息,要求查询结果按照报名人数降序排列。

23.查询课程表中“信息技术”类课程信息,并计算平均报名人数。

24.按类别显示课程信息,并计算各类课程的平均报名人数。

25.按课程类别分组统计各类课程的平均报名人数。

数据查询练习

数据查询练习

《数据查询》练习(总12页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--《数据查询》练习练习前,先附加“教务管理系统”和“人事管理系统”数据库1、在“学生信息”表中,以3种不同的列名显示方式,查询学生信息。

select 学号‘No’,姓名’Name’,性别‘Sex’,年级’Grade’,籍贯‘出生所在地’from 学生信息select 学号 as ‘No’,姓名 as ’Name’,性别 as ‘Sex’,年级 as ’Grade’,籍贯 as ‘出生所在地’ from 学生信息select ‘No’=学号,’Name’=姓名, ‘Sex’=性别,’Grade’=年级, ‘出生所在地’=籍贯 from 学生信息2、交换列的显示顺序,查询查询“学生信息”表中所有学生的学号、姓名、政治面貌和籍贯信息。

select 学号,姓名,政治面貌,籍贯 from 学生信息select 政治面貌,学号,姓名, 籍贯 from 学生信息3、对比不使用DISTINCT和使用DISTINCT,查询“学生信息”表的“籍贯”列中的信息。

select 籍贯 from 学生信息select distinct 籍贯 from 学生信息4、查询列表中使用计算列。

1)查询“成绩表”中学生成绩信息,把成绩减少10分显示,同时显示编号、学号、调整前的成绩。

select 编号,学号,‘调整前的成绩’=成绩, ,‘调整后的成绩’=成绩-10 from 成绩表2)查询“学生信息”表中学生学号、姓名、性别、民族和籍贯信息组,结果组合一列显示。

select 学生信息=‘学号:’+学号+’姓名:’+姓名+’性别:’+性别+’民族:’+民族+‘籍贯:’+籍贯 from 学生信息5、WHERE子句的使用1)从“学生信息”表中,查询出“籍贯”为“河南”的学生的学号、姓名、性别、民族和籍贯信息。

select 学号,姓名,性别,民族,籍贯 from 学生信息 where 籍贯=‘河南’2)从“学生信息”表中,查询出“籍贯”不是“河南”的学生的学号、姓名、性别、民族和籍贯信息。

数据库系统上机(二):数据查询

数据库系统上机(二):数据查询

数据库系统上机(二):数据查询一、实验目的掌握SQL程序设计基本规范,熟练运用SQL语言实现数据基本查询,包括单表查询、分组统计查询和连接查询等。

二、实验内容和要求及试验结果。

1.查询SC表中的全部数据。

SELECT*FROM CSC2.查询计算机系学生的姓名和年龄。

SELECT Sname,SageFROM StudentWHERE Sdept=N'计算机系'3.查询成绩在70~80分的学生的学号、课程号和成绩。

SELECT SNO,Cno,GradeFROM CSCWHERE Grade BETWEEN 70 AND 804.查询计算机系年龄在18~20岁的男生姓名和年龄。

SELECT Sname,SageFROM StudentWHERE Sage BETWEEN 18 AND 20 AND Ssex=N'男'5.查询C001课程的最高分。

SELECT MAX(Grade)FROM CSC6.查询计算机系学生的最大年龄和最小年龄。

SELECT MAX (Sage),MIN (Sage)FROM StudentWHERE Sdept=N'计算机系'7.统计每个系的学生人数。

SELECT Sdept,COUNT (*)FROM StudentGROUP BY Sdept8.统计每门课程的选课人数和最高成绩。

SELECT Cno,COUNT (*),MAX (Grade)FROM CSCGROUP BY Cno9.统计每个学生的选课门数和考试总成绩,并按选课门数升序显示结果。

SELECT Sno,COUNT(Sno),SUM(Grade)FROM CSCGROUP BY SnoORDER BY COUNT(Sno)10.列出总成绩超过200的学生的学号和总成绩。

SELECT Sno,SUM(Grade)FROM CSCGROUP BY SnoHAVING SUM(Grade)>=20011.查询选了C002课程的学生姓名和所在系。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.按照下面要求创建三个基本表,写出对应语句,可以建在pubs数据库上。

这三个基本表是后续练习的基础。

学生表(student) (学号(sno) 普通编码定长字符类型,长度7,主码,姓名(sname) 普通编码定长字符类型,长度8,非空,性别(ssex) 统一编码定长字符类型,长度1,年龄(sage) 微整型,所在系(sdept) 统一编码可变长字符类型,长度20)课程表(course) (课程号(cno) 普通编码定长字符类型,长度6,主码,课程名(cname) 统一编码定长字符类型,长度10,非空,学分(credit) 小整型,学期(semester) 小整型)修课表(sc)(学号(sno) 普通编码定长字符类型,长度7,主码,外码课程号(cno) 普通编码定长字符类型,长度6,主码,外码成绩(grade) 小整型,修课类别(type)普通编码定长字符类型,长度4)2.为学生添加专业(spec)列char(30)。

3.将专业列的长度改为40。

4.删除专业列数据查询与修改1.分别查询学生表和学生修课表中的全部数据。

2.查询计算机系的学生的姓名、年龄。

3.查询选修了c01号课程的学生的学号和成绩。

4. 查询成绩在70到80分之间的学生的学号、课程号和成绩。

5.查询计算机系年龄在18到20之间且性别为'男'的学生的姓名、年龄。

6.查询9512101号学生的修课情况。

7.查询c01号课程成绩最高的分数。

8.查询学生都修了那些课程,要求列出课程号。

9. 查询Northwind数据库中orders表的OrderID、CustomerID和OrderDate,并将最新的定购日期(OrderDate)列在前边。

10. 查询Northwind数据库中orders表的ShipCountry列以B,C,D,F开始且第三个字符为'a'的OrderID、CustomerID和ShipCountry的信息。

11. 查询Northwind数据库中orders表的ShipCountry列不以A,B,C,D,E,F开始且最后一个字母是'a'的OrderID、CustomerID和ShipCountry的信息。

12. 查询学生的最大的年龄和最小的年龄13.查询修了c02号课程的所有学生的平均成绩、最高成绩和最低成绩。

14. 统计每个系的学生人数。

15. 统计每门课程的修课人数和考试最高分。

16. 统计每个学生的选课门数,并按选课门数的递增顺序显示结果。

17. 统计各系修课的学生总数和考试的平均成绩18. 查询选课门数超过2门的学生的平均成绩和选课门数。

19. 列出总成绩超过200分的学生,要求列出学号、总成绩。

20. 查询pubs数据库的titles表中每类图书的平均价格超过12.0元的书的类型、平均价格和最高价格,要求只计算有确定价格的图书的情况。

21. 查询pubs数据库的titles表中版税(royalty)为10的每类图书(type)的平均价格。

22. 查询pubs数据库的titles表中每类图书中图书的数目超过3本的图书的总价格。

group by type having count(*) > 323. 查询选修了c02号课程的学生的姓名和所在系。

24. 查询成绩80分以上的学生的姓名、课程号和成绩,并按成绩的降序排列结果。

25. 查询计算机系修了"数据库基础"的学生的姓名、性别、成绩。

26. 查询学生的选课情况,要求列出每位学生的选课情况(包括未选课的学生),并列出学生的学号、姓名、修课号、修课成绩。

27. 列出"数据库基础"课程考试成绩前三名的学生的学号、姓名、所在系和考试成绩。

28. 查询哪些学生合选了一门课程,要求列出合选课程的学生的学号和课程号。

29. 查询哪些学生的年龄相同,要求列出年龄相同的学生的姓名和年龄。

30. 查询哪些课程没有人选,要求列出课程号和课程名。

31. 查询有考试成绩的所有学生的姓名、修课名称及考试成绩,要求将查询结果放在一张新的永久表(假设新表名为new_sc)中,新表的列名分别为:32. 分别查询信息系和计算机系的学生的姓名、性别、修课名称、修课成绩,并要求将这两个查询结果合并成一个结果集,并以系名、姓名、性别、修课名称、修课成绩的顺序显示各列。

33.在Northwind数据库中,查询雇员(Employees表)和顾客(Customers表)都来自哪些城市(City),并降结果按城市的字母升序排序34.在Northwind数据库的产品表(Products)中,查询库存数量(UnitsInStock)大于10的产品的编号(ProductID)、产品名(ProductName)和单价(UnitPrice),并将单价小于等于10元的显示为“很便宜”;单价超过10元但小于等于20元的显示为“较便宜”;单价超过20元但小于30元的显示为“中等”;单价超过30元但小于40元的显示为“较贵”;单价超过40元但小于100元的显示为“很贵”;单价超过100元的显示为“价格过高”。

35. 查询选修了vb课程的学生的学号、姓名、所在系和成绩,并对所在系进行如下处理:当所在系为“计算机系”时,显示“CS”;当所在系为“信息系”时,显示“IS”;当所在系为“数学系”时,显示“MA”;对其他系,均显示“OTHER”。

参考代码:CREATE TABLE 学生(学号char(7) primary key ,姓名char (8) NOT NULL,性别nchar (1),年龄int NULL ,所在系nvarchar(20))create table 课程表(课程号char(6) primary key,课程名char(10) not null,学分float,学期float)create table 修课表(学号char(7) not null,课程号char(6) not null,成绩float,修课类别char(4)primary key(学号,课程号),foreign key(学号) references 学生表(学号),foreign key(课程号) references 课程表(课程号))1select*from 学生表select*from 修课表2select 姓名,年龄from 学生表where 系别='计算机系' 3select 学号,成绩from 修课表where 课程号='c01'4select 学号,课程号,成绩from 修课表where 成绩between 70 and 805select 姓名,年龄from 学生表where 系别='计算机系' and 性别='男' and 年龄between 18 and 206select * from 修课表where 学号='9512101'7select max(成绩) 最高分from 修课表where 课程号='c01'8select distinct 课程号from 修课表9.use Northwindselect OrderDate,OrderID,CustomerID from orders10.select OrderID,CustomerID,ShipCountry from orders where ShipCountry like '[BCDF]_a%'11.select OrderID,CustomerID,ShipCountry from orders where ShipCountry like '[^ABCDEF]%A'12.select max(年龄) 最大年龄,min(年龄) 最小年龄from student13.select avg(成绩) 平均成绩,max(成绩) 最高成绩,min(成绩) 最低成绩from sc where 课程号='c02'14.select 所在系, count(*) 人数from student group by 所在系15.select 课程号,count(*) 修课人数,max(成绩) 最高分from sc group by 课程号16.select 学号,count(课程号) 选课门数from sc group by 学号order by count(课程号)17.select 所在系,count(*) 学生总数,avg(成绩) 平均成绩from student st join sc on st.学号=sc,学号group by 所在系18.select 学号,count(课程号) 选课门数,avg(成绩) 平均成绩from sc group by 学号having count(课程号)>219.select 学号,sum(成绩) 总成绩from sc group by 学号having sum(成绩)>20020.use pubsselect type ,avg(price) 平均价格,max(price) 最高价格from titles group by type having avg(price)>12.021.select avg(price) 平均价格from titles where royalty=10 group by type22.select sum(price) 总价格from titles group by type having count(type)>323.use sqllxselect 姓名,所在系from student st,sc where st.学号=sc.学号and sc.课程号='c02'24.select 姓名,课程号,成绩from student st,sc where st.学号=sc.学号and sc.成绩>80order by 成绩desc25.select 姓名,性别,成绩from student st , course co,sc where st.学号=sc.学号andsc.课程号=co.课程号and st.所在系='计算机系'and co.课程名='数据库基础' and st.性别='男'26.select student.学号,姓名,课程号,成绩from student left join sc on student.学号=sc.学号27.select top 3 st.学号,姓名,所在系,成绩from student st,course co ,scwhere st.学号=sc.学号and co.课程号=sc.课程号and 课程名='数据库基础' order by 成绩desc28.select distinct s1.学号, s1.课程号from sc s1 join sc s2 on s1.课程号=s2.课程号order by s1.课程号29.select distinct s1.姓名,s1.年龄from student s1 join student s2 on s1.年龄=s2.年龄order by s1.年龄30.select co.课程号,co.课程名from course co , scwhere co.课程号=sc.课程号and co.课程号not in(select 课程号from sc)31.select 姓名student_name,课程名course_name,成绩grade into new_scfrom student st join sc on st.学号=sc.学号join course co on co.课程号=sc.课程号where sc.成绩is not null32.select st.所在系,st.姓名,st.性别,co.课程名,sc.成绩from student st,course co,scwhere sc. 学号=st.学号and sc.课程号=co.课程号and st.所在系='计算机系'unionselect st.所在系,st.姓名,st.性别,co.课程名,sc.成绩from student st,course co,scwhere sc. 学号=st.学号and sc.课程号=co.课程号and st.所在系='信息系'33.select distinct city from Employeesunionselect distinct city from Customersorder by city asc34.select ProductID, ProductName,casewhen UnitPrice <=10 then '很便宜'when UnitPrice >10 and UnitPrice<=20 then '较便宜'when UnitPrice >20 and UnitPrice<=30 then '中等'when UnitPrice >30 and UnitPrice<=40 then '较贵'when UnitPrice >40 and UnitPrice<=100 then '很贵'when UnitPrice >100 then '价格过高'endfrom productswhere UnitsInStock>1035.select s.sno 学号,sname 姓名,case sdeptwhen '计算机系' then 'CS'when '信息系' then 'IS'when '数学系' then 'MA'else 'OTHER'end 所在系,grade 成绩from student s join sc on s.sno = sc.snojoin course c on o=owhere cname='vb'参考以上代码进行调试,发现错误并处理。

相关文档
最新文档