mysql 内连接关键词_MySQL内连接

当我们需要的数据在不同的数据表中时,就需要使用多表查询来检索我们需要的数据。

SQL查询的基本原理:

1、单表查询:根据WHERE条件过滤表中的记录,形成中间表(这个中间表对用户是不可见的);然后根据SELECT的选择列选择相应的列进行返回最终结果。

2、两表连接查询:对两表求积(笛卡尔积)并用ON条件和连接类型进行过滤形成中间表;然后根据WHERE条件过滤中间表的记录,并根据SELECT指定的列返回查询结果。

3、多表连接查询:先对第一个和第二个表按照两表连接做查询,然后用查询结果和第三个表做连接查询,以此类推,直到所有的表都连接上为止,最终形成一个中间的结果表,然后根据WHERE条件过滤中间表的记录,并根据SELECT指定的列返回查询结果。

一、INNER JOIN

INNER JOIN子句将一个表中的行与其他表中的行进行匹配,并允许从两个表中查询包含列的行记录。在使用INNER JOIN子句之前,必须在FROM子句中指定主表,表中要连接的主表应该出现在INNER JOIN子句中,连接条件出现在INNER JOIN子句的ON关键字之后,连接条件是将主表中的行与其他表中的行进行匹配的规则。

语法:

SELECT 字段名列表

FROM 表1

INNER JOIN 表2 ON 连接条件1

INNER JOIN 表3 ON 连接条件2

WHERE 查询条件

对于表1中的每一行,INNER JOIN子句将它与表2的每一行进行比较,以检查它们是否都满足连接条件。当满足连接条件时,INNER JOIN将返回由表1和表2中的列组成的新行。

二、表限定符.

如果表1和表2都具有相同列名的列,则必须在SELECT和ON子句中使用表限定符指定引用的是哪个表中的列。

98abbfa9ec151d53f68622e638ac83d2.png

三、USING关键字

可使用USING关键字替代ON表示连接关系。

d19ed0f941b37be3b168acde04ef8a56.png

四、隐式内连接

隐式的内连接没有INNER JOIN关键字,根据WHERE条件过滤中间表的记录,并根据SELECT指定的列返回查询结果。

c8ab4c1bc750d02d96525b7a620df412.png

五、比较运算符

也可以使用=以外的比较运算符作为连接谓语。

fe5e46858cce5a90be820d10d77e5733.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值