`

MySQL左连接,右连接,自然连接

阅读更多

Mysql的官方文档中关于join的语法:

 

table_reference [INNER | CROSS] JOIN table_factor [join_condition]
  | table_reference STRAIGHT_JOIN table_factor
  | table_reference STRAIGHT_JOIN table_factor ON condition
  | table_reference LEFT [OUTER] JOIN table_reference join_condition
  | table_reference NATURAL [LEFT [OUTER]] JOIN table_factor
  | table_reference RIGHT [OUTER] JOIN table_reference join_condition
  | table_reference NATURAL [RIGHT [OUTER]] JOIN table_factor

以上是MySQL中的连接语法,可大体分为三类:


[INNER | CROSS] JOIN
内连接或交叉连接
可以指定连接条件,也可以不指定。
当不指定时表示产生迪卡尔积,当指定条件时,比如指定关联的键相等,就相当于内连接。


NATURAL [LEFT [OUTER]] JOIN
NATURAL [RIGHT [OUTER]] JOIN
自然连接
自动通过关联主键连接,不能指定条件,LEFT或RIGHT可以产生类似与左、右连接的效果。


LEFT [OUTER] JOIN
RIGHT [OUTER] JOIN
左外连接 右外连接
必须指定连接条件,不然语法错误。

MySQL中没有关系代数中全连接的操作(因为没有多大意义),有左连接,右连接,内连接(使用where加连接条件结果类似,但不需要外键,内连接也是mysql的默认连接方式),迪卡尔积和自然连接。

 

常用的有左连接、右连接、内连接,这里有这几种连接的区别:

  • 大体可以理解为,左连接以左边为基准,右边可能有空值;
  • 右连接以右边为基准,左边可能有空值;
  • 内连接则保证没有空值。

 

0
1
分享到:
评论

相关推荐

    MYSQL 左连接右连接和内连接的详解及区别

    主要介绍了MYSQL 左连接右连接和内连接的详解及区别的相关资料,需要的朋友可以参考下

    左外连接右外连接,内连接区别

    本文将深入探讨三种主要的连接类型:左外连接、右外连接和内连接,并通过具体的例子来阐述它们之间的区别。 首先,让我们从内连接(INNER JOIN)开始。内连接返回的是两个表中满足特定连接条件的记录。在示例中,`...

    剖析MySQL左连接右连接等值连接异同.pdf

    根据文件中提供的信息,我们可以详细探讨MySQL中的不同连接类型,包括左连接(LEFT JOIN)、右连接(RIGHT JOIN)、内连接(INNER JOIN)以及等值连接的概念和它们之间的异同。 首先,我们需要明确什么是“连接”...

    mysql之左连接与右连接.doc

    MySQL 左连接与右连接详解 MySQL 中的连接操作是指将两个或多个表中的数据结合起来,以便更好地查询和分析数据。左连接(LEFT JOIN)和右连接(RIGHT JOIN)是两种常见的连接类型,本文将详细介绍它们的区别和使用...

    c# mysql数据库连接池实现

    在.NET Core中,对于MySQL数据库,我们可以使用`MySql.Data`或`Pomelo.EntityFrameworkCore.MySql`库来实现连接池。 1. 安装依赖库 使用NuGet包管理器安装`Pomelo.EntityFrameworkCore.MySql`或者`MySql.Data`。`...

    mysql连接驱动jar包

    MySQL连接驱动jar包是Java应用程序与MySQL数据库进行交互的关键组件。在Java中,我们使用JDBC(Java Database Connectivity)API来实现数据库操作,而MySQL连接驱动则是JDBC的一部分,它负责建立Java应用程序与MySQL...

    Mysql 连接资源Jar

    是MySQL连接器的类名,通过`Class.forName()`方法加载。 3. 创建数据库连接: ```java String url = "jdbc:mysql://localhost:3306/mydatabase"; String user = "username"; String password = "password"; ...

    MySql数据库连接池C#代码(有注释含测试代码)

    MySQL数据库连接池是提高应用程序性能的一种重要技术,它允许开发者管理多个数据库连接并高效地复用这些连接,而不是每次需要时都创建新的连接。在C#编程中,我们可以使用自定义的连接池或者第三方库如ADO.NET的...

    mysql连接驱动包

    MySQL连接驱动包是Java应用程序与MySQL数据库进行交互的关键组件,它允许Java开发者通过JDBC(Java Database Connectivity)接口执行SQL语句,管理数据库事务,以及处理数据库结果集。本压缩包包含了两个不同版本的...

    mysql .net 连接驱动

    MySQL .NET 连接驱动是开发人员在.NET环境中与MySQL数据库进行交互的重要工具。它允许.NET应用程序使用标准的ADO.NET接口来执行SQL查询、管理数据和处理MySQL服务器的各种任务。以下将详细介绍MySQL .NET连接驱动...

    MySQL数据库连接语句

    下面是一些常用的MySQL连接字符串格式: 1. **ODBC连接字符串**: ``` Driver={MySQL ODBC 8.0 Unicode Driver};Server=myServerAddress;Database=myDataBase;User=myUsername;Password=myPassword; ``` 其中,...

    MySQL连接工具 绿色版

    MySQL连接工具是数据库管理员和开发人员用来与MySQL服务器交互的重要应用程序。绿色版通常指的是免安装、便携式的版本,可以直接运行而无需在计算机上进行正式的安装过程,这对于需要在不同设备间移动工作或者不想...

    Informatica连接Mysql数据库案例

    Informatica 连接 Mysql 数据库案例 Informatica 是一个功能强大的数据集成平台,支持多种数据源的连接和集成,本文档将详细介绍 Informatica 连接 Mysql 数据库的步骤和配置。 Informatica 连接 Mysql 数据库的...

    mysql8和mysql5的连接驱动jar包

    本篇文章将详细讨论MySQL8与MySQL5在连接驱动jar包方面的差异,以及如何使用这些驱动来连接Java应用程序。 首先,让我们关注两个不同版本的驱动包:“mysql-connector-java-5.1.30.jar”和“mysql-connector-java-...

    mysql的左右内连接用法实例

    本文将深入讲解MySQL的左连接、右连接以及内连接的用法,并通过实例进行解析。 首先,我们创建了两个表`user_id`和`user_profile`。`user_id`存储独立的ID,而`user_profile`除了ID外还有名字(name)字段。然后,...

    MyEclipse连接MySQL数据库报错解决办法

    一般MySQL连接不上,可能有两大原因:1、MyEclipse配置错误 2、MySQL配置不当。 一、我们一般的连接步骤如下: 1、在MyEclipse中连接MySQL数据库:依次点击window–>show view–>other–>MyEclipse Database–>DB ...

    PB通过连接字符串连接MySQL

    标题中的“PB通过连接字符串连接MySQL”指的是使用PowerBuilder(PB)这个开发工具,通过特定的连接字符串来与MySQL数据库建立连接。PowerBuilder是Sybase公司(现为SAP的一部分)开发的一种可视化、面向对象的编程...

    mysql 左连接、右连接和内连接

    在MySQL中,我们经常使用三种类型的连接:左连接(LEFT JOIN)、右连接(RIGHT JOIN)和内连接(INNER JOIN)。这些连接方式根据不同的需求,可以提供不同程度的数据组合。 首先,左连接(LEFT JOIN)以左侧表格...

Global site tag (gtag.js) - Google Analytics