Mysql基础(七)DQL之select 语句(二)

news2024/9/21 2:48:49

一  select 语句

WHERE子句后面'跟着'的是'一个或多个条件',用于指定需要'检索的行'

COUNT(): 多少'条'数据

where 1=1 和 count(1) 与 count(*)

count(1)、count(*)和count(指定字段)之间的区别

①  order by 排序

mysql 之数据排序扩展

1、使用 'order by' 语句来实现'排序'

2、排序可针对'一个'或'多个'字段

3、ASC: 升序,'default 默认'排序方式    -->  'ascending'

4、DESC:降序                         -->  'descending order'

5、order by的'语法'结构

select 字段1,字段2 from '表名' order by '字段1 desc|asc','字段2 desc|asc';

细节点:order by 也可以通过 'where 子句' 对查询结果进行进一步的过滤​

重点: 通过在SELECT语句中添加 'ORDER BY' 子句来对'结果集'进行排序

原理:

  1)使用select语句可以将'需要的数据'从 mysql 数据库中'查询出来'

  2)如果对'查询的结果'进行排序操作,可以使用 'order by' 语句完成'排序'

  3)并且最终将排序后的结果'返回'给客户

重点:使用'CASE'语句'自定义'排序规则

②  limit 限制查询结果

注意:   在MySQL中,LIMIT子句和OFFSET子句的顺序是'固定'的,先写LIMIT再写OFFSET

场景:  有时候我们'只'需要检索'结果集的前几行'或'特定范围内'的数据

需求1: 可以使用LIMIT子句来限制'结果集'的大小

具体:只返回前'2条'记录

SELECT id, name FROM customers LIMIT 2;

需求2:们也可以使用'OFFSET子句'来指定结果集的'起始'位置,默认是'0'

例如: 但从'第2'记录开始,只返回'10条'记录

SELECT id, name FROM customers LIMIT 2 OFFSET 21;

注意: 在MySQL中LIMIT子句和OFFSET子句的顺序是'固定'的,先写LIMIT再写OFFSET

++++++++++++++++  "分割线"  ++++++++++++++++

补充: 限制从第1行开始,最多返回2行,结果返回了第1~2行

使用SELECT * FROM user LIMIT 0, 2;

③  group by 分组子句

select 分组函数,列 (要求出现在group by的后面)
from 表
【where 筛选条件】   --  '分组前'的筛选条件
group by 分组的列表  --  '分组'
【order by 子句】
having             --  '分组后'的筛选用having而'不是'where

作用是通过一定的规则将一个数据集划分成'若干个小的区域',然后针对'若干个小区域'进行数据处理

细节点:'该列'必须'包含'在聚合函数或 'GROUP BY' 子句中 --> '类(集合)'

group by 深入学习    分组查询的基础

--  姓名,部门,薪水,入职日期

create table if not exists deploy (
  id int NOT NULL PRIMARY KEY AUTO_INCREMENT,
  name varchar(11) COMMENT '名字',
  dept varchar(20) NOT NULL,
  salary int NOT NULL,de date
) default character set utf8;

insert into  deploy  values(1,'张三','开发部',4000,'2015-09-28');
insert into  deploy  values(2,'李四','设计部',4500,'2010-10-15');
insert into  deploy  values(3,'王五','销售部',6000,'2012-10-15');
insert into  deploy  values(4,'王明','开发部',2500,'2015-10-28');
insert into  deploy  values(5,'王雨','开发部',2500,'2015-10-28');
insert into  deploy  values(6,'赵八','销售部',6000,'2010-11-28');
insert into  deploy  values(7,'赵八','设计部',3000,'2011-11-28');
insert into  deploy  values(8,'孙九','销售部',5000,'2017-11-28');

适用group by的'场景':出现函数如sum、max、avg、count,这种情况一般同时伴随着分组group by

 

④  having  筛选    

+++++++++++++++  "mysql中的where和having子句筛选的区别"  +++++++++++++++

1、having字句可以让我们筛选'成组后'的各种数据

2、where字句在'聚合前'先'筛选' row记录

备注: where'作用'在group by和having字句前,而 having子句在'聚合后'对'组记录'进行筛选

 

