SQL,全称为Structured Query Language,是一种专门用来与数据库通信的编程语言。它不仅用于设计和创建数据库,还是从数据库中提取洞见的重要工具。在商业决策中,SQL有时被低估,但它是做出可靠和高效决策的关键工具之一。SQL能够执行的基本数据库操作包括创建数据库、向现有数据库添加新数据、更新现有数据/架构、根据需求对数据进行分段(使用Group By子句和聚合函数)以及根据需求对数据进行排序(使用Order By子句)。
许多人在听到数据库管理员或数据分析师这样的职位时会感到困惑,尽管这两种技术职位都需要与数据库打交道,但他们的任务和角色是不同的。数据库管理员(DBA)负责处理、控制和操纵数据,包括更新、删除数据以及根据权限更改架构。他们还负责保持数据库的最新状态,即根据当前情况更新数据库设计,并管理数据库的可访问性,以维护安全性。
数据分析师的角色和责任则基于数据分析师的角色。他们负责从数据库中提取与业务相关的洞见,并根据历史数据提供解决方案。数据分析师负责从数据库中提取所有数据,并使用有效的查询来过滤特定需求的数据块。数据分析师最重要的角色之一是清理数据,因为并非所有更新到数据库的数据都是相关数据,因此清理和转换数据以进行进一步分析变得至关重要。
在理解SQL在数据工程中的应用之前,首先需要了解数据工程师的角色。数据工程师的关键角色包括寻找数据库中的相关洞见、解释数据以及ETL(提取、加载和转换数据)过程。在ETL过程中,SQL被广泛使用,即提取、加载和转换数据的整个过程。
本节将讨论每个数据工程师都应该了解的基本SQL查询。将讨论的查询包括SELECT和FROM、DISTINCT、WHERE子句和ORDER BY。
1) SELECT和FROM:这个关键字形成了最基本的SQL查询之一,同时也是非常重要的,因为没有这些关键字,无论进行多少分析和创建多少段,记录都不会显示。这个查询将负责根据某些条件从数据库中检索数据。
SELECT * FROM employee;
2) DISTINCT:DISTINCT语句将返回字段中只有唯一值的记录。
SELECT DISTINCT f_name FROM employee;
SELECT name, email FROM students WHERE gender = 'Male';
SELECT * FROM students ORDER BY roll_no DESC;
SELECT name, email AS student_email FROM students WHERE gender = 'Male';