SQL教程

SQL是一种数据库计算机语言,用于检索和管理关系数据库中的数据。 SQL代表结构化查询语言(英文:Structured Query Language),SQL(结构化查询语言)用于对存储在数据库中的记录执行操作,例如:更新记录,删除记录,创建和修改表,视图等。

面向读者

本教程是为初学者和专业人士准备的,以帮助他们理解与SQL语言相关的基本概念和高级概念。 本教程将让您充分了解SQL的各个组件并提供相应的示例。它涵盖了对SQL的基本理解SQL所需的相关主题,并了解它的工作原理。

前提条件

在开始练习本教程中给出的各种类型的示例之前,假设读者已经了解数据库是什么,尤其是数据库系统(RDBMS)以及什么是计算机编程语言。
SQL只是一种查询语言,它不是数据库。 要执行SQL查询,您需要安装数据库,例如:OracleMySQL,MongoDB,PostGreSQL,SQL Server,DB2等。

问题反馈

我们不能保证您在学习此SQL教程的过程中不会遇到任何问题。本教程中的讲解,示例和代码等只是根据作者的理解来概括写出。由于作者水平和能力有限,因此不保正所有编写的文章都准确无误。但是如果有遇到任何错误或问题,请反馈给我们,我们会及时纠正以方便后续读者阅读。

教程目录

本SQL教程通过许多实际应用的示例帮助读者快速有效地开始学习使用SQL。

如果是使用SQL分析数据的软件开发人员,数据库管理员,数据分析师或数据科学家,那么本教程是一个很好的开始。

每个主题都通过许多实际示例清晰简明地介绍,以便您可以真正理解概念并知道如何应用它来更有效地解决数据问题。

请参考以下组织的各个小节开始学习。

第1节:SQL简介

  • 什么是SQL - 简要介绍一下SQL语言及其流行的SQL方言。
  • SQL语法 - 提供SQL语言的语法。
  • SQL示例数据库 - 向介绍HR示例数据库。
  • SQL语法 - SQL是一组语法的独特规则和准则。 本教程通过列出所有基本SQL语法,为读者提供SQL快速入门。

第2节:查询数据

  • SELECT语句 - 演示如何使用最简单的SELECT语句从单个表中查询数据。

第3节:排序数据

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

第4节:过滤数据

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

第5节:连接多个表

  • SQL别名 - 使查询更短,更易理解。
  • INNER JOIN - 介绍连接概念,并演示如何使用INNER JOIN子句组合来自多个表的数据。
  • LEFT OUTER JOIN - 提供另一种连接,用于组合来自多个表的数据。
  • FULL OUTER JOIN - 通过包含两个表中的行来连接多个表,无论这些行是否具有来自另一个表的匹配行。
  • CROSS JOIN - 使用交叉连接操作生成连接表行的笛卡尔积。
  • SELF JOIN - 使用内部联接或左联接子句将表连接到自身。

第6节:聚合函数

  • 聚合函数概述 - 介绍SQL中最常用的聚合函数,包括:AVGCOUNTSUMMAXMIN
  • AVG - 计算集合的平均值。
  • COUNT - 返回集合中的项目数量。
  • SUM - 返回集合中所有或不同项目的总和。
  • MAX - 查找集合中的最大值。
  • MIN - 查找集合中的最小值。

第7节:分组数据

  • GROUP BY - 将行组合成组并将聚合函数应用于每个组。
  • HAVING - 指定过滤GROUP BY子句汇总的组的条件。
  • GROUPING SETS - 生成多个分组集。
  • ROLLUP - 考虑输入列的层次结构生成多个分组集。

第8节:使用SET运算符

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

第9节:子查询

  • 子查询 - 演示如何在另一个查询中嵌套查询,以形成更灵活的查询数据查询。
  • 相关子查询 - 介绍相关子查询,子查询是使用外部查询中的值的子查询。
  • EXISTS - 演示如何检查从子查询返回的行的存在。
  • ALL - 说明如何通过将表的列中的值与一组列进行比较来查询数据。
  • ANY - 如果表的列中的值与集合中的值之一匹配,则查询数据。

第10节:约束

  • PRIMARY KEY - 演示如何为表定义主键。
  • FOREIGN KEY - 引导如何使用外键约束强制执行两个表中数据之间关系的步骤。
  • UNIQUE - 确保列或列集中值的唯一性。
  • NOT NULL - 确保插入或更新到列的值不为NULL
  • 检查约束 - 在数据基于布尔表达式存储在一列或多列中之前验证数据。

