




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、SQL Server 2000 基础教程,【学习目标】,两个表内联接查询的原理和语法。 两个表自然联接查询和自联接查询的定义。 两个表外联接查询的分类。 两个表左联接查询、右联接查询、全联接查询以及交叉联接查询的原理和语法。,项目八 用多表联接查询管理教学计划,项目八 用多表联接查询管理教学计划,通过3个操作,介绍了内联接查询的语法,以及在什么情况下适于使用内联接查询。 “操作一”讲解了内联接查询的语法,内联接查询的结果是主表和附表中能够满足关联条件的记录。内联接的联接词为inner join。 “操作二”讲解了自然联接的概念,当查询结果是两个表中名称不同的列,可以用自然联接的方式书写查询语句
2、。 “操作三”讲解了什么是自联接查询,以及在什么情况下适于使用自联接查询。当查询需要对同一个表的记录进行比较时,适于采用自联接查询,同一个表在自联接中以不同角色出现。,任务一 两个表的内联接查询,【基础知识】 内联接查询的含义是:两个存在关联关系的表A和B,表A与表B内联接的查询结果为C,结果集C中只能包括表A与表B中满足关联条件(例如,相等)的记录。,操作一“课程表”和“教师表”的内联接查询,【基础知识】 内联接查询语句语法 。,【任务目标】 运用内联接查询,从“课程表”和“教师表”中查询各课程的授课教师信息,包括:“课程名称”、“课时”、“教师编号”和“授课教师姓名” 。,操作一“课程表”
3、和“教师表”的内联接查询,操作一“课程表”和“教师表”的内联接查询,【基础知识】 自然联接是指:在内联接查询的select子句中出现的列名,虽然来自于不同的表,但列名不重复,“表别名.列名”的可以简写为“列名”。 对于自然联接,SQL Server在编译、执行时不会因为不能确定某列的来源而提示错误信息。有兴趣的读者可以试验一下下列查询语句能否执行,并阅读提示信息。,【任务目标】 用自然联接改写“操作一”的“拓展任务”的查询语句,要求从“课程表”、“教师表”和“专业表”中查询“课程名称”、“课时”、“所属专业编号”、“专业名称”和“授课教师名称”。,操作二“课程表”与“教师表”的自然联接,【基础
4、知识】 在自联接查询中,虽然,数据来源是同一个表,但需要作为不同的角色来参与查询,必须为表定义不同角色的别名。 自联接查询需要在where子句中设置条件,用来屏蔽相同记录和重复记录。如何设置屏蔽条件,将在以下示例中介绍。,【任务目标】 显示“课程表”中授课教师相同的“课程编号”、“课程名称”、“教师编号”,与其授课教师相同的其他“课程编号”、“课程名称”和“教师编号”。,操作三对“课程表”的自联接,通过4个操作,介绍外联接查询的种类、语法,以及在什么情况下使用哪种外联接查询。外联接查询可以分为4类:左联接查询、右联接查询、全联接查询和交叉联接查询。 “操作一”讲解左联接查询的含义和联接词lef
5、t join的语法。左联接查询的结果可以来自于主表的全部记录,以及附表中与主表能够满足关联条件的记录,不能满足关联条件的列值为空值。,任务二 两个表的外联接查询,2. “操作二”讲解右联接查询的含义和联接词right join的语法。右联接查询的结果可以来自于附表的全部记录,以及主表中与附表能够满足关联条件的记录,不能满足关联条件的列值为空值。 3. “操作三”讲解全联接查询的含义和联接词full join的语法。全联接的结果可以是主表的全部记录和附表的全部记录,不能满足关联条件的列值为空值。 4. “操作四”讲解交叉联接查询的含义和联接词cross join的语法。交叉联接的结果是主表中的每
6、一条记录对应于附表中的全部记录。在交叉联接的结果中,记录数是主表记录数与附表记录数的乘积。,任务二 两个表的外联接查询,【基础知识】 左联接查询的含义是:两个存在关联关系的表A和B,表A与表B左联接的查询结果为C。C的列可以来自于A和B的列,C的记录中允许包括A的全部记录以及B中与A满足关联条件的记录,C中A与B不满足关联条件的列值为空值。,操作一“教师表”与“课程表”的左联接查询,【基础知识】 左联接查询语句语法,【任务目标】 从“教师表”和“课程表”中查询教师的授课课程的“课程名称”,对于无授课安排的,显示“无授课安排”。,操作一“教师表”与“课程表”的左联接查询,操作一“教师表”与“课程
7、表”的左联接查询,【基础知识】 右联接的含义是:两个存在关联关系的表A和B,表A与表B右联接的查询结果为C。C的列可以来自于A和B的列,C的记录中可以包括B的全部记录以及表A中与B满足关联条件的记录,C中B与A不能够满足关联条件部分为空值 。,操作二“教师表”与“课程表”的右联接查询,【基础知识】 右联接查询语句语法,【任务目标】 对“教师表”和“课程表”作右联接查询,要求显示各课程的授课教师“姓名”,对于无授课安排的课程,显示“无授课教师” 。,操作二“教师表”与“课程表”的右联接查询,操作二“教师表”与“课程表”的右联接查询,【基础知识】 全联接的含义是:两个存在关联关系的表A和B,表A与
8、表B全联接的查询结果为C。C的列可以来自于A和B的列,C的记录中可以包括A和B的全部记录,C中B与A以及A与B不满足关联条件的部分为空值 。,操作三“教师表”与“课程表”的全联接查询,【基础知识】 全联接查询语句语法,【任务目标】 用全联接查询改写“操作一”和“操作二”的查询语句,要求显示没有授课安排的教师,并显示没安排授课教师的课程 。,操作三“教师表”与“课程表”的全联接查询,操作三“教师表”与“课程表”的全联接查询,【基础知识】 交叉联接的含义是:两个存在关联关系的表A和B,表A与表B交叉联接的查询结果为C。C的列可以来自于A和B的列,C中可以包括A和B的全部记录。C的记录数是A的记录数
9、与B的记录数的乘积,即A的每一条记录对应B的全部记录。 交叉联接就是代数学中的笛卡尔乘积。,操作四用交叉联接生成“学生考勤记录”,【基础知识】 全联接查询语句语法 。,【任务目标】 用“学生表”和“考勤表”交叉联接预先生学生工考勤记录 。,操作四用交叉联接生成“学生考勤记录”,通过两个操作介绍另外两个联接子查询的联接谓词in和exists的含义和语法。 “操作一”讲解in的用法,联接谓词in指定的列值是子查询结果集中的某个结果。 “操作二”讲解exists的用法,联接谓词exists表示子查询的结果集不为空记录时才进行查询或更新操作。,任务三 用子查询检查教学计划,【基础知识】 联接谓词in/not in的含义是:确定指定列的值或表达式的值是否与子查询或列表中的值相匹配/不匹配。语法格式如下: 列名/表达式 in/not in (子查询),【任务目标】 使用not in从“教师表”中查询没有授课安排的教师信息,包括“教师编号”、“教师姓名”、“职务”和“年龄” 。,操作一使用in的子查询,【基础知识】 联接谓词exists/not exists的含义是:根据指定子查询的结果是存在还是不存在,进一步决定是否执行查询操
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 就业协议书掉了登报
- 纪检调查保密协议书
- 农村除草承包协议书
- 熟食购货协议书范本
- 兄妹关系认定协议书
- 农村房屋扩建协议书
- 投资入股协议书简单
- 牛奶购买协议书范本
- 婚姻保证忠诚协议书
- 健身设施管理协议书
- 深基坑开挖支护工程安全监理实施细则
- YY/T 0606.3-2007组织工程医疗产品第3部分:通用分类
- GB/T 21566-2008危险品爆炸品摩擦感度试验方法
- GB/T 17207-2012电子设备用固定电容器第18-1部分:空白详细规范表面安装固体(MnO2)电解质铝固定电容器评定水平EZ
- 国开电大《人员招聘与培训实务》形考任务4国家开放大学试题答案
- 临时用电现场安全检查表
- 猪营养体系课件
- 青少年模拟法庭剧本(敲诈勒索)
- 中考复习确定二次函数的解析式课件
- 万用表校准报告
- 地铁盾构法施工技术试题
评论
0/150
提交评论