介绍
所以您想学习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。
深度剖析旁路和阻断二极管
福禄克为益海嘉里提供减少在生产过程中消耗大量的电能的措施
罗德与施瓦茨为墨西哥电台提供FM发射机
“云芯一体”北斗高精度在智能机器人领域的应用入选“典型案例”!
天下英才尽收麾下 奥士康实施战略人才培养“百人计划”
SQL构造查询的方式详细概述
比特币在今年将会发生哪些趋势
OPPO手机宣布,成功实现了采用3D结构光技术的5G视频通话演示
Vim分屏怎么做
fireflyFaceRK3399主板编译固件介绍
电源开关设计基础
RxJava2二刷
PCB杂散电容大小计算方法 PCB杂散电容怎么消除
步进电动机的构造及工作原理
AI时代下的新黑科技家居神器,智能魔镜显示屏来袭
运用替代能源进行远端感测
加密数字货币市场为何呈现出暴风式发展
比特币价格短暂触及9000美元后迅速回落
科学家利用无人机创建小型机载量子网络
VR/AR市场群雄逐鹿 全力推进产业进一步落地