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

    
    
  • 相关阅读:
    让EditPlus支持SQL高亮提示
    SQL Server 触发器
    asp.net中使用Global.asax文件中添加应用出错代码,写入系统日志文件或数据库
    C#钩子类 几乎捕获键盘鼠标所有事件
    DataGridView一些常用操作
    在C#中实现串口通信的方法
    System.Diagnostics.Process.Start的妙用
    Byte[]、Image、Bitmap 之间的相互转换
    Dos命令打印文件以及Dos打印到USB打印端口
    Winform常用的一些功能收集(持续更新)
  • 原文地址:https://www.cnblogs.com/July74/p/5336128.html
Copyright © 2011-2022 走看看