0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

SQL构造查询的方式详细概述

Wildesbeast 来源:今日头条 作者:闻数起舞 2020-04-12 11:47 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

介绍

所以您想学习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
    SQL
    +关注

    关注

    1

    文章

    810

    浏览量

    47074
  • 数据库
    +关注

    关注

    7

    文章

    4097

    浏览量

    68746
  • 变量
    +关注

    关注

    0

    文章

    616

    浏览量

    29650
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    系统讲解MySQL慢查询的完整排查流程

    MySQL 慢查询是影响业务响应速度的最常见根因。业务高峰期一次看似简单的 SELECT 查询,可能拖慢整个系统——前端页面加载转圈、API 超时、后台任务堆积、数据库连接池耗尽。更要命的是,慢查询
    的头像 发表于 05-11 16:50 352次阅读

    NineData 2026年3月功能上新:支持飞书外部审批,增强慢查询分析与数据复制能力

    NineData智能数据管理平台2026年3月新功能发布,围绕数据库 DevOps、慢查询分析、数据归档清理与数据复制持续升级:新增飞书 Lark 外部审批和多渠道消息通知,慢查询分析扩展支持阿里云
    的头像 发表于 04-10 11:40 410次阅读
    NineData 2026年3月功能上新:支持飞书外部审批,增强慢<b class='flag-5'>查询</b>分析与数据复制能力

    MySQL慢查询调优指南

    MySQL慢查询是数据库性能问题的最常见原因。当一条SQL语句执行超过1秒时,就可能影响用户体验;超过10秒时,通常会收到用户投诉;而超过30秒的查询,往往意味着系统存在严重的性能问题。本文从实
    的头像 发表于 04-09 10:01 279次阅读

    MySQL数据库慢查询分析与优化实战

    在讨论MySQL慢查询之前,需要先明确一个关键前提:什么是慢查询? 不同业务场景下,慢查询的定义差异巨大。一个数据报表后台的SQL执行30秒可能属于正常范围,但一个订单创建的数据库操作
    的头像 发表于 04-02 09:38 335次阅读

    NineData SQL AI 智能补全上线:写 SQL,不必每次都从头敲

    NineData推出SQLAI智能补全功能,通过AI技术实现上下文感知的SQL语句智能提示。该功能不仅能补全关键字,还能根据当前输入内容预测后续查询意图,显著提升多表关联、复杂条件等场景下的编写效率
    的头像 发表于 04-01 20:19 377次阅读
    NineData <b class='flag-5'>SQL</b> AI 智能补全上线:写 <b class='flag-5'>SQL</b>,不必每次都从头敲

    SQL分析选型:DMS/DAS与NineData该如何选择

    阿里云 DMS 的慢SQL 趋势、DAS 的 SQL 审计能力成熟,可满足阿里云用户基础需求。NineData 侧重跨云统一工作台、研发与 DBA 协同,打通慢日志分析、性能诊断、规范审核、索引建议全链路,更适配企业级慢查询持续
    的头像 发表于 03-25 17:20 1617次阅读
    慢<b class='flag-5'>SQL</b>分析选型:DMS/DAS与NineData该如何选择

    NineData 社区版的慢SQL分析,比查看日志+看EXPLAIN适合中小团队

    本文探讨 NineData 社区版在 MySQL 慢 SQL 场景对中小团队的适用性。与 “查看日志 + 看 EXPLAIN” 传统方式不同,它将慢 SQL 按模板聚合,能从大盘、模板、诊断等多维
    的头像 发表于 03-17 14:07 202次阅读
    NineData 社区版的慢<b class='flag-5'>SQL</b>分析,比查看日志+看EXPLAIN适合中小团队

    MySQL 慢 SQL 排查这件事,NineData 社区VS DBeaver/ Navicat 技术分析

    DBeaver Community 和 Navicat Premium Lite 都是很有价值的客户端工具,在单条 SQL查询和验证上,依然是 DBA 最顺手的入口。 但 NineData
    的头像 发表于 03-17 11:53 230次阅读
    MySQL 慢 <b class='flag-5'>SQL</b> 排查这件事,NineData 社区VS DBeaver/ Navicat 技术分析

    爱回收平台价格查询API接口详解

    ​ 在爱回收平台上,用户经常需要根据品牌ID和项目ID查询相关商品或服务的价格。为此,平台提供了一个简洁高效的API接口,帮助开发者或第三方应用实现自动化价格查询。本文将详细介绍这个API的使用方法
    的头像 发表于 11-19 14:57 1142次阅读
    爱回收平台价格<b class='flag-5'>查询</b>API接口详解

    不用编程不用联网,实现倍福(BECKHOFF)PLC对接SQL数据库,上报和查询数据的案例

    ​IGT-DSER智能网关模块,支持各种PLC、智能仪表、远程IO与数据库之间双向通讯,既可以读取设备的数据上报到SQL数据库,也可以从数据库查询数据后写入到设备;数据库软件支持MySQL
    发表于 10-10 11:14

    数据库慢查询分析与SQL优化实战技巧

    今天,我将分享我在处理数千次数据库性能问题中积累的实战经验,帮助你系统掌握慢查询分析与SQL优化的核心技巧。无论你是刚入门的运维新手,还是有一定经验的工程师,这篇文章都将为你提供实用的解决方案。
    的头像 发表于 09-08 09:34 1376次阅读

    SQL 通用数据类型

    SQL 通用数据类型 数据库表中的每个列都要求有名称和数据类型。Each column in a database table is required to have a name and a
    的头像 发表于 08-18 09:46 948次阅读

    Text2SQL准确率暴涨22.6%!3大维度全拆

    摘要 技术背景:Text2SQL 是将自然语言查询转为 SQL 的任务,经历了基于规则、神经网络、预训练语言模型、大语言模型四个阶段。当前面临提示优化、模型训练、推理时增强三大难题,研究
    的头像 发表于 08-14 11:17 890次阅读
    Text2<b class='flag-5'>SQL</b>准确率暴涨22.6%!3大维度全拆

    产品详情查询API接口

      在现代电子商务和软件开发中,产品详情查询API接口扮演着至关重要的角色。它允许开发者通过编程方式从远程服务器获取产品的详细信息,如名称、价格、描述和库存状态等。这种接口通常基于RESTful架构
    的头像 发表于 07-24 14:39 778次阅读
    产品详情<b class='flag-5'>查询</b>API接口

    媒体查询详解

    概述 媒体查询作为响应式设计的核心,在移动设备上应用十分广泛。媒体查询可根据不同设备类型或同设备不同状态修改应用的样式。媒体查询常用于下面两种场景: 针对设备和应用的属性信息(比如
    发表于 06-25 08:26