kejiayuan0806

2018-10-24   阅读量: 693

数据分析师 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子句中使用表限定符指定引用的是哪个表中的列。

三、USING关键字

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

四、隐式内连接

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

五、比较运算符

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

添加CDA认证专家【维克多阿涛】,微信号:【cdashijiazhuang】,提供数据分析指导及CDA考试秘籍。已助千人通过CDA数字化人才认证。欢迎交流,共同成长!
99.9904 1 2 关注作者 收藏

评论(0)


暂无数据

推荐课程