SQL 教程

本 SQL 教程通过清晰的概念、动手实例和互动测验,帮助您快速有效地掌握 SQL。

无论您是软件开发人员、数据库管理员、数据分析师还是数据科学家,本 SQL 教程都将帮助您释放 SQL 在管理和分析数据方面的强大能力。

SQL(Structured Query Language,结构化查询语言)是关系型数据库管理系统 (RDBMS) 中进行数据交互的标准语言。

现在就和我一起开始您的 SQL 之旅,自信地掌握处理数据的技能吧!

第 1 节. SQL 简介 #

第 2 节. 查询数据 #

  • SELECT – 从表中检索数据。

第 3 节. 排序行 #

第 4 节. 限制行 #

  • DISTINCT  – 从结果集中检索唯一值。
  • LIMIT – 限制查询返回的行数。
  • FETCH – 在开始返回任何行之前,跳过结果集中的 N 行。

第 5 节. 筛选行 #

第 6 节. 连接多个表 #

  • INNER JOIN – 根据条件合并两个表中的行,并只返回两个表中匹配的行。
  • LEFT JOIN – 返回左表中的所有行以及右表中的匹配行;如果没有匹配行,则右表的列使用 NULL。
  • RIGHT JOIN – 返回右表中的所有行以及左表中的匹配行;如果没有匹配行,则左表的列使用 NULL。
  • FULL OUTER JOIN – 连接多个表,包含两个表中的所有行,无论这些行在另一个表中是否有匹配行。
  • CROSS JOIN – 返回一个结果集,该结果集将第一个表中的每一行与第二个表中的每一行组合起来。
  • SELF JOIN – 根据相关列将同一表中的行进行组合。

第 7 节. 分组行 #

  • GROUP BY– 将行排列成组,并对每个组应用聚合函数。
  • HAVING – 根据条件筛选行组。
  • GROUPING SETS – 在单个查询中定义多个分组。
  • ROLLUP – 考虑输入列的层次结构,生成多个分组集。
  • CUBE – 为查询中的一组列生成小计和总计,并能够创建所有可能的分组组合。

第 8 节. 集合运算符 #

  • UNION – 将两个或多个查询的结果集合并为单个结果集。
  • INTERSECT  – 返回两个结果集之间的共同行。
  • MINUS – 返回一个结果集中未出现在另一个结果集中的唯一行。

第 9 节. 操作表 #

  • CREATE TABLE – 在数据库中创建一个新表。
  • PRIMARY KEY –  为表定义主键。
  • NOT NULL  – 确保插入或更新到列中的值不为 NULL。
  • DROP TABLE – 从数据库中删除一个表。
  • 向表中添加新列 – 向现有表中添加一个新列。
  • 删除列 – 从表中删除一个列。
  • FOREIGN KEY – 定义外键约束。
  • UNIQUE – 确保一列或一组列中值的唯一性。
  • CHECK – 在将数据存储到一个或多个列之前,根据布尔表达式验证数据。
  • ALTER TABLE – 修改现有表的结构。

第 10 节. 修改数据 #

  • INSERT – 向表中插入一行或多行。
  • UPDATE – 更新表中的现有数据。
  • DELETE – 从表中永久删除数据。
  • TRUNCATE TABLE – 快速有效地删除大表中的所有数据。

第 11 节. 视图与触发器 #

  • 视图 – 在数据库中创建视图。
  • 触发器 – 创建一个与表关联的触发器,并自动响应表中发生的事件。

第 12 节. 条件表达式与函数 #

  • CASE 表达式 – 向 SQL 语句中添加 if-else 逻辑。
  • COALESCE – 返回一组值中的第一个非空值。
  • NULLIF – 比较两个参数,如果它们相等则返回 NULL,否则返回第一个参数。

第 13 节. 聚合函数 #

  • 聚合函数 – 为一组值返回一个值,如最小值、最大值、平均值、总和和计数。
  • AVG – 返回一组值的平均值。
  • COUNT – 返回一组中项目的数量。
  • SUM – 返回一组中所有或不同项目的总和。
  • MAX – 返回一组中的最大值。
  • MIN – 返回一组中的最小值。

第 14 节. 子查询 #

  • 子查询 – 在另一个查询中创建查询,为外部查询提供结果集。
  • 相关子查询 – 构建一个使用外部查询值的子查询。
  • EXISTS – 如果子查询包含任何行,则返回 true。
  • ALL – 将一个值与一组值进行比较,如果对于集合中的每个值比较都为 true,则返回 true。
  • ANY – 将一个值与一组值进行比较,如果对于集合中至少一个值比较为 true,则返回 true。
© .