zoukankan      html  css  js  c++  java
  • 联表查询

    联表查询的关键字为 join...on...,常见的join类型为以下几种

    inner join 

      从多个表中返回满足join条件的所有行。如果表中有至少一个匹配,则返回行。

      语法:select column_names from t1 inner join t2 on t1.column_name = t2.column_name;

    left join

      即使右表中没有匹配,也从左表返回所有的行。

    right join

      即使左表中没有匹配,也从右表返回所有的行。

    full join 

      只要其中一个表存在匹配,则返回行。

    联表查询在数据库中如何执行呢?

    1、执行笛卡尔积(交叉联接)

      当我们在进行SQL联表时,实际上时在数据库中生成了一张笛卡尔积的虚表T1,T1里面的数量正是关联的两张表数量的乘积条。

    2、执行过滤筛选

      当join将两个表生成笛卡尔积的虚表T1后,随后的ON开始执行筛选功能,ON后面的条件就是指符合条件的返回结果true,否则false,及未知unknown(null,null代表缺失值,当把一个缺失值跟其他任意值比较,结果始终为unknown)。

    3、添加外部行

      这一步只在外连接(out join)中才会发生,对于外联接,通过为其指定一种联接方式(left、right、full),就把一个或两个输入表标记为保留表,即希望返回该表的所有行,即使on过滤了一些行。

      左连接(left join)就是把左边的表作为保留表,右连接(right join)就是把右边的表作为保留表,全连接(full join)就是把两个表都作为保留表。

    总结以上

      

  • 相关阅读:
    数据科学家成长指南(下)
    数据科学家成长指南(中)
    数据科学家成长指南(上)
    数据分析的职业规划
    2018的内容写作方向
    乱码 设置编码
    CI 如何获取get请求过来的数据
    ci 打印出常用的变量
    CI $_GET
    获取checkbox 组成字符串
  • 原文地址:https://www.cnblogs.com/smallzhen/p/12104941.html
Copyright © 2011-2022 走看看