zoukankan      html  css  js  c++  java
  • 图解 5 种 Join 连接及实战案例!(inner/ left/ right/ full/ cross)

    Join 连接在日常开发用得比较多,但大家都搞清楚了它们的使用区别吗??一文带你上车~~

    内连接 inner join

    内连接是基于连接谓词将俩张表(如A和B)的列组合到一起产生新的结果表,在表中存在至少一个匹配时,INNER JOIN 关键字返回行。 
    image

    下面是一个简单的使用案例 
    image

    以下是运行代码及结果 
    image

    左外连接 left join

    左外连接Left join关键字会从左表那里返回所有的行,即使是在右表中没有匹配到的行 
    image

    下面是一个简单的案例 
    image

    下面是测试用例 
    image

    右外连接 right join

    右外连接关键字Right join会从右表那里返回所有的行,即使是在左表中没有匹配到的行 
    image

    下面是一个简单的案例 
    image

    下面是运行及其结果 
    image

    全连接 full join

    全连接的关键字Full join,只要其中某个表中存在匹配,Full join 就会返回行 
    image

    下面是一个简单的案例 
    image

    以下是运行及结果 
    image

    注意一点 mysql中是不支持Full join 的但是orcal等数据库是支持的。 
    如果在mysql要使用Full join就会报以下错误 
    image

    解决办法:同时使用左连接和右连接 

    以下是一个简单的例子image

    交叉连接 cross join

    交叉连接一般使用的比较少,交叉连接又称笛卡尔连接或者叉乘连接,如果,A和B是俩个集合,他们的交叉连接就是A*B 

    以下是一个简单的案例 
    image

    扫描关注我们的微信公众号,干货每天更新。

    image

  • 相关阅读:
    ffmpeg 简单使用总结
    使用 Solr 构建企业级搜索服务器
    Linux 常用命令整理
    基于.net standard 的动态编译实现
    基于.net core 微服务的另类实现
    Java中线程总结
    关于EF中直接执行sql语句的参数化问题
    一个关于单据审核的流程演变
    java中匿名内部类总结
    Eclipse 中打开选中文件/文件夹所在目录
  • 原文地址:https://www.cnblogs.com/java-stack/p/11952477.html
Copyright © 2011-2022 走看看