当前位置: 首页 > news >正文

MySQL的SELECT

简单SELECT语句

我们从最简单的SELECT语句开始起

简单的SELECT语句:
SELECT {*, column [alias], . }
FROM table;
说明:
–SELECT列名列表。*表示所有列。
–FROM 提供数据源(表名/视图名)
–默认选择所有行例子
查询数据:select * from student;
查询部分字段:select id,address from student;

这也是用的最多的方式之一

SELECT中的算数表达式

对于数值型的数据列,变量,常量可以使用 加减乘除(+ - * /)

对于日期型的数据列,变量,常量只可以使用 加减 (+ -)

运算符不仅可以在列和常量之间进行运算,也可以在多列之间进行运算

select id,age*10 from student;

运算符的优先级

  1. 乘除>加减

  1. 运算顺序从左往右

  1. 括号可以改变运算顺序

SELECT查询时对重复数据的处理

使用 DISTINCT 可以去除重复记录

SELECT DISTINCT name from student /*这时候发现数据中有重复数据*/
SELECT DISTINCT(distinct) name from student; /*使用 DISTINCT 可以去除重复记录*/DISTINCT的作用范围是后面所有字段的组合
SELECT DISTINCT id,name from student;

限制所选择的记录

使用WHERE子句限定返回的记录

where使用注意事项

  • WHERE中的字符串和日期值

  • 字符串和日期要用单引号扩起来

  • SQl语句对于大小写不是特别敏感但是字符串是大小写敏感的,日期值是格式敏感的

语法:
WHERE子句在FROM 子句后
SELECT[DISTINCT] {*, column [alias], . } FROM table–[WHEREcondition(s)];简单例子:
select id,name from student where name="琦琦";

在where中也可以使用各种运算符 比如 > = < and in like 等 别的篇章会再讲到

也可以使用正则表达式

数据分组——分组查询

GROUP BY子句的真正作用在于与各种聚合函数配合使用。它用来对查询出来的数据进行分组

  • 分组的含义是:把该列具有相同值的多条记录当成一组记录处理,最后只输出一条记录。

  • 分组函数忽略空值,。

  • 结果集隐式按升序排列,如果需要改变排序方式可以使用Order by 子句

语法:
SELECT column, group_function
FROM table
[WHERE condition]
[GROUP BY group_by_expression]
[ORDER BY column];例子:select max(age) from student [where] group by id;
注意:select只能选中聚合函数字段 或者group by 分组的字段

分组函数规则

  • 如果使用了分组函数,或者使用GROUP BY 的查询:出现在SELECT列表中的字段,要么

出现在组合函数里,要么出现在GROUP BY 子句中。

  • GROUP BY 子句的字段可以不出现在SELECT列表当中。

  • 使用集合函数可以不使用GROUP BY子句,此时所有的查询结果作为一组

数据分组后限制所选择的记录

HAVING

在group by分组之后的记录里用HAVING代替limit 来限制记录

HAVING子句用来对分组后的结果再进行条件过滤

select MAX(age) from student group by age having age>20;

HAVING与WHERE的区别

  • WHERE是在分组前进行条件过滤,HAVING子句是在分组后进行条件过滤

  • WHERE子句中不能使用聚合函数,HAVING子句可以使用聚合函数。

对查询结果排序

查询语句执行的查询结果,数据是按插入顺序排列

实际上需要按某列的值大小排序排列

按某列排序采用order by 列名[desc],列名…

设定排序列的时候可采用列名、列序号和列别名

如果按多列排序,每列的asc,desc必须单独设定

asc 升序 desc降序 就那么简单

分组排序select id,group_concat(name),group_concat(age) from student group by id desc;
多分组排序select id,group_concat(name),group_concat(age) from student group by id asc,age asc;先根据id升序排,一样的时候再根据age升序排

这边顺便提一下列别名 在select的过程中可以给列取别的名字来使用

在查询中使用别名 select MAX(age) rage from student group by rage having rage>20;

和之前讲过的语句是一个意思

写上头了,再将一个联合查询

联合查询

说明:一般情况下,我们会将 IN 或者 OR 语句 改写成 UNION ALL,来提高性能

UNION 去重复

UNION ALL 不去重复

select id,name,age from student where age>20
union
select id,name,age from student where age<15

MySQL的通配符

MySQL中的常用统配符有三个:

%:用来表示任意多个字符,包含0个字符

_ : 用来表示任意单个字符

escape:用来转义特定字符

相关文章:

MySQL的SELECT

简单SELECT语句我们从最简单的SELECT语句开始起简单的SELECT语句&#xff1a; SELECT {*, column [alias], . } FROM table; 说明&#xff1a; –SELECT列名列表。*表示所有列。 –FROM 提供数据源(表名/视图名) –默认选择所有行例子 查询数据&#xff1a;select * from stude…...

conda 搭建tensorflow-GPU和pycharm以及VS2022 软件环境配置

