
SQL(Structured Query Language)可用于编程和管理关系数据库中的保存数据,它是Facebook、Instagram、Accenture、Dell等大型科技公司处理关系数据库的标准语言。下面,我们来看看所有数据分析师都应该知道的9种基本查询。数据分析优质社群,等你加入哦~
1.Where 子句
WHERE 子句根据输入语句筛选记录。开发人员只能提取那些满足指定条件的记录。他们可以使用 * 运算符显示整个表,并使用显示特定行的“WHERE”关键字缩小结果范围。
语法:
SELECT column1, column2, …
FROM table_name
WHERE [条件]
2.Date 函数
通常日期格式表示为 YYYY-MM-DD,日期-时间格式为 YYYY-MM-DD HH : MI : SS。Date 函数允许开发人员查找当前或将来的日期,并将其分解为月份、年份、日期或组合时间 ,从而促进大规模数据库的设计和维护。
语法:
select current_timestamp — 日期和时间,标准 ANSI SQL,跨数据库兼容
select getdate()— 日期和时间,特定于 SQL Server
3.SQL Joins
JOIN 子句是根据相关列去合并两个或多个表中的行。SQL 中有四种类型的连接——内连接(inner join)、左连接(left join)、右连接(right join)和完全连接(full join)。“Inner Join”通过将两个或多个表中具有匹配值的行组合起来创建新表。“right join”用于返回右表中与左表匹配的所有记录,“left join”用于返回左表中与右表匹配的所有记录。最后,当左表或右表中存在匹配项时,“full join”将返回所有记录。
Inner Join 的语法:
SELECT column_names
FROM table1
INNER JOIN table2
ON table1.column_name = table2.column_name;
4.Correlated Subqueries
相关子查询用于逐行处理,并从外部查询引用的表中选择数据。该函数的工作原理是,对每个外部查询行执行一次子查询。这允许开发人员读取表中的每一行,并将它们的值与相关数据进行比较。对于父语句(如 SELECT、UPDATE 或 DELETE)处理的每一行,相关子查询将计算一次。
语法:
SELECT column1, column2, ….
FROM table1 outer
WHERE column1 operator
(SELECT column1, column2
FROM table2
WHERE expr1 =
outer.expr2);
5.Case 子句
当开发人员希望根据其他列中的值设置一个列的值时,CASE 子句将满足这一逻辑。该函数执行所有条件,并在满足第一个条件时返回一个值。它会一直工作直到找到一个真条件,如果没有条件为真,它将返回 ELSE 子句中的值。Case 子句类似于 Excel 中的 IF-ELSE 语句。
语法:
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
WHEN condition THEN resultN
ELSE result
END;
6.在表中插入值/行
此查询允许开发人员使用单个查询轻松地在表中插入多个值或行。在表中插入值是将数据添加到数据库的 DML(数据操作语言)操作。
语法:
INSERT INTO table_name (column_list)
VALUES
(value_list_1),
(value_list_2),
…
(value_list_n);
7.从表中检索所有数据
最常用的 DLM 命令之一 SELECT 查询,用于从数据库中选择数据,检索到的数据存储在名为结果集的结果表中。该查询返回一个或多个表中记录的结果集。
语法:
SELECT column1, column2, …
FROM table_name;
8.获取数据的平均值
平均值语法可帮助开发人员在给定数据中找到平均值。它是一个聚合函数,用于计算数值数据集的平均值。该函数可与 SELECT 查询一起使用,以便从表中检索数据。
语法:
SELECT AVG( column_name ) FROM table_name
9.查找重复记录
此查询可帮助开发人员使用唯一标识符查找表中的重复记录。它是通过 SQL 中的 GROUP BY 语句完成的,该语句将相同的数据排列成组。例如,如果一列在不同的行中具有相同的值,则该工具会将这些行排列在一个组中。可以通过两个步骤找到重复值:
- 定义重复项的条件。
- 编写查询语句以搜索重复项。
