数据库概论(实验四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.用统计查询,实现检索,全部学生都选修了课程的课程号和课程名。在数据库操作中,如果你想要通过统计查询找到所有学生都选修过的课程及其信息,通常需要进行联接操作,并可能涉及分组和计数。假设你有两张表,一张是Courses,存储课程的基本信息(课程号course_id和课程名course_name),另一张是Enrollments,记录学生选课的情况(包含学生ID和课程ID)。 SQL 查询可能会像这样: SELECT C.https://wenku.csdn.net/answer/6fshyhsdse
2.MySQL查询所有学生的全部盐信息实现MySQL查询所有学生的全部选课信息 在学习数据库查询的过程中,查询学生的选课信息是一个非常基本而重要的操作。本文将为刚入行的小白详细讲解如何在MySQL中实现“查询所有学生的全部选课信息”的功能。我们将分为几个步骤进行,一步步深入,力求让你完全理解整个过程。 https://blog.51cto.com/u_16213420/12788155
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.姓名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
5.MySQL零基础小白必看!MySQL数据库基础教程95查询选项 07:06 96字段选择and别名 11:22 97数据源 12:00 98where子句 04:35 99运算符 10:24 【Python基础】Python大神Red Tea Infusion最新力作,油管2024年度最佳作品,零基础小白Python3.12全程通俗易懂! 93播放【数据库ORM】SQLAlchemy:Python 的对象关系映射(ORM)工具,简化数据库交互与查询。 1592播放【https://www.bilibili.com/list/ml3371416014?oid=113379972810248
6.创建一个查询,查找选修了没有先修课程的课程的学生,并将成绩排名创建一个查询,查找选修了没有先修课程的课程的学生,并将成绩排名前5位的学生记录追加到表“tTemp”对应字段中,所建查询命名为“qT4”。https://easylearn.baidu.com/edu-page/tiangong/questiondetail?id=1767867913775245188&fr=search
7.334417、统计有先修课的课程门数 SELECT COUNT(CNO)FROMcourse WHERE CPNO IS NOT NULL 18、计算选修了'2'号课程的学生的总分、平均分、最高分、最低分及选课人数 SELECTSUM(grade),AVG(grade),MAX(grade),MIN(grade),COUNT(cno)FROMscWHEREcno='81002' https://zhuanlan.zhihu.com/p/702631784
8.清华面向高中优秀生首推大学先修课,或作为自主招生重要参考2015年年内,清华大学将在MOOC平台陆续推出微积分、线性代数、概率论与数理统计、大学物理、大学化学、普通生物学等六门先修课。 近日,在上海中学150周年校庆活动上,清华大学招办主任于世洁透露,清华大学将在2015年利用大型开放式网络课程MOOC(massive open online courses)平台,首批推出6门大学预修课程,即AP(Advanced https://www.thepaper.cn/newsDetail_forward_1388132
9.本课程需要高等数学作为先修课程。刷刷题APP(shuashuati.com)是专业的大学生刷题搜题拍题答疑工具,刷刷题提供本课程需要高等数学作为先修课程。A.正确B.错误的答案解析,刷刷题为用户提供专业的考试题库练习。一分钟将考试题Word文档/Excel文档/PDF文档转化为在线题库,制作自己的电子错题本,提高学习效率。https://www.shuashuati.com/ti/77032bfdd3ea42f88a87aeac668fa609.html?fm=bd5b25a9a364315f36886482b9245661a1
10.软件工程实训指导(通用6篇)(2)一门课程可以是若干门课程的先修课;每门课程最多只有一门先修课。 (3)本系统的数据存储至少应包含:学生信息,选课信息,课程信息。 (4)本系统的输入项至少包含:学生信息、选课信息、学生成绩、课程信息、统计要求。 (5)本系统的输出项至少包含:学生选课信息、某门课程的先修课程、某门课 https://www.360wenmi.com/f/fileg3f1zr90.html
11.课程设计心得体会(通用15篇)NET知识,上机练习,做作业外,还应该对学生作较全面的编程技能和分析问题解决问题的能力训练,即作课程设计,以达到如下目的:具体应用和巩固本课程及有关先修课的基础理论和专业知识,了解面向对象程序设计思想,掌握应用VB。NET编程和组建编程程序设计方法,培养学生初步的项目设计能力。https://www.ruiwen.com/xindetihui/4865312.html
12.铁道机车车辆范文11篇(全文)学校中面对黑板的基础理论学习告一段落,紧接着是在学期末的《金工实训》课程,我在2012年4月份参加了学校组织的金工实训课程,开始了在学校东校区为期四周的实习生活。 金工实习是一门实践基础课,是机械类各专业学生学习工程材料及机械制造基础等课程必不可少的先修课,它对于培养我们的动手能力有很大的意义。可以使我https://www.99xueshu.com/w/ikeyy36b0r1d.html
13.焦作大学教务管理系统使用指南及登录方法b. 注意查看每门课程的先修要求和限制条件,确保符合要求后再进行选课。 c. 如有任何问题或疑问,请及时学校教务处或相关负责人员。 以上是焦作大学教务管理使用指南及登录方法的开头部分,希望对您有所帮助。如需了解更多详细内容,请访问焦作大学教务管理网站或咨询相关部门。 https://www.68jy.net/zixun/jianzhang/65970.html
14.2023上半年数据库系统工程师下午真题答案(三)数据库系统工程师查询每一门课程的间接先修课(先修课的先修课),要求输出课程号和间接先修课的课程号。即使某门课程没有先修课,也需要输出,不过其间接先修课为空。此功能由下面的SQL语句实现,请补全。 SELECT K1.Cno, (h) FROM COURSE K1 (i) OUTER JOIN COURSE K2 (j) ((k)); https://www.educity.cn/jianzaoshi1/5048185.html
15.清华大学计算机科学与技术专业课程表计算机科学技术专业课程表清华大学学分根底 精品资料,欢迎下载!信息学院本科指导性教学方案〔公共课〕第一学年秋季学期课号课程名学分周学时考试或考查说明及主要先修课10610022思想道德修养22考查10640433英语选修22考查10420874一兀微积分44考试10420684几何与代数〔1〕44考试20240013离散数学〔1〕33考试20230093计算机语言与https://www.docin.com/p-2854569105.html