很难区分与SQL 相关的各种JOIN 之间的区别。刚读完这篇文章。

在关系型数据库中支持多表关联,不同场景下通过不同join方式让分布在不同表中的数据呈现在同一个结果里。熟练使用sql联合查询是日常开发的基础工作。为了方便演示讲

大家好,关于很难区分与SQL 相关的各种JOIN 之间的区别。刚读完这篇文章。很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!

选择“name”作为篮球名称;

1. LEFT JOIN 左连接

–代表查询所有踢足球的学生的篮球成绩

选择[列]

从足球a

左连接篮球b

在a.`name`=b.`name` 上;

结果就是以足球为主表关联篮球,即A区+B区数据记录。如果篮球表中没有匹配的数据,则显示NULL。结果,李四和赵六在篮球表中都没有记录,则对应的Field为空。数据行总数为5行。

2. RIGHT JOIN 右连接

— 代表查询所有篮球学生的足球成绩

选择[列]

从足球a

右联篮球b

在a.`name`=b.`name` 上;

结果就是以篮球为主表关联足球,即B区+C区数据记录。如果足球表中没有匹配的数据,则显示NULL。结果,钱霸在足球榜上没有记录,对应的字段将为空。数据行总数为4行。

3. INNER JOIN 内连接

— 代表既踢足球又踢篮球的学生

选择[列]

从足球a

INNER JOIN 篮球b

在a.`name`=b.`name` 上;

结果是内连接左右两侧的记录,即两个圆的交集,即B区的数据记录。数据行总数为3行;如果没有交集区域,则结果集为空。

4. 左连接- 内连接左连接- 内连接

–代表除打篮球的学生外所有踢足球的学生

选择[列]

从足球a

左连接篮球b

在a.`name`=b.`name` 上

其中b.`name` 为NULL;

结果就是以足球桌为主表关联篮球桌,即踢足球的学生(A区+B区)。打篮球的同学(B区)被淘汰,即剩下A区,总数据行为2 OK。

5. RIGHT JOIN – INNER JOIN 右连接- 内连接

–代表除踢足球的学生外所有打篮球的学生

选择[列]

从足球a

右联篮球b

在a.`name`=b.`name`

其中a.`name` 为NULL;

结果就是以篮球桌为主桌关联足球桌,即打篮球的学生(C区+B区)。踢足球的学生部分(B区)被淘汰,即剩下C区,总数据行为1 OK。

6、FULL OUTER JOIN全连接(注:mysql不支持,oracle支持)

——代表所有打篮球或踢足球的人,

–oracle代码如下

选择[列]

从足球a

全外连接篮球架

在a.`name`=b.`name` 上;

— mysql可以灵活实现

— 1. LEFT JOIN + (RIGHT JOIN – INNER JOIN)方法,代码如下

选择[列]

从足球a

很难区分与SQL 相关的各种JOIN 之间的区别。刚读完这篇文章。

左连接篮球b 于a.`name`=b.`name`

联盟

选择[列]

从足球a

右连接篮球b 于a.`name`=b.`name`

其中a.`name` 为NULL

— 2.RIGHT JOIN + (LEFT JOIN – INNER JOIN)方法,代码如下

选择[列]

从足球a

右连接篮球b 于a.`name`=b.`name`

联盟

选择[列]

从足球a

左连接篮球b 于a.`name`=b.`name`

其中b.`name` 为NULL;

即打篮球的学生和踢足球的学生的集合(A区+B区+C区),记录行总数为6行。

7. 全外连接- 内连接

— 代表所有只打篮球或踢足球的学生

— 甲骨文版本

选择[列]

从足球a

FULL OUTER JOIN 篮球b on a.`name`=b.`name`

其中1=1

并且(a.`name` 为null 或b.name 为null)

–mysql版本

从( 中选择b.`name`

选择一个“名称”

从足球a

左连接篮球b 于a.`name`=b.`name`

联盟

选择b.`名称`

从足球a

右连接篮球b 于a.`name`=b.`name`

其中a.`name` 为NULL

) b 左连接(

选择名称

从足球a

INNER JOIN 篮球b

在a.`name`=b.`name`

) d on b.name=d.name

其中d.name 为空;

即只打篮球的学生和只打足球的学生合并起来(A区+C区),总记录行数为3行。

8. 加入

— 笛卡尔积,5*4

— 例如:班级学生表student与课程表course的笛卡尔积的效果是,班级内每个学生的每一门课程都被视为一条记录。

— 表记录较多请谨慎使用!

选择[列]

来自学生a

用户评论

很难区分与SQL 相关的各种JOIN 之间的区别。刚读完这篇文章。
半梦半醒i

这篇文章太棒了!终于理解了各种类型的 JOIN 的区别,以前总是混淆使用……感谢作者的耐心讲解!

    有20位网友表示赞同!

