介绍
所以您想学习SQL? 太好了,你应该!
您是否知道,这是数据分析师和数据工程师最需要的第一技能,而数据科学家则是第三要的技能?
在本文中,我将向您解释如何以最简单的方式使用SQL查询。 但首先,让我定义几个术语……
定义
行,也称为记录,是代表单个实体的属性(变量)的集合。 例如,一行可能代表一名医院患者,并且可能具有属性/变量,例如年龄,体重,身高等。
表是具有相同属性(具有相同变量)的行的集合。 最能帮助我的是将表格视为Excel表格。
example of a table
查询是从数据库表或表组合中获取数据的请求。 如果要查找所有23岁以上的患者,请使用上表进行查询。
如何编写SQL
由于这是面向初学者的教程,因此,我将向您展示如何从一个表中提取数据时如何编写查询。
基本查询包含五个组件:
· SELECT(必填)
· FROM(强制性)
· 在哪里(可选)
· GROUP BY(可选)
· ORDER BY(可选)
结构如下:
SELECT [column_name_1], [column_name_2], [column_name_n]FROM [table_name]WHERE [condition 1]GROUP BY [column_name] ORDER BY [column_name]
让我们带回我的示例作为参考:
1.SELECT(必填)
SELECT确定要从给定表中提取哪些列。 例如,如果我想提取名称,那么我的代码将如下所示:
SELECT Name
一个巧妙的技巧是,如果要提取所有列,可以使用星号-参见下文:
SELECT *
2.FROM(必填)
FROM确定要从中提取信息的表。 例如,如果您要提取患者的姓名,则需要从名为Patient_info的表中提取数据(请参见上文)。 代码看起来像这样:
SELECT NameFROM patient_info
这是您的第一个功能查询! 让我们完成另外3个可选步骤。
3. WHERE(可选)
如果要选择23岁以上患者的姓名怎么办? 这是WHERE传入的时间。WHERE是用于过滤表的语句,与在Excel中使用过滤工具的方式相同!
左侧是获取23岁以上患者姓名的代码。 右侧显示了一个直观的表示形式:
如果希望满足两个子句的患者姓名,可以使用AND。 例如。 查找年龄超过23磅且体重超过130磅的患者的姓名。
SELECT NameFROM patient_infoWHERE Age 》 23 AND Weight_lbs 》 130
如果要满足两个子句之一的患者姓名,可以使用OR。 例如。 查找22岁以下或23岁以上的患者的姓名。
SELECT NameFROM patient_infoWHERE Age 《 22 OR Age 》 23
4. GROUP BY(可选)
GROUP BY会执行它所说的—将具有相同值的行分组为摘要行。 它通常与诸如COUNT,MIN,MAX,SUM,AVG之类的聚合函数一起使用。
让我们使用下面的示例:
如果我们想获取每位患者的医院就诊次数,则可以使用下面的代码并获得以下结果:
5. ORDER BY(可选)
ORDER BY使您可以基于特定属性或多个属性以升序或降序对结果进行排序。 让我们举个例子。
SELECT *FROM patient_infoORDER BY Age asc
“ ORDER BY Age asc”表示您的结果集将按年龄按升序对行进行排序(请参见上图中的左表)。 如果要按降序排列(上图中的右表),则将desc替换为asc。
-
SQL
+关注
关注
1文章
762浏览量
44109 -
数据库
+关注
关注
7文章
3792浏览量
64339 -
变量
+关注
关注
0文章
613浏览量
28359
发布评论请先 登录
相关推荐
评论