MySQL 高级SQL语句(一)
目录
一、高级SQL语句(进阶查询)
1.1 select
1.2 distinct
1.3 where
1.4 and 和 or
1.5 in
1.6 between
1.7 通配符
1.8 like
1.9 order by
一、高级SQL语句(进阶查询)
先准备2个表
一个location表:
use market;
create table location(Region char(20),Store_Name char(20));
insert into location values('East','Boston');
insert into location values('East','New York');
insert into location values('West','Los Angeles');
insert into location values('West','Houston');
一个store_info表:
create table store_info (Store_Name char (20),Sales int (10) ,Date char(10));insert into store_info values('Los Angeles', '1500', '2020-12-05') ;insert into store_info values ('Houston', '250', '2020-12-07') ;insert into store_info values('Los Angeles', '300', '2020-12-08') ;insert into store_info values('Boston', '700', '2020-12-08') ;
1.1 select
select,显示表格中一个或数个字段的所有数据记录。
语法: SELECT "字段" FROM "表名";
示例:
select store_name from store_info;
select store_name,sales from store_info;
1.2 distinct
distinct,不显示重复的数据记录。
注意:关系型数据库,单次只能对一个字段去重。
SELECT DISTINCT "字段" FROM "表名";
示例:
select distinct store_name from store_info; #对商店名称进行去重
select distinct date from store_info; #对日期字段进行去重
1.3 where
where,有条件查询。
SELECT "字段" FROM 表名" WHERE "条件";示例:select * from store_info where sales > 1000; #查找销售额大于1000的数据记录select store_name from store_info where sales > 1000; #查找销售额大于1000的商店名称
1.4 and 和 or
and:且。
or:或。
SELECT "字段" FROM "表名" WHERE "条件1" AND "条件2";SELECT "字段" FROM "表名" WHERE "条件1" OR "条件2";
#查询销售额大于500且小于1000的数据记录。
select * from store_info where sales > 500 and sales < 1000 ;
#查询销售额大于200且小于500的记录,或者销售额大于1000的记录。
select * from store_info where sales > 1000 or (Sales < 500 and Sales > 200);
#查询销售额大于200且小于500的商店名,或者销售额大于1000的商店名。
select store_name from store_info where sales > 1000 or (Sales < 500 and Sales > 200);
1.5 in
in,显示已知的值的数据记录。
段" FROM "表名" WHERE "字段" IN ('值1', '值2', ...); #in,遍历一个取值列表
SELECT "字段" FROM "表名" WHERE "字段" NOT IN ('值1', '值2', ...); #not in取反,查询不在这个范围内的值
#查询商店名为“Los Angeles”,以及商店名为“Houston”的记录。
select * from store_info where store_name in ('Los Angeles','Houston');
#查询商店名称不是“Los Angeles”、不是“Houston”的记录。
select * from store_info WHERE store_name not in ('Los Angeles','Houston');
1.6 between
between,显示两个值范围内的数据记录。
SELECT "字段" FROM "表名" WHERE "字段" BETWEEN '值1' AND '值2';
示例:
#查询销售额在500~1500之间的数据记录(包含500和1500)
select * from store_info where sales between 500 and 1500;
#查询店铺开业日期在2020-12-06到2020-12-10之间的记录(包含这两个日期)
select * from store_info where date between '2020-12-06' and '2020-12-10';
1.7 通配符
通配符一般都是跟 like 一起使用的。
%:百分号表示零个、一一个或多个字符_:划线表示单个字符 示例:'A_Z':所有以'A'起头,另一个任何值的字符,且以'Z'为结尾的字符串。例如,'ABZ'和'A2Z' 都符合这一一个模式,而'AKKZ'并不符合(因为在A和z之间有两个字符,而不是一个字符)。'ABC%':所有以'ABC'起头的字符串。例如,'ABCD' 和'ABCABC' 都符合这个模式。'%XYZ':所有以'XYZ' 结尾的字符串。例如,'WXYZ' 和'ZZXYZ' 都符合这个模式。'%AN%':所有含有'AN'这 个模式的字符串。例如,'LOS ANGELES'和'SAN FRANCISCO' 都符合这个模式。'_AN%': 所有第二个字母为'A' 和第三个字母为'N' 的字符串。例如,'SAN FRANCISCO' 符合这个模式,而'Los ANGELES'则不符合这个模式。
1.8 like
like,匹配一个模式来找出我们要的数据记录。
SELECT "字段" FROM "表名" WHERE "字段" LIKE {模式} ;
示例:
#查询商店名称包含字符串"os"的记录
select * from store_info where store_name like '%os%';
#查询商店名称以字符串"on"结尾的记录
select * from store_info where store_name like '%on';
#查询商店名称的第二、第三个字符为"os"的记录
select * from store_info where store_name like '_os%';
1.9 order by
order by,按关键字排序。
注意:
- 一般对数值字段进行排序。
- 如果对字符类型的字段进行排序,则会按首字母排序。
SELECT "字段" FROM "表名" [WHERE "条件"] ORDER BY "字段" [ASC|DESC] ;
#ASC是按照升序进行排序的,是默认的排序方式。
#DESC是按降序方式进行排序。
示例:
#查看store_info表中的所有记录,按销售额进行升序排列。
select * from store_info order by sales ASC; #ASC可以不加,默认升序
#查看store_info表中的所有记录,按销售额进行倒序排列。
select * from store_info order by sales desc;
#获取销售额最大的那行数据记录。即先按销售额进行倒序排列,之后取第一行记录。
select * from store_info order by sales desc limit 1;
相关文章:

