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

    
    
  • 相关阅读:
    JAVA_基础集合List接口与Set接口(二)
    JAVA_基础集合Collection接口与Iterator迭代器(一)
    JAVA_基础注解的概念
    JAVA_基础多线程的生命周期、线程安全、线程锁、线程通信与创建线程(二)
    JAVA_基础多线程(一)
    JAVA_基础异常概述与异常体系的结构
    JAVA_基础内部类
    JAVA_基础面向对象:接口
    Golang 学习资源
    go语言-异常处理机制-panic和recover的使用和原理
  • 原文地址:https://www.cnblogs.com/July74/p/5336128.html
Copyright © 2011-2022 走看看