数据库概论(实验四1)数据查询mysql教程

[实验目标]1、掌握单表查询的应用2、熟练掌握连接查询的应用3、掌握嵌套查询和集合查询[实验内容]一、根据实验二,建立SC数据库(实验条件),含有student、course和sc三个表二、数据查询实验1、单表查询1)选择指定的列【例】查询全体

[实验目标]

1、掌握单表查询的应用

2、熟练掌握连接查询的应用

3、掌握嵌套查询和集合查询

[实验内容]

一、根据实验二,建立SC数据库(实验条件),含有student、course和sc三个表

二、数据查询实验

1、单表查询

1)选择指定的列

【例】查询全体学生的学号和姓名

2)查询全部列

【例】查询全体学生的详细信息

3)对查询后的指定列进行命名

【例】查询全部学生的“姓名”及其“出生年”两列

4)消除取值重复的行

【例】查询选修了课程的学生学号

5)选择表中若干元组(满足条件的)

(I)大小比较

【例】查询计算机系(IS)全体学生名单

【例】查询全体20岁以下的学生姓名和年龄

(II)确定范围

【例】查询所有在20到23岁(含20和23)的学生姓名、系别和年龄

(III)in和notin确定集合

【例】查询IS系和CS系的全体学生姓名和性别

【例】查询既不属于IS系,也不属于MA系的学生姓名和年龄

(IV)字符匹配(like%_)

【例】查询所有姓李的学生姓名和性别

【例】查询所有“2002”年入学的学生学号、姓名和系别

【例】查询所有不姓“刘”的学生信息

【例】查询名称含有“数据”的课程号、课程名及学分

(V)涉及空值的查询(isnull)

【例】查询没有先修课的课程号和课程名。

【例】查询所有有成绩的学生学号、课程号及成绩

6)查询结果排序(orderby)

【例】查询选修了3号课程的学生学号和成绩,结果按成绩降序排列。

注:

排序是对查询后的结果排序。所以应该放在最后。

7)聚集函数

count、sum、avg、max、min

【例】查询学生总数

【例】查询所有课程的总学分

【例】查询全体学生平均年龄

【例】查询1号课程的最高分

8)分组统计(groupby)

【例】查询男女学生各有多少人。

【例】查询每个课程的课程号和平均分。

【例】查询选修了3门课程以上(含3门)的学生学号和选修课程数。

【例】查询选修了2门课程以上(含2门,但不含1号课程),学生学号和选修课程数。

【例】查询不及格门数2门以上的学生学号。

【例】查询有2名以上(含2名)学生选修了的课程号和选修人数。

注:1.分组查询的目标列可以出现分组的列及含在聚集函数中的其他列;

2.where条件用于分组前的选择条件;having子句,用于分组后选择的条件。

2、连接查询

1)等值与非等值连接查询

【例】查询每个学生及其的选修课程情况

2)自身连接

【例】查询每个课程的间接选修课

3)外连接

【例】查询所有学生选修课程情况(含没选修课程的学生)

【例】查询所有学生选修课程情况(含没选修课程的学生,属性有学号,姓名,课程名和成绩)

4)符合条件连接

【例】查询选修了2号课程且成绩在90分以上的所有学生学号和姓名

【例】查询每个学生的学号、姓名,选修课程名和成绩。

3、嵌套查询

1)带有IN谓词的子查询(属性in(子查询的查询结果))

【例】查询与王敏同学在同一个系的学生信息。

【例】查询与王敏同学不在同一个系的学生信息。

【例】查询选修了课程名为“信息系统”的学生学号和姓名。

【例】查询曾与刘晨一同上课的学生学号和姓名。(假设:一个课程只有一个上课班)

2)带有比较运算符的子查询(=,>=,或!=)

【例】查询与王敏同学在同一个系的所有学生信息(=判断)

【例】查询每个学生超过该课程最低分的课程号。(同类课程不是最低分的)

【例】查询每个学生超过他选修课程平均成绩的课程号。

【例】查询每个学生超过该课程平均成绩的课程号。

3)带有ANY或ALL谓词的子查询

【例】查询其他系中比计算机系某一学生年龄小的学生姓名,性别、年龄和所在系。

【例】查询其他系中比计算机系所有年龄都小的学生姓名和年龄。

4)带有Exists谓词的子查询

【例】查询所有选修了1号课程的学生姓名。