conda 搭建tensorflow-GPU和pycharm以及VS2022 软件环境配置一、TensorFlow 环境配置安装1. Anaconda下载安装2.conda创建tensorflow环境二、pycharm以及VS2022 环境配置2.1 pycharm 软件安装以及环境配置2.2.1 pycharm 软件安装2.2.2 pycharm 软件conda环境配置2.2 Visual Stu…...

HACKTHEBOX——Teacher

nmapnmap -sV -sC -p- -T4 -oA nmap 10.10.10.153nmap只发现了对外开放了80端口&#xff0c;从http-title看出可能是某个中学的官网http打开网站确实是一个官网&#xff0c;查看每个接口看看有没有可以利用的地方发现了一个接口&#xff0c;/images/5.png&#xff0c;但是响应包…...

干货| Vue小程序开发技术原理

目前应用最广的三大前端框架分别是Vue、 React 和 Angular 。其中&#xff0c;不管是 BAT 大厂&#xff0c;还是创业公司&#xff0c;Vue 都有广泛的应用。如今&#xff0c;再随着移动开发小程序的蓬勃发展&#xff0c;Vue也广泛应用到了小程序开发当中。今天&#xff0c;就来详…...

unity-web端h5记录

title: unity-web端h5记录 categories: Unity3d tags: [unity, web, h5] date: 2023-02-23 17:00:53 comments: false mathjax: true toc: true unity-web端h5记录 前篇 5款常用的html5游戏引擎以及优缺点分析 - https://imgtec.eetrend.com/blog/2022/100557792.htmlUnity We…...

基于部标JT808的车载视频监控需求与EasyCVR视频融合平台解决方案设计

一、方案背景 众所周知&#xff0c;在TSINGSEE青犀视频解决方案中&#xff0c;EasyCVR视频智能融合共享平台主要作为视频汇聚平台使用&#xff0c;不仅能兼容安防标准协议RTSP/Onvif、国标GB28181&#xff0c;互联网直播协议RTMP&#xff0c;私有协议海康SDK、大华SDK&#xf…...

Grafana邮件及告警配置

之前部署过服务器的监控组件程序&#xff0c;本在部署时也进行邮件及告警配置&#xff0c;但未进行文档整理&#xff0c;在这儿进行展示。之前用过Grafana的7.*的版本&#xff0c;在进行邮件配置还比较OK&#xff0c;但在配置告警时&#xff0c;太繁琐&#xff0c;还要自己去写…...

Springboot Java多线程操作本地文件,加读写锁,阻塞的线程等待运行中的线程执行完再查询并写入

Springboot Java多线程操作本地文件&#xff0c;加读写锁&#xff0c;阻塞的线程等待运行中的线程执行完再查询并写入1、读写锁2、文件锁3、Synchronized和Lock的区别1、读写锁 在 Spring Boot 中进行多线程操作本地文件并加读写锁可以使用 Java 的 java.nio.file 包中提供的文…...

WebRTC拥塞控制算法——GCC介绍

网络拥塞是基于IP协议的数据报交换网络中常见的一种网络传输问题&#xff0c;它对网络传输的质量有严重的影响&#xff0c; 网络拥塞是导致网络吞吐降低&#xff0c; 网络丢包等的主要原因之一&#xff0c; 这些问题使得上层应用无法有效的利用网络带宽获得高质量的网络传输效果…...

大数据技术之Maxwell基础知识

大数据技术之Maxwell基础知识 文章目录大数据技术之Maxwell基础知识0、写在前面1、Maxwell 概述1.1 Maxwell 定义1.2 Maxwell 工作原理1.2.1 MySQL 主从复制过程1.2.2 Maxwell 的工作原理1.2.3 MySQL 的 binlog1.3 Maxwell与Cannal对比2. Maxwell 使用2.1 Maxwell 安装部署2.1.…...

元数据管理实践数据血缘

元数据管理实践&数据血缘 什么是元数据&#xff1f;元数据MetaData狭义的解释是用来描述数据的数据&#xff0c;广义的来看&#xff0c;除了业务逻辑直接读写处理的那些业务数据&#xff0c;所有其它用来维持整个系统运转所需的信息&#xff0f;数据都可以叫作元数据。比如…...

SQL的优化【面试工作】

SQL的优化 最近看到群友在讨论这块的优化,感觉不管工作和面试,都是用上的,记录下吧!(不然又记不住) 优化点: 处理和优化复杂的 SQL 查询可以有以下几个方向&#xff1a; 1.优化查询语句本身 首先&#xff0c;可以优化 SQL 查询语句本身&#xff0c;尽量让其更加简洁、高效。 …...

Kotlin 40. Dependency Injection 依赖注入以及Hilt在Kotlin中的使用,系列3:Hilt 注释介绍及使用案例

一起来学Kotlin&#xff1a;概念&#xff1a;27. Dependency Injection 依赖注入以及Hilt在Kotlin中的使用&#xff0c;系列3&#xff1a;Hilt 注释介绍及使用案例 此系列博客中&#xff0c;我们将主要介绍&#xff1a; Dependency Injection&#xff08;依赖注入&#xff09…...

1000亿数据、30W级qps如何架构?来一个天花板案例

