登录
首页 >  数据库 >  MySQL

MySQL JOIN UNION

来源:SegmentFault

时间:2023-01-10 15:27:43 345浏览 收藏

对于一个数据库开发者来说,牢固扎实的基础是十分重要的,golang学习网就来带大家一点点的掌握基础知识点。今天本篇文章带大家了解《MySQL JOIN UNION》,主要介绍了MySQL,希望对大家的知识积累有所帮助,快点收藏起来吧,否则需要时就找不到了!

图解

JOIN 内连接

JOIN 默认就是 INNER JOIN 的简写,从数学的角度讲就是求两个表的交集,从笛卡尔积的角度讲就是从笛卡尔积中挑出ON子句条件成立的记录。

FULL JOIN
MySQL 中没有 FULL JOIN,就是两表相连,可以使用 UNION 来代替

OUTER JOIN

  • LEFT JOIN (就是 LEFT OUTER JOIN)
    两表关联,左表全部保留,右表关联不上用 NULL 表示
  • RIGHT JOIN (就是 RIGHT OUTER JOIN)
    右表全部保留,左表关联不上的用 NULL 表示。

CROSS JOIN

cross join 是mysql中的一种连接方式,区别于内连接和外连接,对于 cross join 连接来说,其实使用的就是笛卡尔连接。在MySQL中,当 CROSS JOIN 不使用WHERE子句时,CROSS JOIN产生了一个结果集,该结果集是两个关联表的行的乘积。通常,如果每个表分别具有n和m行,则结果集将具有n*m行

如果 cross 不实用 join 的效果与 inner join 不使用 on 的结果是一样的

UNION

MySQL UNION 操作符用于连接两个以上的 SELECT 语句的结果组合到一个结果集合中。多个 SELECT 语句会删除重复的数据。

SELECT country, name FROM Websites  
    WHERE country='CN'  
    UNION ALL  
    SELECT country, name FROM apps  

如果不想删除重复数据,那么使用 UNION ALL

到这里,我们也就讲完了《MySQL JOIN UNION》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于mysql的知识点!

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表