学习笔记--《MySQL必知必会》--第十六章

第十六章 创建高级联结

  • 使用表别名

  • 使用不同类型的联结(等值联结(equijoin)之外的)

    • 自联结

      自联结通常作为外部语句用来替代从相同表中检索数据时使用的子查询语句。虽然最终的结果是相同的,但有时候处理联结远比处理子查询快得多。

    • 自然联结:自然联结排除多次出现,使每个列只返回一次。

    • 外部联结:联结包含了那些在相关表中没有关联行的行。这种类型的联结称为外部联结。

  • 外部联结的类型:存在两种基本的外部联结形式:左外部联结和右外部联结。它们之间的唯一差别是所关联的表的顺序不同。换句话说,左外部联结可通过颠倒FROM或WHERE子句中表的顺序转换为右外部联结。因此,两种类型的外部联结可互换使用,而究竟使用哪一种纯粹是根据方便而定。

  • 没有=操作符*:MySQL不支持简化字符*=和=*的使用,这两种操作符在其他DBMS中是很流行的。

  • 使用带聚集函数的联结

  • 使用联结和联结条件:

    • 注意所使用的联结类型。一般我们使用内部联结,但使用外部联结也是有效的。
    • 保证使用正确的联结条件,否则将返回不正确的数据。
    • 应该总是提供联结条件,否则会得出笛卡儿积。
    • 在一个联结中可以包含多个表,甚至对于每个联结可以采用不同的联结类型。虽然这样做是合法的,一般也很有用,但应该在一起测试它们前,分别测试每个联结。这将使故障排除更为简单。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值