⑤    select 编排顺序

SELECT name, COUNT(*) as num_subscriptions
FROM customers
JOIN subscriptions ON customers.id = subscriptions.customer_id
WHERE name LIKE 'J%'
GROUP BY customers.id
HAVING num_subscriptions >= 2;

-- 该语句将按照名字以"J"开头的客户进行分组,并统计每个客户订阅的服务数量

-- 然后,它使用HAVING子句过滤掉订阅服务少于2个的客户

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1693804.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据迁移利器登场!Elasticdumpv6.110震撼发布,助你轻松搬迁大数据!

简介 Elasticdump 是一个用于导出和导入 Elasticsearch 数据的工具。它能够从一个 Elasticsearch 集群读取数据并写入到另一个 Elasticsearch 集群、文件系统或其他数据存储(例如 S3)。这个工具非常有用,特别是在进行数据迁移、备份和恢复操作…

# AI产品经理的自我修养:既懂用户,更懂技术!

今天上班的时候,发现很多AI社群都在讨论一篇播客《一个顶级AI产品经理的自我修养,对谈光年之外产品负责人Hidecloud》,这篇播客的嘉宾是光年之外的产品负责人——Hidecloud(张涛),聊了许多关于他在做AI产品…

ubuntu20.04 安装系统后-开机黑屏-nvidia显卡驱动没问题_thinkpad-intel-13700H

文章目录 硬件现象原因&解决 硬件 thinkpad p1 gen6笔记本, intel 13代cpu 13700H,nvidia rtx 2000 Ada laptop gpu 13700H应该是有集显的,但可能没装集显驱动or由于Bios设置的缘故,我的win任务管理器只能看到一个gpu(gpu0)&#xff1…

Spring Boot 01:Spring Boot 项目的两种创建方式

一、前言 记录时间 [2024-05-25] 本文讲述 Spring Boot 项目的两种创建方式,分别是 IDEA 和官网。 由 Spring 官网知,当前 Spring Boot 的最新版本为 3.3.0,需要最低 JDK 版本为 17。 Spring 官网项目创建地址JDK 17 版本下载地址 准备工作…

【Linux网络】端口及UDP协议

