MySQL 中的内连接、左外连接和右外连接是用于连接两个或多个表的不同方式,它们之间的区别如下:

  1. 内连接(Inner Join):内连接也称为等值连接,只返回两个表中键值匹配的行,即只有在两个表中都有匹配的数据时才会返回。内连接的语法如下:

    SELECT column_name(s)
    FROM table1
    INNER JOIN table2
    ON table1.column_name = table2.column_name;
    
  2. 左外连接(Left Join):左连接返回左表中所有记录和右表中匹配的记录,如果右表中没有匹配的记录,则返回 NULL 值。左连接的语法如下:

    SELECT column_name(s)
    FROM table1
    LEFT JOIN table2
    ON table1.column_name = table2.column_name;
    
  3. 右外连接(Right Join):右连接返回右表中所有记录和左表中匹配的记录,如果左表中没有匹配的记录,则返回 NULL 值。右连接的语法如下:

    SELECT column_name(s)
    FROM table1
    RIGHT JOIN table2
    ON table1.column_name = table2.column_name;
    

以上三种连接方式都是基于相同的基础,只是返回的结果不同。需要根据实际需求选择不同的连接方式来处理数据。


案例:

假设有两个表A和B:

表A:

id name
1 Alice
2 Bob
3 Carol

表B:

id score
1 90
2 80
4 70

内连接查询A和B表中相同id的数据:

sqlCopy code
SELECT A.id, A.name, B.score
FROM A
INNER JOIN B
ON A.id = B.id;

结果:

id name score
1 Alice 90
2 Bob 80

左连接查询A和B表中所有的数据,如果B表中没有与A表相同的id,则B表的score为NULL

sqlCopy code
SELECT A.id, A.name, B.score
FROM A
LEFT JOIN B
ON A.id = B.id;

结果:

id name score
1 Alice 90
2 Bob 80
3 Carol NULL

右连接和左连接相似,只是将A表和B表调换位置,查询B表和A表的数据。

MySQL内连接、左外连接、右外连接相关推荐

  1. mysql外连接插座_深入理解SQL的四种连接-左外连接、右外连接、内连接、全连接...

    1.内联接(典型的联接运算,使用像 =  或 <> 之类的比较运算符).包括相等联接和自然联接. 内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行.例如,检索 students和 ...

  2. mysql 左外连接原理_深入理解SQL的四种连接-左外连接、右外连接、内连接、全连接...

    1.内联接(典型的联接运算,使用像 =  或 <> 之类的比较运算符).包括相等联接和自然联接. 内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行.例如,检索 students和 ...

  3. 详解SQL的四种连接-左外连接、右外连接、内连接、全连接

    1.内联接(典型的联接运算,使用像 =  或 <> 之类的比较运算符).包括相等联接和自然联接.      内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行.例如,检索 stud ...

  4. 深入理解SQL的四种连接-左外连接、右外连接、内连接、全连接

    1.内联接(典型的联接运算,使用像 =  或 <> 之类的比较运算符).包括相等联接和自然联接.      内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行.例如,检索 stud ...

  5. hive 内连接 左外连接 右外连接 满外连接 左半开连接 交叉连接 多表连接 隐式连接

    目录 hive outline hive 内连接 inner join hive 左外连接 left join hive 右外连接 right join hive 满外连接 full join hiv ...

  6. 内连接,外连接(左外,右外),全连接(交集),交叉连接(笛卡尔积)

    内连接,外连接(左外,右外),全连接(交集),交叉连接(笛卡尔积) 先略两个表 首先左连接:SELECT * FROM test1 a LEFT JOIN test2 b ON a.id = b.id ...

  7. 等值连接、内连接、左连接(左外连接)、右连接(右外连接)、全连接、笛卡尔积

    UserInfo表: WorkInfo表: 1.等值连接:从左表中取出每一条记录,去右表中与所有的记录进行匹配:匹配必须是某个条件在左表中与右表中相同最终才会保留结果,否则不保留. 2.内连接 以上可 ...

  8. 数据库学习之MySQL (十六)—— SQL99 外连接 左外连接 右外连接 全外连接 交叉连接

    文章目录 外连接 之 左外连接 与 右外连接 为啥要用外连接 全外连接 总结 内连接 外连接 交叉连接 外连接 之 左外连接 与 右外连接 我们先来看个之前的 女神男朋友的案例 传送:数据库学习之My ...

  9. SQL的四种连接-左外连接、右外连接、内连接、全连接(转)

    今天在看一个遗留系统的数据表的时候发现平时查找的视图是FULL OUT JOIN的,导致平时的数据记录要进行一些限制性处理,其实也可以设置视图各表为右外连接并在视图上设置各列的排序和筛选条件就可以达到 ...

  10. HIVE 中 内连接 外连接 左外连接 右外连接 全外连接 联合操作

    hive的join操作,只支持等值连接 创建customers和orders表,一对多关系 创建customers表 create table customers(id int,name string ...

最新文章

  1. unity panel如何设置控件位置_Unity 关于GUI与UGUI坐标 的一点问题解惑
  2. 一、静态工厂的第四个优点是返回对象的类可以根据输入参数的不同而不同。...
  3. Sharding Sphere如何配置,把两表连接导致的笛卡尔集的效果去掉
  4. 大数据分析中国冬季重度雾霾的成因(一)
  5. ipad鼠标圆圈变成箭头_【附视频指南】iPad 只能刷剧?来看看我是如何把它武装成生产力工具的!...
  6. 弱类型、强类型、动态类型、静态类型语言的区别
  7. Java学习小程序(4)数列求和
  8. 帧中继(Frame Relay)实验
  9. 104 规约模拟器linux,变电站自动化系统调试装置 Substation automation system debugging device...
  10. Jupyter Lab——如何添加没有出现的kernel
  11. 关于 nektar 连接电脑使用的一些问题说明, nektar Impact GX61/GX49/SE25
  12. KITTI Odometry数据集的GT
  13. 2022年四大流行Android手机自动化测试工具,全在这里了
  14. 开篇:内容提要 (《蓝调口琴指南》名作拙译)
  15. 金融货币学笔记(米什金)第三章 什么是货币 带原书总结
  16. 产品经理的职业生涯规划
  17. MySQL 数据库管理之 --- SQL 语言进阶一
  18. 银行半结构化面试题目汇总
  19. nacos的命名空间
  20. 求圆和直线之间的交点

热门文章

  1. 求解最小机器重量(回溯法/分支限界)
  2. Go是Google的语言,而不是我们的语言
  3. 字符映射表 charmap
  4. Linux删除带‘\\’的文件夹
  5. 【cocos2d-x从c++到js】22:使用非侵入方式扩展UI系统接口的举例
  6. 奔三的你,是否还年轻
  7. 咖啡汪日志—— 回退兜底 及实用的服务降级策略
  8. 刚火了的中台转头就拆,一大波公司放不下又拿不起来!「手里的中台Offer也不香了」
  9. 细数饿了么开源的前端项目及实践
  10. OpenGL--多边形偏移