【例】查询选修了全部课程的学生姓名。

【例】查询至少选修了学生200215122选修的全部课程的学生学号。

4、集合查询

1)并UNION

【例】查询计算机系的学生及年龄不大于19岁的学生详细信息。

【例】查询选修了1号课程的及年龄不大于19岁的学生详细信息。

2)交INTERSECT

【例】查询选修了1号课程的与年龄不大于19岁的学生详细信息的交集。

3)差EXCEPT

【例】查询计算机科学系的学生与年龄不大于19岁的学生详细信息的差集。

[课后作业]

1、通过SPJ数据库完成课后针对SPJ的查询练习。

2、根据SPJ数据库用SQL语句完成以下查询。

1)查询“天津”的供应商详细信息。

2)查询不是“天津”的供应商代码。

3)查询供应工程J1零件的供应商代码。

4)查询供应商S1供应过的商品代码。

5)查询供应商S1供应工程J1的零件种类有几种。

6)查询供应商S1供应工程J1的各种零件的零件代码和其数量和。

7)查询J1工程使用的零件种类有几种。

8)查询J1工程使用的各种零件代码和其数量和。

9)查询J1工程使用的零件总数大于300的零件代码和数量。

10)查询J1工程使用的各种零件,其数量至少大于J3使用的S2供应的所有零件数量和的,零件代码和数量。

11)查询J1工程使用的各种零件,其数量至少大于J3使用的同类数量和的,零件代码和数量。

12)查询至少使用了J1工程所用的几类零件的工程的工程号。

13)查询至少使用了所有红色零件的工程号。

14)查询使用了全部红色零件的工程号。

15)查询工程所在地与供应其零件的供应商在同一个城市的工程号和供应商号。

16)查询没有使用天津供应商生产的红色零件的工程号JNO。

17)查询至少使用了供应商S1供应的全部零件的工程号JNO。

18)查询使用了全部上海产的零件的工程号JNO。

19)查询没有使用J2所使用的所有零件的工程号JNO。

3、根据SC数据库用SQL语句完成以下任务。

1)将不及格的每个学生成绩增加5分。

2)将低于该课程平均分的学生成绩,成绩提高10%。

3)把计算机科学系所有学生增加1岁。

4)把学分为3分以内(含3分)的课程成绩提高3分,学分为3分以上的课程成绩提高4分。

5)建立名字为“成绩单”的视图,属性有学生号,学生姓名、课程号、课程名和成绩。

