02.关系型数据库基础.pptVIP

  • 4
  • 0
  • 约3.29千字
  • 约 12页
  • 2018-11-28 发布于天津
  • 举报
02.关系型数据库基础.ppt

wnt 2000(C) copyright 多表查询 在关系数据库中,每一个表格都是经过规范化创建的,即一个实体存储为一张表格,为了取得足够的信息进行全面分析,必须将多个表格按一定的逻辑关系连接起来,以获得一个大的结果集 连接类型: 交叉连接 得到所连接表的所有组合 cross join 条件连接 得到连接表的满足条件的记录组合 join on 外连接(左、右)得到一个表的所有行,及其余表满足连接 条件的行 full | left | right outer join on 自连接 同一个表之间进行连接 多表查询 连接 自身连接(Self joining) 多表查询 例:显示所有学生应选修课程的信息 格式:select 字段列表 from 表名 cross join 表名 例:显示所有学生所选课程的成绩信息 格式: select 字段列表 from 表名 join 表名 on 连接条件 例:显示所有学生的信息(不论是否选课及所选课程的成绩信息 格式:select 字段列表 from 表名 left outer join 表名 on 条件 注:如果连接表的同名字段需要引用,应在字段名前指定表名 多表查询 多表查询 隐藏连接条件 多表查询 例:需要招聘人和招聘公司的名字、电话号码 合并两张表中的数据 Union 以纵向的方式连接两个查询的结果集 格式:select 字段列表 from 表名 union [all] select 字段列表 from 表名 注:all 表示包含所有行(缺省抹去重复行) 两个select 语句中的字段个数及类型应相同 最终结果集的标题由第一个select语句决定 多表查询 例:为了执行2001年5月申请的招聘的侯选人的概况分析,需要把他们的材料拷贝到一个新表中 抽取数据到另一个表中 格式:select 字段列表 into 新表名 from 表名 where 条件 注:新表名必须是不存在的一张表 * * 检索结果集 基于SQL Server的数据库系统 C3 b3 A3 C2 B2 A2 C1 B1 A1 C B A D2 A2 D3 A2 D1 A1 D A A2 A2 A1 A D2 C2 B2 A2 C2 C1 C D3 B2 A2 D1 B1 A1 D B A 表1.A=表2.A SELECT buyer_name, qty FROM buyers CROSS JOIN sales Result buyer_name Adam Barr Adam Barr Adam Barr Adam Barr qty 15 5 37 11 Adam Barr 1003 Sean Chai 15 Sean Chai 5 Sean Chai 37 Sean Chai 11 Sean Chai 1003 Eva Corets 15 Eva Corets 5 ... ... Adam Barr Adam Barr Adam Barr Adam Barr 15 5 37 11 Adam Barr 1003 sales buyer_id prod_id qty 1 1 4 3 2 3 1 5 15 5 37 11 4 2 1003 1 1 4 3 2 3 1 5 15 5 37 11 4 2 1003 1 1 4 3 2 3 1 5 15 5 37 11 4 2 1003 buyers buyer_id 1 2 3 4 buyer_name Adam Barr Sean Chai Eva Corets Mary O’Melia 1 Adam Barr 交叉连接( Cross Joins) 条件连接 SELECT buyer_name, sales.buyer_id, qty FROM buyers JOIN sales ON buyers.buyer_id = sales.buyer_id sales buyer_id prod_id qty 1 1 4 3 2 3 1 5

文档评论(0)

1亿VIP精品文档

相关文档