MySQL 高级SQL语句(一)
目录 一、高级SQL语句(进阶查询) 1.1 select 1.2 distinct 1.3 where 1.4 and 和 or 1.5 in 1.6 between 1.7 通配符 1.8 like 1.9 order by 一、高级SQL语句(进阶查询) 先准备2个表 一个location表: use m…...

SkyWalking链路追踪-技术文档首页
SkyWalking 文档中文版(社区提供) (skyapm.github.io)https://skyapm.github.io/document-cn-translation-of-skywalking/ SkyWalking-基本概念 SkyWalking链路追踪是一个用于分布式系统的性能监控工具,它帮助开发人员了解系统中各组件之间…...

AndroidStudio Memory profiler(内存分析器)
1.Record Java/Kotlin allocations 查看java 层中对象的调用栈和短时间内创建对象的次数。可用于内存抖动快速分析,可用快速查找到该对象的调用栈(等同于mat) 从上图可见,短时间内创建了23个char[] 数组,其中最大的char[] 占用20k, 查看cll stack 调用…...

【C++模板进阶】
目录 一、模板使用时的一个小注意点二、非类型模板参数三、类模板的特化3.1函数模板的特化3.2类模板的特化3.2.1全特化3.2.2偏特化 四、模板的分离编译4.1模板不支持分离编译4.2模板分离编译报错的分析4.2解决方案 五、模板的总结 一、模板使用时的一个小注意点 在使用模板时&…...

(一)RabbitMQ概念-优势、劣势、应用场景 、AMQP、工作原理
Lison <dreamlison163.com>, v1.0.0, 2023.06.22 RabbitMQ概念-优势、劣势、应用场景 、AMQP、工作原理 文章目录 RabbitMQ概念-优势、劣势、应用场景 、AMQP、工作原理RabbitMQ概念RabbitMQ的优势RabbitMQ劣势RabbitMQ应用的场景RabbitMQ_AMQPRabbitMQ工作原理 RabbitM…...

