SQL 教程

此 SQL 教程可帮助您通过许多实际示例快速有效地开始使用 SQL。

如果您是想要使用 SQL 分析数据的软件开发人员、数据库管理员、数据分析师或数据科学家,本教程是一个不错的起点。

每个主题都通过许多实际示例清晰而简洁地涵盖,这些示例可帮助您真正理解该概念,并将其应用于更有效地解决数据难题。

SQL 的全称为Structured Query Language,旨在操作关系数据库管理系统 (RDBMS) 中的数据。

如今,SQL 是用于与数据交互的最常见编程语言之一。

第 1 部分:SQL 简介

第 2 部分:查询数据

  • SELECT 语句 – 通过使用最简单的 SELECT 语句形式向您展示如何从单表中查询数据。

第 3 部分:对数据排序

  • ORDER BY 子句 – 按一个或多个列以升序和/或降序对数据进行排序。

第 4 部分:筛选数据

  • DISTINCT  – 向您展示如何从结果集中删除重复项。
  • LIMIT – 使用 LIMIT 和 OFFSET 子句限制查询返回的行数。
  • FETCH – 了解如何在开始返回任何行之前跳过结果集中的 N 行。
  • WHERE 子句 – 根据指定条件筛选数据。
  • 比较运算符 – 了解如何使用包括大于、大于等于、小于、小于等于、等于和不等于在内的比较运算符,以形成 WHERE 子句中的条件。
  • 逻辑运算符 – 介绍逻辑运算符,以及如何使用它们来测试条件的真伪。
  • AND 运算符 – 使用 AND 逻辑运算符组合多个布尔表达式。
  • OR 运算符 – 向您展示如何使用另一个逻辑运算符 OR 来组合多个布尔表达式。
  • BETWEEN 运算符 – 指导您使用 BETWEEN 运算符选择值范围内的数据。
  • IN 运算符 – 向您展示如何使用 IN 运算符来检查值是否在值列表中。
  • LIKE 运算符 – 根据指定模式查询数据。
  • IS NULL 运算符 – 介绍 NULL 概念,并向您展示如何检查表达式是否为 NULL。
  • NOT 运算符 – 向您展示如何使用 NOT 运算符否定布尔表达式。

第 5 部分:条件表达式

第 6 部分:连接多个表

  • SQL 别名 – 使您的查询更简洁,更易理解。
  • INNER JOIN – 为您介绍连接概念,并向您展示如何使用 INNER JOIN 子句结合来自多个表的数据。
  • 左外部连接 – 提供另一种用于结合多个表中数据的连接。
  • 全外部连接 – 通过包含来自两个表的行来连接多个表,无论这些行是否与来自另一张表的行匹配。
  • 交叉连接 – 使用交叉连接操作生成连接表中行的笛卡尔积。
  • 自连接 – 使用内部连接或左连接子句将一个表与自身连接。

第 7 节:聚合函数

  • 聚合函数 – 向你介绍 SQL 中最常用的聚合函数,包括 AVG、COUNT、SUM、MAX 和 MIN。
  • AVG – 计算集合的平均值。
  • COUNT – 返回集合中的项数。
  • SUM – 返回集合的所有项或不同项的 sum。
  • MAX – 查找集合中的最大值。
  • MIN – 查找集合中的最小值。

第 8 节:分组数据

  • GROUP BY– 将行组合到组中,并对每个组应用聚合函数。
  • HAVING – 针对由 GROUP BY 子句汇总的组指定过滤条件。
  • GROUPING SETS – 生成多个分组集。
  • ROLLUP – 考虑输入列的层级,生成多个分组集。
  • CUBE – 为输入列的所有可能组合生成多个分组集。

第 9 节:集合运算符

  • UNION 和 UNION ALL – 使用 UNION 和 UNION ALL 运算符将两个或更多查询的结果集组合成一个结果集。
  • INTERSECT  – 使用 INTERSECT 运算符返回两个或更多查询的交集。
  • MINUS – 使用 MINUS 运算符从另一结果集中减去一个结果集。

第 10 节。子查询

  • 子查询 – 向你展示如何在另一个查询中嵌套一个查询,以形成一个查询数据的更灵活的查询。
  • 相关子查询 – 向你介绍相关子查询,它是一个使用外部查询中的值进行的子查询。
  • EXISTS – 向你展示如何检查从子查询返回的行是否存在。
  • ALL – 说明如何通过将表的列中值与一组列对比,来查询数据。
  • ANY – 查询数据是否表中一列的值与一组中的某个值匹配。

第 11 节:修改数据

  • INSERT – 向表中插入一行或多行。
  • UPDATE – 更新表中现有的数据。
  • DELETE – 从表中永久删除数据。

第 12 节:使用表结构

第13部分:约束

  • PRIMARY KEY — 告诉你如何为表定义主键。
  • FOREIGN KEY – 使用外键约束逐步指导你实施两个表中数据之间的关系。
  • UNIQUE – 确保列中或列组中的值的唯一性。
  • NOT NULL  – 确保插入列或更新到列的值不为 NULL。
  • CHECK – 根据布尔表达式验证数据在存储在一个或多个列之前的数据。