了解技术行业最需要的技能!
Image by Tumisu from Pixabay
所以您想学习SQL? 太好了,你应该!
在本文中,我将向您解释如何以最简单的方式使用SQL查询。 但首先,让我定义几个术语……
如果您喜欢这种东西,请成为第一个在这里订阅我的新YouTube频道的人! 尽管还没有任何视频,但我将以视频的形式分享很多令人赞叹的内容,像这样。 谢谢您的支持 :)
行,也称为记录,是代表单个实体的属性(变量)的集合。 例如,一行可能代表一名医院患者,并且可能具有属性/变量,例如年龄,体重,身高等。
表是具有相同属性(具有相同变量)的行的集合。 最能帮助我的是将表格视为Excel表格。
example of a table
查询是从数据库表或表组合中获取数据的请求。 如果要查找所有23岁以上的患者,请使用上表进行查询。
由于这是面向初学者的教程,因此,我将向您展示如何从一个表中提取数据时如何编写查询。
基本查询包含五个组件:
结构如下:
SELECT [column_name_1], [column_name_2], [column_name_n]FROM [table_name]WHERE [condition 1]GROUP BY [column_name] ORDER BY [column_name]
让我们带回我的示例作为参考:
SELECT确定要从给定表中提取哪些列。 例如,如果我想提取名称,那么我的代码将如下所示:
SELECT Name
一个巧妙的技巧是,如果要提取所有列,可以使用星号-参见下文:
SELECT *
FROM确定要从中提取信息的表。 例如,如果您要提取患者的姓名,则需要从名为Patient_info的表中提取数据(请参见上文)。 代码看起来像这样:
SELECT NameFROM patient_info
这是您的第一个功能查询! 让我们完成另外3个可选步骤。
如果要选择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
GROUP BY会执行它所说的—将具有相同值的行分组为摘要行。 它通常与诸如COUNT,MIN,MAX,SUM,AVG之类的聚合函数一起使用。
让我们使用下面的示例:
如果我们想获取每位患者的医院就诊次数,则可以使用下面的代码并获得以下结果:
ORDER BY使您可以基于特定属性或多个属性以升序或降序对结果进行排序。 让我们举个例子。
SELECT *FROM patient_infoORDER BY Age asc
" ORDER BY Age asc"表示您的结果集将按年龄按升序对行进行排序(请参见上图中的左表)。 如果要按降序排列(上图中的右表),则将desc替换为asc。
这就是您构造查询的方式! 您刚刚学会了技术界最需要的技能之一。 我将在下面提供一些链接,您可以在其中练习SQL技能。 请享用!
(本文翻译自Terence Shin的文章《Learn Beginner SQL in 5 steps in 5 minutes!》,参考:https://towardsdatascience.com/learn-beginner-sql-in-5-steps-in-5-minutes-c44c47fa39a1)