mysql表连接

INNER JOIN内连接

1.介绍 

  INNER JOIN子句将一个表中的行与其他表中的行进行匹配,并允许从两个表中查询包含列的行记录。

  INNER JOIN子句是SELECT语句的可选部分,它出现在FROM子句之后。  

  在使用INNER JOIN子句之前,必须指定以下条件:

  • 首先,在FROM子句中指定主表。
  • 其次,表中要连接的主表应该出现在INNER JOIN子句中。理论上说,可以连接多个其他表。 但是,为了获得更好的性能,应该限制要连接的表的数量(最好不要超过三个表)。
  • 第三,连接条件或连接谓词。连接条件出现在INNER JOIN子句的ON关键字之后。连接条件是将主表中的行与其他表中的行进行匹配的规则。

   使用语法:

  

例子:

例子:   


 1) 内连接   

  2)左连接   

 3) 右连接   


无限级分类表设计:

表内容:


想象有两张一模一样的表,将左边的表为父表,右边为子表,查找子表中商品的上一级类型


将左边的表作为子表,右边表作为父表,查找父表下商品的子类商品


1.一旦我们动用连接(join)这个操作,其实就在虚空之中生成了一张连接而成的大表,而select只是从这个表里提取数据。所以,select不会影响虚空之中的那张连接大表的结构。因此最终结果的不同只可能是父表与子表的左右造成
2.父 left join 子 = 子 right join 父,因为这都意味着父表是主体;同理反过来就是子表是主体
3.父为主体,则连接的方式为展开。因为一个父可能对应多个子。就好像下拉菜单一样,所以最后表变成了个长表
4.子为主体,则连接的方式为溯回,因为一个子只有一个父,因此表长度不会有变化

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值