SQL基础:分析师的必备技能

作为一名分析师,掌握SQL是至关重要的。SQL是一种用于查询和操作数据库的强大工具,它可以帮助从数据中找到答案,验证假设。本文将介绍一些作为分析师起步时必须了解的SQL函数和操作符。

SELECT和FROM语句

假设有一个名为“产品”的数据库,其中包含了商店中不同产品的详细信息。如果想要一次性查看所有数据,可以使用SQL中的SELECT和FROM语句。以下是具体的代码示例:

SELECT Category, Vendor, Price FROM 产品;

使用SELECT语句可以选择数据库中的列,而FROM语句则指定了需要从哪个表中提取数据。如果不想一一输入列名,而是想要选择表中的所有列,可以使用星号(*)来表示:

SELECT * FROM 产品;

这将返回“产品”表中所有的列。

DISTINCT语句

从数据中可以看出,类别列包含一组固定的值。如果想要选择类别列中所有不同的值,可以使用DISTINCT语句。以下是具体的代码示例:

SELECT DISTINCT Category FROM 产品;

DISTINCT语句可以帮助从列中选择所有不同的值。

WHERE语句

如果只想选择满足特定条件的记录,可以使用WHERE语句。WHERE语句作为一个过滤器,帮助根据特定条件过滤行。例如,如果想要过滤价格超过60的记录,可以使用以下代码:

SELECT Category, Vendor, Price, Rating FROM 产品 WHERE Price > 60;

这样,所有返回的记录中价格都将超过60。也可以使用多个条件(过滤器)在WHERE语句下使用AND子句。例如,下面的代码将过滤出价格超过60且评分超过3的记录:

SELECT Category, Vendor, Price, Rating FROM 产品 WHERE Price > 60 AND Rating > 3;

ORDER BY子句

如果想要根据评分或价格对所有记录进行排序,可以使用SQL中的ORDER BY子句。ORDER BY子句帮助根据列中的值对记录进行排序。例如,如果想要列出所有价格超过50的记录,并按评分升序排序,可以使用以下代码:

SELECT Category, Vendor, Price, Rating FROM 产品 WHERE Price > 50 ORDER BY Rating;

默认情况下,ORDER BY会按升序排列记录,但也可以通过在ORDER BY语句末尾指定DESC来按降序排列记录。

SELECT Category, Vendor, Price, Rating FROM 产品 WHERE Price >= 50 ORDER BY Rating DESC;

MIN, MAX和AVG函数

MIN函数帮助识别列中的最小值,MAX函数识别最大值,而AVG函数则用于计算列中的平均值。以下是如何使用这些函数来计算价格列中的最小值、最大值和平均值的示例代码:

SELECT MIN(Price), MAX(Price), AVG(Price) FROM 产品;

如果想要更改列(字段)名称,并用别名替换它,可以使用AS子句。

SELECT MIN(Price) AS "最低价格", MAX(Price) AS "最高价格", AVG(Price) AS "平均价格" FROM 产品;

GROUP BY和HAVING子句

SQL中的GROUP BY子句用于将具有相同值的记录分组。例如,可以按类别列对数据集进行分组,并查看每个类别的平均价格。以下是具体的代码示例:

SELECT Category, AVG(Price) AS "平均价格" FROM 产品 GROUP BY Category;

GROUP BY子句通常与聚合函数如AVG、MIN、MAX和COUNT一起使用。也可以与GROUP BY子句一起使用HAVING子句来过滤记录。

SELECT Category, AVG(Price) AS "平均价格" FROM 产品 GROUP BY Category HAVING MIN(Price) > 20;

HAVING语句将帮助过滤出最小价格低于20的类别。输出将只包含最小价格超过20的类别。

IN操作符

SELECT 标题, 类别, 供应商, 价格, 评分 FROM 产品 WHERE 类别 IN ('小工具', '小装置') ORDER BY 价格 DESC; SELECT 标题, 类别, 供应商, 价格 FROM 产品 WHERE 价格 BETWEEN 25 AND 50;
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485