4.4 连接查询 课件(共17张PPT)《 数据库技术及应用(SQL Server 2019)》同步教学(机械工业出版社)

资源下载
  1. 二一教育资源

4.4 连接查询 课件(共17张PPT)《 数据库技术及应用(SQL Server 2019)》同步教学(机械工业出版社)

资源简介

(共17张PPT)
4.4 连接查询
提纲
使用谓词实施连接查询
内连接查询
外连接查询
自连接查询
提纲
2021年,一条连接中国与老挝的高铁正式开通了,加强了两国的合作交流,形成“命运共同体”,促进“一带一路”的建设。
任务描述
1.使用谓词实施连接查询
查询选修了课程名为”数据库技术与应用”的学生学号、姓名和成绩。
2.内连接查询
查询数据库中有选课记录的学生的学号、姓名和专业。
3.外连接查询
左外连接:查询数据库中每个学生的选课情况,包括没有选课的学生信息,显示学生学号,姓名和课程编号。
右外连接:查询数据库中所有选过课的学生的选课情况,显示学生学号,姓名和课程编号。
4.自连接查询
查询专业不同,但已修学分相同的学生姓名,专业和已修学分数,按照学分降序。
任务描述
连接查询:连接查询主要应用于多表进行查询,通过各个表中相同属性列的相关性进行数据查询。
谓词连接:在SELECT语句的WHERE子句中使用比较运算符给出连接条件对多张表进行连接,这种表示形式称为连接谓词表示形式。
JOIN连接:JOIN连接又分为内连接(INNER JOIN)、外连接(OUTER JOIN)和交叉连接(CROSS JOIN),其中外连接又分为左外连接、右外连接和完全外连接。
任务准备
连接谓词表示形式基本格式如下:
SELECT <输出列表>
FROM <表1>,<表2>
[WHERE <表1>.<列名> <连接操作符> <表2>.<列名>]
其中:连接操作符主要为:=、>、<、>=、<=、!=、<>、!>、!<
任务准备
JOIN连接
join_type有:
1) inner join(内连接)
2) left outer join(左外连接)、 right outer join(右外连接)、
full outer join(完全外连接)
SELECT <输出列表>
FROM table_source join_type table_source ON search_condition
任务准备
内连接。内连接按照ON所指定的连接条件合并两个表,返回满足条件的行。
外连接。外连接的结果集不但包含满足连接条件的行,还包括相应表中的所有行。
左外连接。结果集中除了包括满足连接条件的行外,还包括左表的所有行。
右外连接。结果集中除了包括满足连接条件的行外,还包括右表的所有行。
完全外连接。结果集中除了包括满足连接条件的行外,还包括两个表的所有行。
任务准备
1. 查询选修了课程名为“数据库技术与应用”的学生学号、姓名和成绩。
任务演示
SELECT Student.SID ,SName,Study.Score
FROM Student,Study,Course
WHERE Student.SID=Study.SID AND Course.CID=Study.CID AND CName='数据库技术与应用'
提示:在进行多表查询时,若连接的表中有相同列,则在引用时必须在其前面加上表名前缀,若查询的列在各表中是唯一的,则可以不加表名前缀。
2. 查询数据库中有选课记录的学生的学号、姓名和专业。
任务演示
SELECT distinct Student.SID,SName,SMajor
FROM Student INNER JOIN Study
ON Student.SID=Study.SID
INNER JOIN:表示为内连接。
ON:给出连接条件。
3. 查询数据库中每个学生的选课情况,包括没有选课的学生信息
(左外连接)
任务演示
SELECT Student.SID,SName,CID
FROM Student LEFT JOIN Study
ON Student.SID=Study.SID
LEFT JOIN:表示左外连接。
外连接可以省略OUTER关键字。
思考:图中出现的NULL表示什么含义?
4. 查询数据库中所有选过课的学生的选课情况(右外连接)
任务演示
SELECT Student.SID,SName,CID
FROM Student RIGHT JOIN Study
ON Student.SID=Study.SID
RIGHT JOIN:表示右外连接
外连接可以省略OUTER关键字。
5. 查询数据库中所有选过课的学生的选课情况(右外连接)
任务演示
SELECT Student.SID,SName,CID
FROM Student RIGHT JOIN Study
ON Student.SID=Study.SID
RIGHT JOIN:表示右外连接
外连接可以省略OUTER关键字。
6. 查询专业不同,但已修学分相同的学生姓名,专业和已修学分数,按照学分降序(自然连接)
任务演示
SELECT S1.SName,S1.SMajor,S1.SRcredit
FROM Student AS S1 JOIN Student AS S2
ON S1.SMajor!=S2.SMajor AND S1.SRcredit=S2.SRcredit
ORDER BY S1.SRcredit DESC
在自连接中,必须为表指定两个别名,使之在逻辑上成为两个表。
任务训练
1)按照任务实施过程的要求完成各子任务。
2)查询每本书的借阅信息,包括图书号、图书名、读者号、姓名、借阅日期。
3)查询有借阅记录的读者号、姓名和部门。
4)查询每个读者的借阅情况,包括没有借阅过图书的读者信息。
5)查询图书名称一样,但编著者不同的图书名。
6)查询专任教师的借阅情况,包括读者号、姓名、图书号和图书名。
THANKS
感谢观看

展开更多......

收起↑

资源预览