很难区分与SQL 相关的各种JOIN 之间的区别。刚读完这篇文章。
纯真ブ已不复存在

我之前也常常被这些 JOIN 语句搞得头疼。文章用得很通俗易懂的例子解释,真希望能早点看到这篇文章!

    有6位网友表示赞同!

很难区分与SQL 相关的各种JOIN 之间的区别。刚读完这篇文章。
玩味

别的地方看了各种SQL教程都觉得晦涩难懂,这篇写得太棒了!逻辑清晰,图文结合很好理解各种JOIN类型。

    有8位网友表示赞同!

很难区分与SQL 相关的各种JOIN 之间的区别。刚读完这篇文章。
墨城烟柳

作者的分析很到位,把不同 JOIN 的使用场景都总结得很清楚,特别是 INNER JOIN 和 LEFT JOIN 的区别简直就是我心结终于解开的时刻!

    有5位网友表示赞同!

很难区分与SQL 相关的各种JOIN 之间的区别。刚读完这篇文章。
神经兮兮°

哈哈,刚开始学SQL的时候我也是被这些JOIN搞得晕头转向的。现在看来其实道理很简单,只是需要好好梳理一下。

    有11位网友表示赞同!

很难区分与SQL 相关的各种JOIN 之间的区别。刚读完这篇文章。
那伤。眞美

说的对啊!虽然各种 JOIN 语句确实会让初学者感到迷惑,但只要掌握了它们的用法和区别,其实并不复杂。

    有8位网友表示赞同!

很难区分与SQL 相关的各种JOIN 之间的区别。刚读完这篇文章。
惦着脚尖摘太阳

虽然我觉得这篇博客很实惠的,但是例子太简单了,没有遇到实际开发场景下使用的JOIN 。

    有15位网友表示赞同!

很难区分与SQL 相关的各种JOIN 之间的区别。刚读完这篇文章。
Edinburgh°南空

INNER JOIN 用来找匹配的记录,LEFT JOIN 用找左边关系数据的所有记录,好像很容易理解,可是为什么总会有错误?

    有17位网友表示赞同!

很难区分与SQL 相关的各种JOIN 之间的区别。刚读完这篇文章。
一别经年

其实我觉得文章里的解释很清晰了,只是自己缺乏实践经验,所以还是不太能完全理解不同场景下应该使用什么 JOIN 语句。

    有15位网友表示赞同!

很难区分与SQL 相关的各种JOIN 之间的区别。刚读完这篇文章。
经典的对白

建议作者能增加一些更复杂、实际应用的例子来帮助更好地理解。比如可以加入多个表的JOIN查询案例,让读者更加全面地认识这些 JOIN 语句的运用技巧。

    有7位网友表示赞同!

很难区分与SQL 相关的各种JOIN 之间的区别。刚读完这篇文章。
病房

我感觉这种简单化学习方式对入门确实有帮助,以后多做练习,相信就能够掌握各种 JOIN 的用法了。

    有19位网友表示赞同!

很难区分与SQL 相关的各种JOIN 之间的区别。刚读完这篇文章。
不浪漫罪名

说的不错!我之前也常把这些JOIN语句搞混,幸好看了你的文章才算是理清思路。

    有14位网友表示赞同!

很难区分与SQL 相关的各种JOIN 之间的区别。刚读完这篇文章。
泪湿青衫

这篇文章很有帮助,让我能快速入门SQL的关联查询,以后写数据库程序就不会那么费神啦!

    有19位网友表示赞同!

很难区分与SQL 相关的各种JOIN 之间的区别。刚读完这篇文章。
走过海棠暮

我觉得这种通俗易懂的方式讲解的确对新手十分友好,尤其是我刚 empezar学习 SQL 的时候,遇到各种 JOIN 语句确实十分困惑,有了这份文章就豁然开朗了。

    有12位网友表示赞同!

很难区分与SQL 相关的各种JOIN 之间的区别。刚读完这篇文章。
暖瞳

但对于更深层级的数据库开发场景,我想这篇文章可能并不太详细,需要更多的实践和学习来深入理解不同JOIN语句的使用技巧

    有16位网友表示赞同!

很难区分与SQL 相关的各种JOIN 之间的区别。刚读完这篇文章。
麝香味

总体来说,这篇博客帮助我理清了各种 JOIN 的区别,对SQL的学习很有帮助!

    有10位网友表示赞同!

很难区分与SQL 相关的各种JOIN 之间的区别。刚读完这篇文章。
强辩

感谢作者的分享,让更多人能够轻松理解 SQL 连接查询的知识。

    有20位网友表示赞同!

原创文章,作者:小su,如若转载,请注明出处:https://www.sudun.com/ask/121221.html

(0)
小su's avatar小su
上一篇 2024年9月1日 下午2:07
下一篇 2024年9月1日 下午2:12

相关推荐

发表回复

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