zoukankan      html  css  js  c++  java
  • mysql多表连接的几种写法

    在数据库进行多张表的查询,必定会用到多表关联,只要是多表关联,就会产生笛卡儿积(什么是笛卡儿积:最简单的解释,就是你要关联的每张表总记录的乘积),所以一定要写关联条件。关联条件就是在所产生的笛卡儿积之间筛选数据。

    多表连接主要分为:inner join与outer join

    实验:

     table_a            table_b
    id   value           id     value
    1      va1          1      vb1
    2      va2          3      vb3
    4      va4          4      vb4

    inner join(也可直接用,号替代,后加where关联条件),用on来关联条件。只查询满足关联条件的数据,结果集小于等于两表之间记录行数的最小值

    1 select * from table_a t,table_b t1 where t.id=t1.id;
    2 
    3 select * from table_a t inner join table_b t1 on t.id=t1.id;

      id  value  id  value
      1   va1   1    vb1
      4   va4   4    vb4

    outer join

      left (outer) join:已左边表的记录为基准,右边表中找不到则补null。结果集等于左表记录的行数

    1 select * from table_a t left join table_b t1 on t.id=t1.id;

      id  value  id  value
      1   va1   1    vb1
      2   va2   null  null
      4   va4   4    vb4

      right (outer) join:已右边表的记录为基准,左边表中找不到则补null。结果集等于右表记录的行数

    1 select * from table_a t right join table_b t1 on t.id=t1.id;

      id  value  id  value
      1   va1   1    vb1
    null null   3   vb3
      4   va4   4    vb4

    
    
  • 相关阅读:
    解决小程序sessionid不一致
    小程序实现写入缓存与读取缓存
    小程序登录时如何获取input框中的内容
    js实现截取字符串后几位
    js用正则判断身份证号码
    sublime Text3安装及配置与解决安装插件失败
    jQuery实现全选与全部选
    jQuery实现enter键登录
    常用正则表达式的判断与写法
    js实现正则判断手机号
  • 原文地址:https://www.cnblogs.com/July74/p/5336128.html
Copyright © 2011-2022 走看看