本文已收录GitHub,更有互联网大厂面试真题,面试攻略,高效学习资料等
本文主要和大家分享一下连接表的操作。在分享之前,我想先给大家介绍下连接(JOIN)在 SQL 中的重要性。
我们知道 SQL 的英文全称叫做 Structured QueryLanguage,它有一个很强大的功能,就是能在各个数据表之间进行连接查询(Query)。这是因为 SQL 是建立在关系型数据库基础上的一种语言。关系型数据库的典型数据结构就是数据表,这些数据表的组成都是结构化的(Structured)。你可以把关系模型理解成一个二维表格模型,这个二维表格是由行(row)和列(column)组成的。每一个行(row)就是一条数据,每一列(column)就是数据在某一维度的属性。
正是因为在数据库中,表的组成是基于关系模型的,所以一个表就是一个关系。一个数据库中可以包括多个表,也就是存在多种数据之间的关系。而我们之所以能使用 SQL 语言对各个数据表进行复杂查询,核心就在于连接,它可以用一条 SELECT 语句在多张表之间进行查询。你也可以理解为,关系型数据库的核心之一就是连接。
既然连接在 SQL 中这么重要,那么针对今天的内容,需要你从以下几个方面进行掌握:
- SQL 实际上存在不同的标准,不同标准下的连接定义也有不同。你首先需要了解常用的 SQL 标准有哪些;
- 了解了 SQL 的标准之后,我们从 SQL92 标准入门,来看下连接表的种类有哪些;
- 针对一个实际的数据库表,如果你想要做数据统计,需要学会使用跨表的连接进行操作。
一、常用的SQL标准有哪些
在正式开始讲连接表的种类时,我们首先需要知道 SQL 存在不同版本的标准规范,因为不同规范下的表连接操作是有区别的。
SQL 有两个主要的标准,分别是 SQL92 和 SQL99。92 和99 代表了标准提出的时间,SQL92 就是 92 年提出的标准规范。当然除了 SQL92 和 SQL99 以外,还存在 SQL-86