SQL必知必会(三)

简介: 作用是从一个或多个表中检索信息

SELECT语句

作用是从一个或多个表中检索信息

检索单个列


SELECT column FROM table;


该SQL语句的意思从某表中检索某一字段(列)的数据

注意:

1.SQL语句必须以分号作为结束标识,尤其在执行多条SQL语句的时候

2.SQL不区分大小写,这里根据开发习惯来规定,一般情况下用大写

3.在处理SQL语句,其中所有空格都会被忽略,一般建议通过空格或者换行方便阅读和调试

检索多个列


SELECT column1,column2,column3 FROM table;


跟检索单个列不同的是,我们需要将要查的列用逗号分割开(最后一个字段后面不加都好)

检索全部列

这里我们用通配符*来实现检索全部列


SELECT * FROM table;


通配符*标识返回全部列,列的顺序一般是表中定义的物理顺序

注意:

1.我们开发中坚决杜绝使用通配符去查找所有列(敲黑板!!!),如果需要查询所有字段,我们必须一个一个把字段全部写出去进行查找。使用通配符*会极大降低SQL执行性能

2.开发的原则是需要什么数据去拿什么数据,不去拿跟业务无关的数据以消耗磁盘IO

检索不同的值


SELECT DISTINCT column FROM table;


DISTINCT关键字表示数据库只返回不同的值

注意:

DISTINCT作用于所有列。如果是检索多行数据,使用DISTINCT会检索过滤这几个字段全部都相同的字段,后续随着进度的深入会补充对应的优化方案

限制返回结果

SQLServer、Oracle、Mysql对这部分限制语法有各自的写法未做统一,这里采用Mysql的语法进行解释


SELECT * FROM table LIMIT 1,1;


该SQL语句的意思是返回从第1行开始一共1行数据

注意:LIMIT 1,1中第一个被检索行元素下标是从第0行开始的,因此第一行是从0开始,1实际上在数据库中表示的是第2行

检索排序

本质上,检索的数据并不是随机显示的,如果不排序,数据一般将会按照它底层表中出现的顺序进行显示,有可能会是数据最初添加的顺序。但是如果数据随后进行过更新或删除,那么这个顺序有可能不依赖该排序顺序。关系数据库设计理论认为,如果不明确规定排序顺序,则不应该假定检索出的数据的顺序有任何意义。

ORDER BY

通常我们使用ORDER BY来实现对检索结果的排序


SELECT * FROM table ORDER BY column;


该SQL语句表示查询结果根据column进行排序

注意:

1.ORDER BY子句的位置,在指定一条ORDER BY子句时,应该保证它是SELECT语句的最后一条语句,如果不是最后的语句,将会出现错误消息

2.通常我们是选择使用要显示的列进行排序,但是实际上并不一定要这样,用非检索的列排序也是完全可以的

按多个列进行排序


SELECT * FROM table ORDER BY column1,column2;


指定列名,列名之间用逗号隔开即可。

我们需要注意的是,按多个列进行排序的时候,排序的顺序按照顺序进行规定,如果出现相同的column1,则开始使用column2进行排序,否则默认还是从第一个字段开始排序

指定排序方向

ORDER BY默认采用升序排序(ASC),如果想要采用降序排序,我们可以使用关键字DESC


SELECT * FROM table ORDER BY column DESC;


注意:

1.DESC只作用到位于其前面的列名

2.对于多个字段排序,如果要在每一列进行降序排序,必须每个字段指定DESC关键字

相关文章
|
机器学习/深度学习 算法 Python
Python高级算法——支持向量机(Support Vector Machine,SVM)
Python高级算法——支持向量机(Support Vector Machine,SVM)
1465 2
|
消息中间件 分布式计算 大数据
【大数据技术Hadoop+Spark】Flume、Kafka的简介及安装(图文解释 超详细)
【大数据技术Hadoop+Spark】Flume、Kafka的简介及安装(图文解释 超详细)
1148 0
|
自然语言处理 数据可视化 搜索推荐
用Python制作酷炫词云图,原来这么简单!
用Python制作酷炫词云图,原来这么简单!
3580 1
|
前端开发 Python
我们从`reportlab.pdfgen`模块中导入了`canvas`。这个模块提供了创建PDF文件所需的基本功能。
我们从`reportlab.pdfgen`模块中导入了`canvas`。这个模块提供了创建PDF文件所需的基本功能。
|
缓存 监控 前端开发
WEB前端三大主流框架:React、Vue与Angular
在Web前端开发中,React、Vue和Angular被誉为三大主流框架。它们各自具有独特的特点和优势,为开发者提供了丰富的工具和抽象,使得构建复杂的Web应用变得更加容易。
4361 6
|
机器学习/深度学习 存储 算法
机器学习经典算法:决策树
决策树(Decision Tree)是有监督学习中的一种算法,并且是一种基本的分类与回归的方法。决策树有两种:分类树和回归树。
|
14天前
|
人工智能 JSON 供应链
畅用7个月无影 JVS Claw |手把手教你把JVS改造成「科研与产业地理情报可视化大师」
LucianaiB分享零成本畅用JVS Claw教程(学生认证享7个月使用权),并开源GeoMind项目——将JVS改造为科研与产业地理情报可视化AI助手,支持飞书文档解析、地理编码与腾讯地图可视化,助力产业关系图谱构建。
23497 11
畅用7个月无影 JVS Claw |手把手教你把JVS改造成「科研与产业地理情报可视化大师」
|
3天前
|
人工智能 BI 持续交付
Claude Code 深度适配 DeepSeek V4-Pro 实测:全场景通关与真实体验报告
在 AI 编程工具日趋主流的今天,Claude Code 凭借强大的任务执行、工具调用与工程化能力,成为开发者与自动化运维的核心效率工具。但随着原生模型账号稳定性问题频发,寻找一套兼容、稳定、能力在线的替代方案变得尤为重要。DeepSeek V4-Pro 作为新一代高性能大模型,提供了完整兼容 Claude 协议的 API 接口,只需简单配置即可无缝驱动 Claude Code,且在任务执行、工具调用、复杂流程处理上表现极为稳定。
1023 0
|
7天前
|
人工智能 缓存 Shell
Claude Code 全攻略:命令大全 + 实战工作流(完整版)
Claude Code 是一款运行在终端环境下的 AI 编码助手,能够直接在项目目录中理解代码结构、编辑文件、执行命令、执行开发计划,并支持持久化记忆、上下文压缩、后台任务、多模型切换等专业能力。对于日常开发、项目维护、快速重构、代码审查等场景,它可以大幅减少手动操作、提升编码效率。本文从常用命令、界面模式、核心指令、记忆机制、图片处理、进阶工作流等维度完整说明,帮助开发者快速上手并稳定使用。
1930 4