美文网首页程序员
MySQL连接查询:交叉连接、内连接

MySQL连接查询:交叉连接、内连接

作者: kangyiii | 来源:发表于2017-02-18 09:25 被阅读0次

    连接查询

    所谓连接查询就是指两个或两个以上的表连接成为一个表进行查询。实际上,两个表的完全连接是指:A表的每一行和B表每一行,两两"横向对接"后所得到的一个表。连接之后并非形成来一个新的表,只是一种内存形态。

    连接表示意图
    连接语法的基本形式
    from 表1[链接方式] join 表2 [on 连接条件];
    

    连接的结果可以当做一个"表"来使用。常用的有交叉链接、内连接、左连接、右链接,今天先介绍交叉连接与内连接。

    操作示意图
    交叉链接

    实际上,交叉链接就是将两个表不设定任何条件的连接结果。交叉链接通常也被叫做"笛卡尔积",数学上较常用。上图就是一个简单的交叉链接

    from 表1 [cross] join 表2;//去掉on就是交叉链接了,cross不仅可以省略,还可以用inner这个词替代
    
    内连接

    内连接的作用是过滤交叉连接的结果表中的表1的字段1值等于表2的字段2值的那些行。

    from 表1 [inner] join 表2 on 表1.字段名1=表2.字段名2;
    

    由于交叉连接中表1和表2和成的"新表"中可能会产生一些无意义的数据,故引入内连接,如下图。


    交叉链接的局限性

    通过内连接查询筛除无用数据,结果如下图

    //查询示例
    select * from product as t1 join product_type as t2 on t1 protype_id = t2.protype_id 
    
    筛除后的表

    相关文章

      网友评论

        本文标题:MySQL连接查询:交叉连接、内连接

        本文链接:https://www.haomeiwen.com/subject/czplwttx.html