文章目录 1.再看四层2.端口号2.1引入linux端口号和进程pid的区别端口号是如何生成的传输层有了pid还设置端口号端口号划分 2.2问题2.3netstat 3.UDP协议3.0每学一个协议 都要讨论一下问题3.1UDP协议3.2谈udp/tcp实际上是在讨论什么? 1.再看四层 2.端口号 端口号(Po…

《计算机网络微课堂》1-6 计算机体系结构

常见的计算机网络体系结构 从本节课开始,我们要用 4 次课的时间来介绍有关计算机网络体系结构的知识,具体包含以下内容: 一,常见的计算机网络体系结构二,计算机网络体系结构分层的必要性三,计算机网络体系…

MPLS LDP原理与配置

1.LDP基本概念 (1)LDP协议概述 (2)LDP会话、LDP邻接体、LDP对等体 (3)LSR ID 与LDP ID (4)LDP消息 ⦁ 按照消息的功能,LDP消息一共可以分为四大类型:发现…

【UE数字孪生学习笔记】 使用DataSmith对模型快速导入 UE5.3.2使用unreal DataSmith文件

声明:部分内容来自于b站,慕课,公开课等的课件,仅供学习使用。如有问题,请联系删除。 部分内容来自UE官方文档,博客等 UE5.3.2使用 3D Max 导出的unreal DataSmith文件 1. 去UE官网下载DataSmith导出器并导…

QAnything 1.4.1 中的文档解析

2024年初我们开源了QAnything,一个基于检索增强生成式应用(RAG)的本地知识库问答系统。对于本地知识库,QAnything支持多种格式的文档输入,允许用户上传包括PDF、图片、Word、PowerPoint、Excel、TXT,甚至音…

默认路由实现两个网段互通实验

默认路由实现两个网段互通实验 **默认路由:**是一种特殊的静态路由,当路由表中与数据包目的地址没有匹配的表项时,数据包将根据默认路由条目进行转发。默认路由在某些时候是非常有效的,例如在末梢网络中,默认路由可以…

牛客NC334 字典序第K小【困难 10叉树 Java/Go/PHP/C++】,力扣 440. 字典序的第K小数字

题目 题目链接: https://www.nowcoder.com/practice/670c2bda374241d7ae06ade60de33e8b https://leetcode.cn/problems/k-th-smallest-in-lexicographical-order/description/ 本答案核心 10叉树, 数学规律Java代码 import java.util.*;public class Solution {…

【Android开发】Android请求出现网络请求失败,HTTP请求,安全网络通信与权限管理

额外权限 要有这个权限&#xff1a; <uses-permission android:name"android.permission.INTERNET" />HTTP安全考虑 从 Android 9&#xff08;API 级别 28&#xff09;开始&#xff0c;默认情况下不支持通过 HTTP 访问网络&#xff0c;而要求使用 HTTPS。这…

微服务-系统架构

微服务&#xff1a; 系统架构的演变 单一应用架构 早期的互联网应用架构&#xff0c;大量应用服务 功能 集中在一个包里&#xff0c;把大量的应用打包为一个jar包&#xff0c;部署在一台服务器&#xff0c;例如tomcat上部署Javaweb项目 缺点:耦合度高&#xff0c;一台服务器…

科林Linux5_线程

一、线程基础 进程是操作系统经典的执行任务的生产力。 进程是最小的资源分配单位&#xff0c;进程的内存开销较大&#xff0c;在内存资源不变的情况下&#xff0c;提高进程的执行能力&#xff08;生产力&#xff09; 线程寄存在进程中&#xff0c;与进程共享资源&#xff0…

Leetcode 876. 链表的中间结点

题目描述 给你单链表的头结点 head &#xff0c;请你找出并返回链表的中间结点。 如果有两个中间结点&#xff0c;则返回第二个中间结点。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5] 输出&#xff1a;[3,4,5] 解释&#xff1a;链表只有一个中间结点&#xff0c…

2024年【N1叉车司机】免费试题及N1叉车司机模拟试题

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 N1叉车司机免费试题考前必练&#xff01;安全生产模拟考试一点通每个月更新N1叉车司机模拟试题题目及答案&#xff01;多做几遍&#xff0c;其实通过N1叉车司机模拟考试题库很简单。 1、【多选题】《中华人民共和国特…

Spring AMQP 随笔 8 Retry MessageRecoverer ErrorHandler

0. 列位&#xff0c;响应式布局好麻烦的 … 有意思的&#xff0c;chrome devtool 在调试响应式的分辨率的时候&#xff0c;比如说在 宽度远远大于 768 的时候&#xff0c;按说浏览器也知道大概率是 web端方式打开&#xff0c;样式也是如此渲染&#xff0c;但一些事件(没有鼠标…

题解:P9535 [YsOI2023] 连通图计数

题意 求&#xff1a;在所有 n n n 个点 m m m 条边的无向简单连通图中&#xff0c;满足把第 i i i 个点删去后图被分为 a i a_i ai​​ 个连通块。 n − 1 ≤ m ≤ n 1 n-1\le m\le n1 n−1≤m≤n1。 思路 将 m n − 1 , m n , m n 1 mn-1,mn,mn1 mn−1,mn,mn1​ 三…

二叉树——堆详解

目录 前言&#xff1a; 一、堆的结构 二、向上调整和向下调整 2.1 向上调整 2.2 向下调整 2.3 向上调整和向下调整时间复杂度比较 三、堆的实现 3.1 堆的初始化 3.2 堆的销毁 3.3 堆的插入 3.4堆的删除 3.5 取堆顶元素 3.6 对堆判空 四、堆排序 五、TOP-K 问题 六、代码总…

电商公司需不需要建数字档案室呢

建立数字档案室对于电商公司来说是非常有必要的。以下是一些原因&#xff1a; 1. 空间节约&#xff1a;数字档案室可以将纸质文件转化为电子文件&#xff0c;节省了大量存储空间。这对于电商公司来说尤为重要&#xff0c;因为他们通常会有大量的订单、客户信息和供应商合同等文…