猿狮妹
2022-07-25
SQL教程 SQL 在线教程
热门教程
1 SQL Max()函数 在本教程中,您将学习如何使用SQL Max函数查找组中的最大值。1. SQL MAX函数简介SQL提供MAX()函数,用于在一组值中查找最大值。 以下是MAX函数的语法。MAX(expression)MAX函数忽略NULL值。与SUM,COUNT和AVG函数不同,DISTINCT选项不适用于MAX函数。2. SQL MAX函数示例...
2 SQL教程 SQL是一种数据库计算机语言,用于检索和管理关系数据库中的数据。 SQL代表结构化查询语言(英文:*Structured Query Language*),SQL(结构化查询语言)用于对存储在数据库中的记录执行操作,例如:更新记录,删除记录,创建和修改表,视图等。
3 SQL自连接 本教程将向您展示如何使用SQL自连接技术将表连接到自身。1. SQL自连接简介有时,将表连接到自身是很有用的。 这种类型的连接称为自连接。我们将一张表连接到自身来评估同一个表中其他行的行。 要执行自联接,我们使用内连接或左连接子句。因为同一个表在单个查询中出现两次,所以必须使用表别名。 以下语句说明了如何将表连接到自身。...
4 SQL FULL OUTER JOIN子句 在本教程中,您将学习如何使用SQL FULL OUTER JOIN子句查询来自多个表的数据。1. SQL FULL OUTER JOIN子句简介理论上,完全外连接是左连接和右连接的组合。 完整外连接包括连接表中的所有行,无论另一个表是否具有匹配的行。如果连接表中的行不匹配,则完整外连接的结果集包含缺少匹配行的表的每列的NULL值。 对于匹配的行,结果集中包含从连接表填充的列的单个行。...
5 SQL Update语句 在本教程中,您将学习如何使用SQL UPDATE语句来修改表中现有行的数据。
6 SQL相关子查询 在本教程中,您将了解SQL相关子查询,它是使用外部查询中的值的子查询。1. SQL相关子查询简介下面通过一个例子开始。请参阅示例数据库中的employees表:desc employees;+---------------+--------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra ...
7 SQL插入多行 很多时候开发人员都会问,是否可以在单个语句中将多行插入到一个表中。 目前,开发人员在表中插入值时必须编写多个insert语句。 它不仅枯燥乏味,而且耗时。 要摆脱这一点,应该尝试这种语法。 实际上,有三种不同的方法可以将多个值插入到单个表中。传统方法(简单插入)SQL insert selectSQL server 2008+ 行构建在SQL Server中插入多个值 - CREATE TABLE student (ID INT VALUE VARCHAR (100)...
8 SQL Any运算符 在本教程中,您将了解SQL ANY运算符以及如何使用它来将值与一组值进行比较。1. SQL ANY运算符简介ANY运算符是一个逻辑运算符,它将值与子查询返回的一组值进行比较。 ANY运算符必须以比较运算符:>,>=,<,<=,=,<>开头,后跟子查询。以下是ANY运算符的语法:WHERE column_name comparison_operator ANY (subquery)...
9 SQL Inner Join子句 在本教程中,我们将演示如何使用SQL INNER JOIN子句来查询来自两个或多个表的数据。1. SQL INNER JOIN子句简介到目前为止,您已经学习了如何使用SELECT语句从单个表中查询数据。 但是,SELECT语句不限于从单个表中查询数据。 SELECT语句可以将多个表链接在一起。连接表的过程称为Join。 SQL提供了多种连接,如内连接,左连接,右连接,全外连接等。本教程重点介绍内连接。内部连接子句通过两列之间的关系链接两个(或更多)表。 无论何时使...
10 SQL更新日期数据 如何在SQL中更新日期和时间字段的值?如果要在SQL中更新日期和时间字段,则应使用以下查询。下面来看看SQL更新日期的语法。UPDATE table SET Column_Name = 'YYYY-MM-DD HH:MM:SS' WHERE Id = value下面来看看一个示例:首先,使用一个表来演示更新日期和时间字段。如果要更改id为1的行记录,则应编写以下语法:UPDATE table SET EndDate = '20...
  • Copyright © 2021 猿狮院, All rights reserved.