【MySQL必知必会】第16章 创建高级联结(学习笔记)

使用表别名

  1. customers as c建立c作为customers的别名,这使得能使用省写的c而不是全名customers
  2. 表别名只在查询执行中使用,与列别名不一样,表别名不但会到客户机

使用不同类型的联结

  1. 自联结通常作为外部语句用来替代从相同表中检索数据时使用的子查询语句。虽然最终的结果是相同的 但有时候处理联结远比处理子查询快得多
  2. select p1.prod_id,p1.prod_name from products as p1,products as p2 where p1.vend_id = p2.vend_id and p2.prod_id = 'dintr';
  3. products的第一次出现为别名p1,第二次出现为p2
  4. 自然联结,我们建立的每个内部联结基本都是自然联结
  5. 外部联结,联结包含了那些在相关表中没有关联行的行
  6. outer join关键字,包括没有关联行的行,必须使用right或left关键字指定包括其所有行的表(right指出的是outer join右边的表,left反之)
  7. 使用带聚集函数的联结,聚集函数用来汇总数据,count()函数

使用联结和联结条件

  1. 注意所使用的联结类型,一般使用内部联结
  2. 保证使用正确的联结条件
  3. 应该总能提供联结条件,否则会得出笛卡儿积
  4. 在一个联结中可以包含多个表,甚至对于每个联结可以采用不用的联结类型
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值