mysql数据库语句左连接_MySQL 左连接 右连接 详解

mysql数据库语句左连接_MySQL 左连接 右连接 详解表A记录如下:aIDaNum1a200501112a200501123a200501134a200501145a20050115表B记录如下:bIDbName12006032401220060324023…

大家好,又见面了,我是你们的朋友全栈君。

表A记录如下:

aID        aNum

1           a20050111

2           a20050112

3           a20050113

4           a20050114

5           a20050115

表B记录如下:

bID        bName

1            2006032401

2           2006032402

3           2006032403

4           2006032404

8           2006032408

实验如下:

1.    left join

sql语句如下:

SELECT * FROM A

LEFT JOIN B

ON A.aID = B.bID

结果如下:

aID        aNum                   bID           bName

1            a20050111         1               2006032401

2            a20050112         2              2006032402

3            a20050113         3              2006032403

4            a20050114         4              2006032404

5            a20050115         NULL       NULL

(所影响的行数为 5 行)

结果说明:

left join是以A表的记录为基础的,A可以看成左表,B可以看成右表,left join是以左表为准的.

换句话说,左表(A)的记录将会全部表示出来,而右表(B)只会显示符合搜索条件的记录(例子中为: A.aID = B.bID).

B表记录不足的地方均为NULL.

2.    right join

sql语句如下:

SELECT * FROM A

RIGHT JOIN B

ON A.aID = B.bID

结果如下:

aID        aNum                   bID           bName

1            a20050111         1               2006032401

2            a20050112         2              2006032402

3            a20050113         3              2006032403

4            a20050114         4              2006032404

NULL    NULL                8              2006032408

(所影响的行数为 5 行)

结果说明:

仔细观察一下,就会发现,和left join的结果刚好相反,这次是以右表(B)为基础的,A表不足的地方用NULL填充.

3.inner join

sql语句如下:

SELECT * FROM A

INNERJOIN B

ON A.aID = B.bID

结果如下:

aID        aNum                   bID           bName

1            a20050111         1               2006032401

2            a20050112         2              2006032402

3            a20050113         3              2006032403

4            a20050114         4              2006032404

结果说明:

很明显,这里只显示出了 A.aID = B.bID的记录.这说明inner join并不以谁为基础,它只显示符合条件的记录.

-----------------[以下为网上的一点资料]------------------

LEFT JOIN操作用于在任何的 FROM 子句中,组合来源表的记录。使用 LEFT JOIN 运算来创建一个左边外部联接。左边外部联接将包含了从第一个(左边)开始的两个表中的全部记录,即使在第二个(右边)表中并没有相符值的记录。

语法:

FROM table1 LEFT JOIN table2 ON table1.field1 compopr table2.field2

说明:

① table1, table2参数用于指定要将记录组合的表的名称。

② field1, field2参数指定被联接的字段的名称。且这些字段必须有相同的数据类型及包含相同类型的数据,但它们不需要有相同的名称。

③ compopr参数指定关系比较运算符:”=”, “”, “<=”, “>=” 或 “<>”。

④ 如果在INNER JOIN操作中要联接包含Memo 数据类型或 OLE Object 数据类型数据的字段,将会发生错误。0b1331709591d260c1c78e86d0c51c18.png

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/133279.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • D3旭日图_日新图

    D3旭日图_日新图本文将介绍D3旭日图的画法下面我们先来看看结果展示html代码<!DOCTYPEhtml><html><head><metacharset=”utf-8″><title>Sequencessunburst</title><scriptsrc=”js/d3.min.js…

    2022年9月26日
    2
  • 自动化测试之流量回放技术「建议收藏」

    自动化测试之流量回放技术「建议收藏」流量回放近几年一直是大家热衷讨论的话题,具体的效果智者见智。文章作者也是在技术工程领域有丰富的实践经验,推荐一看。本篇背景是另外一同事朋友,最近在利用流量回放技术应用在服务端接口自动化测试方面,还在各部门全力推进阶段,未来效果暂且不好说,但这部分内容确实各大公司,测试技术大会等等的热词,由于我没参与但我很感兴趣,所以邀请普及一篇,后边应该还会带来实战篇,本公众号坚持原创和干货分享,欢迎长期关注,一同成长,如果你有好的实战分享也欢迎投稿。前言在日常的测试工作中我们或多或少总会遇到下列问题:1)服..

    2022年7月15日
    15
  • datagrip激活码2021(JetBrains全家桶)

    (datagrip激活码2021)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html0E14HXZ4QL-eyJsa…

    2022年3月28日
    209
  • 使用systemctl命令启动和关闭mysql

    使用systemctl命令启动和关闭mysql以前都用service命令管理mysql,现在liunx系统升级了,又有了新的更好的方法管理系统进程,现在我们来学习如何用systemctl命令管理mysql。Systemctl是一个systemd工具,主要负责控制systemd系统和服务管理器。Systemd是一个系统管理守护进程、工具和库的集合,用于取代SystemV初始进程。Systemd的功能是用于集中管理和配置类UNIX系统。在

    2025年7月3日
    2
  • nchar,char,varchar与nvarchar区别「建议收藏」

    nchar,char,varchar与nvarchar区别「建议收藏」nchar,char,varchar与nvarchar区别

    2022年4月24日
    80
  • 从零开始学 iOS 开发的15条建议「建议收藏」

    从零开始学 iOS 开发的15条建议「建议收藏」作者:清醒疯子利炳根授权本站转载。事情困难是事实,再困难的事还是要每天努力去做是更大的事实。因为我是一路自学过来的,并且公认没什么天赋的前提下,进步得不算太慢,所以有很多打算从零开始的朋友会问我,该怎么学iOS开发。跟粉丝群的朋友交流了一下,决定把之前的《18条建议》修改一下,这里统一回答一次。分三部分:第一部分:态度和电脑1、不要关注别人的学习经历,不要关注别人加薪经历

    2022年5月30日
    34

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号