THE END
1.MySQL查询所有学生的全部盐信息使用LEFT JOIN将两个表联结,显示所有学生及其选课情况 步骤5: 执行查询并展示结果 现在你需要执行刚刚写的查询语句,并查看结果。你可以使用MySQL Workbench或其他数据库管理工具。从执行结果中,我们应该能够看到所有学生和他们所选的课程的信息。 3. 甘特图 https://blog.51cto.com/u_16213420/12788155
2.数据库实验二问题描述:查询前序课程编号是'112p0015'或'112p0055'的课程编号和课程名。 SQL语句: sql 复制代码 SELECT Cno AS '课程编号', Cname AS '课程名称' FROM Courses WHERE Pre_Cno IN ('112p0015', '112p0055'); 查询结果截图:(在截图的右下角标上学号的最后两位) https://blog.csdn.net/2403_89537385/article/details/144362592
3.数据库MySQL习题及答案(教务管理系统MySQL5.7)?声明 不保证习题答案完全正确,仅供参考 MySQL:5.7 推荐软件:Navicat Premium 学习SQL语句需要勤于练习! ?各表字段说明 course CId 课程序号,主键 PCId 先修课 DId 开课系编号,外键 CName 课程名称 CCredIT 学分 CHour 学时 CAThttps://www.cnblogs.com/Flat-White/p/14972243.html
4.学生(学号,姓名,年龄)。课程(课程号,课程名,先行课有一个学生课程数据库,数据库中包括三个表: 学生(学号,姓名, 年龄)。 课程 (课程号,课程名,先行课,学分) 。 成绩 (学号,课程号,成绩) 。用SQL语言实现下列功能: 1.建立成绩表,其中(学号,课程号)为主码。 2.查询所有年龄在30岁以下的学生姓名与年龄。https://www.shangxueba.com/ask/20674391.html
5.姓名SN,所在系SD,年龄SA)课程C(课程号C#,课程名CN,先修课号P设有学生-课程关系数据库,它由三个关系组成。它们的模式是:学生S(学号S#,姓名SN,所在系SD,年龄SA)、课程C(课程号C#,课程名CN,先修课号PC#)、SC(学号S#,课程号C#,成绩G)。请用关https://www.zybang.com/question/0ec11e35fb6324c9bd06d868964dd228.html
6.1)查询“李勇”选修的所有课程及成绩,显示结果为姓名,课程名试用SQL语句完成如下查询: (本题5分)(1)查询“李勇”选修的所有课程及成绩,显示结果为姓名,课程名,成绩。(用连接查询实现) (本题5分)(2)查询“李勇”选修的所有课程的课程名程。(用嵌套查询实现)https://www.shangxueba.cn/wangke/SZUVQHZW.html
7.数据库课程设计指导书6篇(全文)课程代号:41110150 总学时(或周数): 一周 适用专业: 计算机科学与技术 先修课程:计算机基础 一、课程设计(实践)目的 《数据通信与计算机网络课程设计》是实践性教学环节之一,是《数据通信与计算机网络》课程的辅助教学课程。通过课程设计,使学生数据通信及网络的基本概念,结合实际的操作和设计,巩固和加深数据通信与计https://www.99xueshu.com/w/filea0fwsq7u.html
8.电子商务网站建设策划书集锦6篇三、先修课程 电子商务管理 四、课程设计内容 实践内容包括以下方面:(1)类目选择与切入;(2)团队配合与建设;(3)开店基础操作;(4)网店日常运营管理;(5)网店工具的运用;(6)网店美化;(7)网店交易管理。 五、进度安排 (1)类目选择与切入 1天 (2)团队配合与建设 https://www.ruiwen.com/wangzhancehuashu/6229438.html
9.专业骨干课程教学大纲《城市轨道交通规划与管理》教学大纲?一、课程基本信息课程代码01020931课程英文名称Urban Transit Planning and Management课程性质必修课程类别专业教育学分数3学时数48学时其中理论学时40实验学时8上机学时0其它实践学时0开课学期第7学期先修课程交通工程学、铁路运输设https://jtgczy.lzjtu.edu.cn/info/1156/1164.htm
10.数据库中有students表,字段如下:sno(学号课程表(课程号,课程名,学分,先修课程号) 选课表(ID, 学号,课程号,分数) 用SQL语言实现下列的功能: 1.创建数据库“学生选课数据库”代码; 2. A.将下列课程信息添加到课程表的代码: B.修改 课程号为100003的课程名为“SQL数据库”; C.删除 课程号为100002的课程信息; 3.检索姓张的女同学的情况:姓名、学https://www.xuesai.cn/souti/83D1D23C.html
11.IB课程大考即将放榜:IB成绩查询/IB课程与美本申请!但是大部分学校都强调了:“如果有机会,就尽可能地用最严格的课程挑战自己,比如荣誉课程、大学先修课程。我们将在不同课程的背景下评估国际文凭(IB)、A-level或其他文凭。”从这层面讲,IB课程申请是有优势的。但是我们也不能仅仅因为IB申请大学有优势,就盲目选择IB课程。据我们对过去几年的录取数据分析,被前30https://www.jingsailian.com/ib/839277.html
12.申请英国留学申请英国留学1●如果学生申请的是语言、预科及其他学历学位等级以下的课程,申请人必须达到安全英语语言测试B1水平(即雅思4.0,且四个单项都不低于4.0)。●如果学生申请本科及以上的学历学位课程,申请人https://www.yjbys.com/liuxue/shenqing/2643449.html
13.查找“02”院系的盐学生信息,输出其“姓名”“课程名,,和创建一个查询,查找“02”院系的选课学生信息,输出其“姓名”、“课程名,,和“成绩”三个字段内容,所建查询命名为“qT2”。请帮忙给出正确答案和分析,谢谢!https://www.educity.cn/souti/4609B9FD.html
14.如何使用四川大学教务网进行盐及查看成绩?在教务网上可以找到每门课程的评价情况,包括老师授课水平、考试难度等。可以参考其他同学对该门课程的评价来决定是否选择该门课程。 4.关注选修要求 有些专业可能对选修要求有限制,需要注意这些限制条件。同时,也要注意选修要求中是否有必须先修某门基础课程才能选修该门课程。 https://www.68jy.net/zixun/rukou/121410.html