【SQL】连接(五):交叉连接

来源:互联网 发布:java流行框架2017 编辑:程序博客网 时间:2024/06/07 02:15

定义

      交叉联接返回左表中的所有行,左表中的每一行与右表中的所有行组合。交叉联接也称作笛卡尔积。


      交叉连接只能通过Where作条件关键字,不能使用On关键字
      不带WHERE条件子句,它将会返回被连接的两个表的笛卡尔积,返回结果的行数等于两个表行数的乘积。

      如果带where,返回或显示的是匹配的行数。where子句,往往会先生成两个表行数乘积的数据表,然后才根据where条件从中选择。

适用

       多对多关系(查询结果为两表记录相组合)

关键字

       CROSS JOIN  :又称笛卡儿积

SQL语句

       

    select * from title  CROSS JOIN publishers
       等价于

    select * from title,publishers 

案例讲解

       上面说到了,查询结果量是两个表数据量相乘得到,那什么条件才会需要这样的数据呢?以图书和出版商来说,图书有多种分类,每种分类每个出版商都可以生产,且出版商有多个,查询图书出版的情况,这就需要图书类别数与出版商数进行组合(相乘)得到结果了。




以上内容,仅供参考!如有咨询或建议,请留言921804412@qq.com

阅读全文
0 0