最新7-1-第4章-数据库的查询-连接查询教学讲义ppt课件.ppt

最新7-1-第4章-数据库的查询-连接查询教学讲义ppt课件.ppt

ID:62063751

大小:569.50 KB

页数:37页

时间:2021-04-14

最新7-1-第4章-数据库的查询-连接查询教学讲义ppt课件.ppt_第1页
最新7-1-第4章-数据库的查询-连接查询教学讲义ppt课件.ppt_第2页
最新7-1-第4章-数据库的查询-连接查询教学讲义ppt课件.ppt_第3页
最新7-1-第4章-数据库的查询-连接查询教学讲义ppt课件.ppt_第4页
最新7-1-第4章-数据库的查询-连接查询教学讲义ppt课件.ppt_第5页
资源描述:

《最新7-1-第4章-数据库的查询-连接查询教学讲义ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、7-1-第4章-数据库的查询-连接查询一个完整的SQL语句的结构:所有被使用的子句必须按语法说明中显示的顺序严格地排序。SELECT字段或分组函数FROM表名或者视图名[WHERE筛选条件][GROUPBY分组列][HAVING分组筛选条件][ORDERBY列][LIMIT];SELECT语句4.4多表查询SELECT的查询对象由FROM子句指定,其格式为:FROMtable_reference[,table_reference]…其中,table_reference:tbl_name[[AS]tbl_name

2、_alias][{USE

3、IGNORE

4、FORCE}INDEX(key_list)]/*查询表*/

5、join_table/*连接表*/说明:table_reference指出了要查询的表或视图。●tbl_name为要查询的表名,与列别名一样,可以使用AS选项为表指定别名,tbl_name_alias为表指定的别名。表别名主要用在相关子查询及连接查询中。如果FROM子句指定了表别名,这条SELECT语句中的其他子句都必须使用表别名来代替原始的表名。当同一个表在SELECT语句中多次被提到的时候,就必须要使用表别名

6、来加以区分。●{USE

7、IGNORE

8、FORCE}INDEX:USEINDEX告知MySQL选择一个索引来查找表中的行,IGNOREINDEX告知MySQL不要使用某些特定的索引,FORCEINDEX的作用接近USEINDEX(key_list),只有当无法使用一个给定的索引来查找表中的行时,才使用表扫描。4.4多表查询2.使用JOIN关键字的连接主要分为三种:(1)内连接指定了INNERJOIN关键字,使用ON子句设定连接条件的连接是内连接。该语句根据ON关键字后面的连接条件,合并两个表,返回满足条件的行。内

9、连接是系统默认的,可以省略INNER关键字。使用内连接后,FROM子句中ON条件主要用来连接表,其他并不属于连接表的条件可以使用WHERE子句来指定。4.4多表查询【例2】查找学生姓名及成绩。SELECTXS.姓名,XS_KC.成绩FROMXSJOINXS_KCONXS.学号=XS_KC.学号;4.4多表查询【练习1】查找王燕的成绩。(用记事本写)4.4多表查询【练习2】查找王燕的平均成绩。4.4多表查询【练习3】查找每个学生的平均成绩,显示姓名和成绩。并按平均成绩由高到低排列4.4多表查询内连接还可以用于多个

10、表的连接。【例3】查找学生的学号、姓名、课程名及成绩。SELECTXS.学号,XS.姓名,KC.课程名,XS_KC.成绩FROMXSJOINXS_KCONXS.学号=XS_KC.学号JOINKCONXS_KC.课程号=KC.课程号;4.4多表查询【练习4】查找选修了“计算机基础”课程且成绩在80分以上的学生学号、姓名、课程名及成绩。4.4多表查询作为特例,可以将一个表与它自身进行连接,称为自连接。若要在一个表中查找具有相同列值的行,则可以使用自连接。使用自连接时需为表指定两个别名,且对所有列的引用均要用别名限定

11、。【例4】查找XSCJ数据库中不同的课程上考了相同成绩的学生。显示其学号、课程号和成绩。执行结果为:SELECTa.学号,a.课程号,b.课程号,a.成绩FROMXS_KCASaJOINXS_KCASbONa.学号=b.学号wherea.成绩=b.成绩ANDa.课程号!=b.课程号;4.4FROM子句(2)外连接指定了OUTERJOIN关键字的连接为外连接。外连接包括:●左外连接(LEFTOUTERJOIN):结果表中除了匹配行外,还包括左表有的但右表中不匹配的行,对于这样的行,从右表被选择的列设置为NULL。

12、●右外连接(RIGHTOUTERJOIN):结果表中除了匹配行外,还包括右表有的但左表中不匹配的行,对于这样的行,从左表被选择的列设置为NULL。●自然连接(NATURALJOIN):自然连接还有自然左外连接(NATURALLEFTOUTERJOIN)和自然右外连接(NATURALRIGHTOUTERJOIN)。NATURALJOIN的语义定义与使用了ON条件的INNERJOIN相同。其中的OUTER关键字均可省略。4.4多表查询【例5】查找所有学生情况及他们选修的课程号,若学生未选修任何课,也要包括其情况。说

13、明:若本例不使用LEFTOUTERJOIN,则结果中不会包含未选任何课程的学生信息。使用了左外连接后,本例结果中返回的行中有未选任何课程的学生信息,相应行的课程号字段值为NULL。SELECTXS.姓名,XS_KC.课程号FROMXSLEFTOUTERJOINXS_KCONXS.学号=XS_KC.学号;4.4多表查询【练习5】查找所有课程的课程名及其被选修的情况4.4多表查询【例6】查

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。