• 联表查询


    联表查询的关键字为 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)就是把两个表都作为保留表。

    总结以上

      

  • 相关阅读:
    POJ3764 The xorlongest Path
    POJ1733 Parity game
    POJ3301 Texas Trip
    POJ2135 Farm Tour
    POJ2516 Minimum Cost
    Mem478
    PROJECTEULER48
    POJ1201 Intervals
    CSS 伪元素 (Pseudoelements)
    JQuery显示隐藏层
  • 原文地址:https://www.cnblogs.com/smallzhen/p/12104941.html
Copyright © 2020-2023  润新知