JetBrains全家桶:如何自定义实现类TODO注释?
文章目录 效果图具体方法参考文献 效果图 TODO注释大家应该都用过,在注释开头打上TODO的话,软件下方的TODO选项卡里就可以自动筛选出你打了TODO的注释,你可以点击里面对应的注释来实现快速跳转。 jetbrains全家桶(如Pycharm、Int…...

【技术干货】工业级BLE5.2蓝牙模块SKB378 使用教程,AT指令集
SKB378是一个高度集成的蓝牙5.2模组,可用来在2.4GHz ISM频段内做高速率、短距离无线通信。工业级标准,支持主从模式(1主对8从),支持串口透传,AT指令控制,且支持AoA蓝牙高精度室内定位,模组内部集成32位ARM …...

零基础深度学习——学习笔记1 (逻辑回归)
前言 因为各种各样的原因要开始学习深度学习了,跟着吴恩达老师的深度学习视频,自己总结一些知识点,以及学习中遇到的一些问题,以便记录学习轨迹以及以后复习使用,为了便于自己理解,我会将一些知识点用以个…...

I want to know on what switchport is connected my computer (10.8.0.2)
i.e. I am connected to an L2. I want to know on what switchport is connected my computer (10.8.0.2) Well….obviously not on this switch. Let’s dig Now I have the MAC address of my computer, we confinue to dig Computer has been seen on interface g0/2. Let’…...

OpenCv之人脸操作
目录 一、马赛克实现 二、人脸马赛克 三、人脸检测 四、多张人脸检测 一、马赛克实现 案例代码如下: import cv2 import numpy as npimg cv2.imread(8.jpg) # 马赛克方式一:缩小图片 # img2 cv2.resize(img,(600,400)) # # 马赛克方式二: # img2 cv2.resize(img,(600,4…...
C++[第五章]--指针和引用
指针和引用 文章目录 指针和引用1、引用2、指针3、右值引用4、引用限定符const和引用限定符1、引用 引用就是别名,引用定义时必须初始化: int a; int &b=a; //b即为a的别名 如果不是形参,必须初始化,引用某一变量 2、指针 指针和c一样; this指针 在类的成员函数中使…...

用i18next使你的应用国际化-React
ref: https://www.i18next.com/ i18next是一个用JavaScript编写的国际化框架。 i18next为您提供了一个完整的解决方案,本地化您的产品从web端到移动端和桌面端。 在react项目中安i18next依赖: i18nextreact-i18nexti18next-browser-languagedetector&…...

TSN -促进IT/OT 融合的网络技术
时间敏感网络(tsn)技术是IT/OT 融合的一项关键的基础网络技术,它实现了在一个异构网络中,实现OT的实时数据和IT系统的交互数据的带宽共享。 TSN允许将经典的高确定性现场总线系统和IT应用(如大数据传输)的功…...

改进的北方苍鹰算法优化BP神经网络---回归+分类两种案例
今天采用前作者自行改进的一个算法---融合正余弦和折射反向学习的北方苍鹰(SCNGO)优化算法优化BP神经网络。 文章一次性讲解两种案例,回归与分类。回归案例中,作者选用了一个经典的股票数据。分类案例中,选用的是公用的UCI数据集。 BP神经网络…...
等保工作如何和企业创新业务发展相结合,实现“安全”和“创新”的火花碰撞?
等保工作如何和企业创新业务发展相结合,实现“安全”和“创新”的火花碰撞?在当今数字化浪潮的背景下,企业越来越需要在“安全”和“创新”之间找到平衡点,以实现业务的持续创新和安全的有效保障。等保工作可以为企业提供安全保障…...
23.7.25 杭电暑期多校3部分题解
1005 - Out of Control 题目大意 解题思路 code 1009 - Operation Hope 题意、思路待补 code #include <bits/stdc.h> using namespace std; const int N 1e5 9; struct lol {int x, id;} e[3][N * 2]; int t, n, a[3][N * 2], hd[3], tl[3], vis[N * 2], q[N * …...

【设计模式——学习笔记】23种设计模式——桥接模式Bridge(原理讲解+应用场景介绍+案例介绍+Java代码实现)
问题引入 现在对不同手机类型的不同品牌实现操作编程(比如:开机、关机、上网,打电话等),如图 【对应类图】 【分析】 扩展性问题(类爆炸),如果我们再增加手机的样式(旋转式),就需要增加各个品牌手机的类,同样如果我们…...

文档翻译软件那么多,哪个能满足你的多语言需求?
想象一下,你手中拿着一份外文文件,上面记录着珍贵的知识和信息,但是语言的障碍让你无法领略其中的内容。而此时,一位翻译大师闪亮登场!他的翻译技巧犹如一把魔法笔,能够将文字的魅力和意境完美传递。无论是…...

MySQL 中NULL和空值的区别
MySQL 中NULL和空值的区别? 简介NULL也就是在字段中存储NULL值,空值也就是字段中存储空字符(’’)。区别 1、空值不占空间,NULL值占空间。当字段不为NULL时,也可以插入空值。 2、当使用 IS NOT NULL 或者 IS NULL 时࿰…...

阿里云容器镜像仓库(ACR)的创建和使用
天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…...

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型
摘要 拍照搜题系统采用“三层管道(多模态 OCR → 语义检索 → 答案渲染)、两级检索(倒排 BM25 向量 HNSW)并以大语言模型兜底”的整体框架: 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后,分别用…...

以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:
一、属性动画概述NETX 作用:实现组件通用属性的渐变过渡效果,提升用户体验。支持属性:width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项: 布局类属性(如宽高)变化时&#…...

centos 7 部署awstats 网站访问检测
一、基础环境准备(两种安装方式都要做) bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats࿰…...

LeetCode - 394. 字符串解码
题目 394. 字符串解码 - 力扣(LeetCode) 思路 使用两个栈:一个存储重复次数,一个存储字符串 遍历输入字符串: 数字处理:遇到数字时,累积计算重复次数左括号处理:保存当前状态&a…...

ElasticSearch搜索引擎之倒排索引及其底层算法
文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...
HTML前端开发:JavaScript 常用事件详解
作为前端开发的核心,JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例: 1. onclick - 点击事件 当元素被单击时触发(左键点击) button.onclick function() {alert("按钮被点击了!&…...

vue3+vite项目中使用.env文件环境变量方法
vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量,这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...
Python 包管理器 uv 介绍
Python 包管理器 uv 全面介绍 uv 是由 Astral(热门工具 Ruff 的开发者)推出的下一代高性能 Python 包管理器和构建工具,用 Rust 编写。它旨在解决传统工具(如 pip、virtualenv、pip-tools)的性能瓶颈,同时…...
省略号和可变参数模板
本文主要介绍如何展开可变参数的参数包 1.C语言的va_list展开可变参数 #include <iostream> #include <cstdarg>void printNumbers(int count, ...) {// 声明va_list类型的变量va_list args;// 使用va_start将可变参数写入变量argsva_start(args, count);for (in…...
为什么要创建 Vue 实例
核心原因:Vue 需要一个「控制中心」来驱动整个应用 你可以把 Vue 实例想象成你应用的**「大脑」或「引擎」。它负责协调模板、数据、逻辑和行为,将它们变成一个活的、可交互的应用**。没有这个实例,你的代码只是一堆静态的 HTML、JavaScript 变量和函数,无法「活」起来。 …...