zoukankan      html  css  js  c++  java
  • Left/right join 和inner join 区别

    举个例子:
    假设a表和b表的数据是这样的。
    a b
    id name  id stock 
    1  a 1 15
    2 b 2 50
    3 c  

    select * from a inner join b on a.id=b.id
    这个语法是连接查询中的内连接,它产生的结果是
    两个表相匹配的记录出现在结果列表中。
    根据上面的表,出现的结果是这样的
    a.id name b.id stock
    1   a 1 15
    2 b 2 50
    ----------------------------
    select * from a,b where a.id=b.id
    这个语法是内连接的另外一种写法,其执行结果与inner join 一样

    --------------------------------

    select * from a left/right join b on a.id=b.id
    这个是外连接语法中的左外连接或右外连接
    如果是左外连接的话,它将显示a表的所有记录,
    select a.*,b.* from a left join b on a.id=b.id
    查询的结果是这样的:
    a.id name b.id stock
    1   a 1 15
    2 b 2 50
    3 c null null 
    --------------------------------------------
    如果是右外连接的话,它将显示b表的所有记录,
    select a.*,b.* from a right join b on a.id=b.id
    查询的结果是这样的:
    a.id name b.id stock
    1   a 1 15
    2 b 2 50
    版权声明:本文原创发表于 博客园,作者为 路过秋天 本文欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则视为侵权。
    个人微信公众号
    创业QQ群:617713515
    Donation(扫码支持作者):支付宝:
    Donation(扫码支持作者):微信:
  • 相关阅读:
    mysql-proxy使用中的问题
    iOS中利用CoreTelephony获取用户当前网络状态(判断2G,3G,4G)
    Django连接MySQL出错
    前后端分离
    django 安装指定版本
    问题
    算法面试
    记录docker for windows 时候的错误
    Django项目部署
    git 上传至github
  • 原文地址:https://www.cnblogs.com/cyq1162/p/869563.html
Copyright © 2011-2022 走看看