关系数据查询语言 市赛获奖_第1页
关系数据查询语言 市赛获奖_第2页
关系数据查询语言 市赛获奖_第3页
关系数据查询语言 市赛获奖_第4页
关系数据查询语言 市赛获奖_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

主讲教师:魏巍巍北京信息职业技术学院数据库技术与应用关系数据查询语言创建采集任务01数据查询语言01目录CONTENTS数据查询语言01内部联接可分为:

等值联接、非等值联接、自然联接等值联接的联接条件中使用“=”非等值联接的联接条件中使用“>”、“>=”、“<”、“<=”自然联接的联接条件中使用“=”

和等值联接不同的是要去掉重复属性。数据查询语言例

查询教师欧阳淑芳所上的所有课堂,要求按照开课年份和开课学期的升序,显示课堂名称、开课年份、开课学期。

SELECT课堂.课堂名称,课堂.开课年份,课堂.开课学期

FROM教师

INNERJOIN

课堂

ON教师.教师编号

=课堂.教师编号

WHERE教师.姓名

='欧阳淑芳'

ORDERBY课堂.开课年份,课堂.开课学期

;数据查询语言[例]查询王志强老师讲授的所有学生的名单,显示学号、姓名、专业班级

SELECT学生.学号,学生.姓名,成绩,专业班级

FROM教师

INNERJOIN

课堂

ON教师.教师编号

=课堂.教师编号

INNERJOIN

选课成绩

ON课堂.课堂编号

=选课成绩.课堂编号

INNERJOIN

学生

ON选课成绩.学号

=学生.学号

WHERE教师.姓名

='王志强';数据查询语言例

列出最受欢迎(特指选修人数)的前三门课程,要求按选修人数的降序排列课程的名称和选修人数。

SELECTTOP3课程名称,选修人数

FROM课程

INNERJOIN(SELECT课程.课程编号,COUNT(*)AS选修人数FROM课程

INNERJOIN

课堂

ON课程.课程编号

=课堂.课程编号

INNERJOIN

选课成绩

ON课堂.课堂编号

=选课成绩.课堂编号GROUPBY课程.课程编号

)ASAON课程.课程编号

=A.课程编号

ORDERBY选修人数

DESC;数据查询语言例

统计计算机学院每一位教师本学期的教学工作量(指学时数),要求显示教师编号和学时数,并按学时数的降序排列。SELECT教师.教师编号,SUM(课程.学时数)AS学时数

FROM教师INNERJOIN课堂ON教师.教师编号=课堂.教师编号

INNERJOIN课程ON课堂.课程编号=课程.课程编号

innerjoin学院on教师.学院编号=学院.学院编号

WHERE课堂.开课年份='2017-2018'AND课堂.开课学期='一'and学院名称='计算机学院'GROUPBY教师.教师编号

ORDERBY学时数DESC数据查询语言外联接外联接的联接条件是用“=”实现的外联接结果集中除了有满足条件的元组还有不满足条件的元组。数据查询语言外联接分为:左(外)联接、右(外)联接、全联接联接规范为:From表1left/right/fullouterjoin表2on联接条件数据查询语言交叉联接即没有条件的联接。其结果集为笛卡尔全集。联接规范为:From表1crossjoin表2数据查询语言结果集的归并处理使用谓词运算符(Union(集合并)、Except(集合差)、Intersect(集合交))可以将多个结果处理成成一个结果集。数据查询语言语法:<SELECT_Statement>{UNION[ALL]|EXCEPT|INTERSECT}<SELECT_statement>位置:INTO的位置:只能放在第一个select语句中ORDERBY子句的位置:只能放在最后一个select语句中数据查询语言UNION:并运算例

从[学生]表中提取湖北省和其他省的人数。SELECT'湖北'AS省份,count(*)AS人数FROM学生

WHERE籍贯

LIKE'湖北%'UNIONSELECT'其他'AS省份,count(*)AS人数FROM学生WHERE籍贯

NOTLIKE'湖北%';数据查询语言INTERSECT:交运算

查询土木工程、工程力学两个专业的学生在2017-2018学年均选修过的必修课程,要求显示课程编号、课程名称,并按课程编号的升序排列,并将查询结果保存到临时表Temp3中。

数据查询语言SELECTdistinct课程.课程编号,课程.课程名称

INTOTemp3FROM课程INNERJOIN

课堂ON课程.课程编号=课堂.课程编号

WHERE课堂.开课年份='2017-2018'AND课程.课程性质='必修'AND课堂.班级列表LIKE'%土木工程%'数据查询语言INTERSECTSELECTdistinct课程.课程编号,课程.课程名称

FROM课程INNERJOIN

课堂ON课程.课程编号=课堂.课程编号

WHERE课堂.开课年份='2017-2018'AND课程.课程性质='必修'AND课堂.班级列表LIKE'%工程力学%'ORDERBY课程.课程编号;数据查询语言子查询子查询也可称为嵌套查询,SQLServer允许在查询中再嵌套查询。最外面的查询为父查询,里面的查询为子查询,父查询是要做的主要工作,子查询是为父查询提供条件或数据源等工作的。嵌套查询一般的查询方法是由里向外进行处理,即每个子查询在上一级查询处理之前处理,子查询中所存取的表可以是父查询没有存取的表,子查询选出的记录不显示。数据查询语言[例]查询自“数据库技术与应用”课程开设以来获得最高分的人数有多少。SELECTCOUNT(*)AS人数FROM选课成绩

INNERJOIN

课堂

ON选课成绩.课堂编号

=课堂.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论