1000亿级存储、30W级qps系统如何架构&#xff1f;来一个天花板案例 说在前面 在尼恩的&#xff08;50&#xff09;读者社群中&#xff0c;经常遇到一个 非常、非常高频的一个架构面试题&#xff0c;类似如下&#xff1a; 千万级数据&#xff0c;如何做系统架构&#xff1f;亿…...

人工智能及其应用(蔡自兴)期末复习

人工智能及其应用&#xff08;蔡自兴&#xff09;期末复习 相关资料&#xff1a; 人工智能期末复习 人工智能复习题 人工智能模拟卷 人工智能期末练习题 1 ⭐️绪论 人工智能&#xff1a;人工智能就是用人工的方法在机器&#xff08;计算机&#xff09;上实现的智能&#xff0…...

openpnp - configure - 矫正里程碑

文章目录openpnp - configure - 矫正里程碑概述备注ENDopenpnp - configure - 矫正里程碑 概述 进入矫正里程碑了 查找问题 现在第一个问题是X轴的齿隙矫正 根据提示, 将顶部相机移动到主基准点上, 选择容差(就选用默认的0.025), 开始矫正. 正好开机后, 使能了视觉原点归零. …...

JavaScript高级程序设计读书分享之8章——8.2创建对象

JavaScript高级程序设计(第4版)读书分享笔记记录 适用于刚入门前端的同志 创建Object的实例 let person new Object(); person.name "Nicholas"; person.age 29; person.job "Software Engineer"; person.sayName function() { console.log(this…...

关于Could not build wheels for opencv-python-headless, which is...报错的解决方案

在通过最新版pip在线安装package&#xff1a;opencv-python-headless的时候&#xff0c;会产生报错信息&#xff0c;主要为 ERROR: Failed building wheel for opencv-python-headless ERROR: Could not build wheels for opencv-python-headless, which is required to insta…...

【K3s】第1篇 K3s入门级介绍及架构详解

1、什么是 K3s? K3s 是一个轻量级的 Kubernetes 发行版&#xff0c;它针对边缘计算、物联网等场景进行了高度优化。K3s 有以下增强功能&#xff1a; 打包为单个二进制文件。使用基于 sqlite3 的轻量级存储后端作为默认存储机制。同时支持使用 etcd3、MySQL 和 PostgreSQL 作…...

Java学习--反射

1. 反射 1.1 反射的概述&#xff1a; **专业的解释&#xff08;了解一下&#xff09;&#xff1a;**是在运行状态中&#xff0c;对于任意一个类&#xff0c;都能够知道这个类的所有属性和方法&#xff1b;对于任意一个对象&#xff0c;都能够调用它的任意属性和方法&#xff…...

React hook之useRef

React useRef 详解 useRef 是 React 提供的一个 Hook&#xff0c;用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途&#xff0c;下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...

Java如何权衡是使用无序的数组还是有序的数组

在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...

苍穹外卖--缓存菜品

1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得&#xff0c;如果用户端访问量比较大&#xff0c;数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据&#xff0c;减少数据库查询操作。 缓存逻辑分析&#xff1a; ①每个分类下的菜品保持一份缓存数据…...

新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案

随着新能源汽车的快速普及&#xff0c;充电桩作为核心配套设施&#xff0c;其安全性与可靠性备受关注。然而&#xff0c;在高温、高负荷运行环境下&#xff0c;充电桩的散热问题与消防安全隐患日益凸显&#xff0c;成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...

Python如何给视频添加音频和字幕

在Python中&#xff0c;给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加&#xff0c;包括必要的代码示例和详细解释。 环境准备 在开始之前&#xff0c;需要安装以下Python库&#xff1a;…...

自然语言处理——循环神经网络

自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元&#xff08;GRU&#xff09;长短期记忆神经网络&#xff08;LSTM&#xff09…...

html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码

目录 一、&#x1f468;‍&#x1f393;网站题目 二、✍️网站描述 三、&#x1f4da;网站介绍 四、&#x1f310;网站效果 五、&#x1fa93; 代码实现 &#x1f9f1;HTML 六、&#x1f947; 如何让学习不再盲目 七、&#x1f381;更多干货 一、&#x1f468;‍&#x1f…...

人机融合智能 | “人智交互”跨学科新领域

本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...

Mysql8 忘记密码重置,以及问题解决

1.使用免密登录 找到配置MySQL文件&#xff0c;我的文件路径是/etc/mysql/my.cnf&#xff0c;有的人的是/etc/mysql/mysql.cnf 在里最后加入 skip-grant-tables重启MySQL服务 service mysql restartShutting down MySQL… SUCCESS! Starting MySQL… SUCCESS! 重启成功 2.登…...

Python 实现 Web 静态服务器(HTTP 协议)

目录 一、在本地启动 HTTP 服务器1. Windows 下安装 node.js1&#xff09;下载安装包2&#xff09;配置环境变量3&#xff09;安装镜像4&#xff09;node.js 的常用命令 2. 安装 http-server 服务3. 使用 http-server 开启服务1&#xff09;使用 http-server2&#xff09;详解 …...