如何应用MySQL高阶语句(子查询)

news2024/11/25 12:22:23

目录

一、SQL高阶语句

常用查询

关键字排序

升序降序

按区域进行查找

分组统计

limit限制显示结果条目

As别名设置

使用场景

嵌套克隆复制表结构

 二、通配符

三、子查询

insert子查询

update子查询

delete子查询

Exists检测


一、SQL高阶语句

常用查询

对于MySQL数据库的查询,除了基本查询以外,有时候需要对查询的结果集进行处理,例如只取10条数据,对查询结果进行排序或者分组等等

关键字排序

升序降序

使用Order by语句来实现排序,可以针对一个或者多个字段进行排序

ASC(升序排列)

DESC(降序排列)

语法结构:select [字段] ······ from [表名] where [字段]='值' order by [字段] [排列方式]

按区域进行查找

语法格式:select [字段],······· from [表名] where [条件判断] and/or [条件判断]

分组统计

统计指定的表中,每个字段②对应的字段①的数量(可在表名后跟where条件)

语法格式:select count(字段①),[字段] from [表名] group by [字段②];

limit限制显示结果条目

语法格式:select [字段] from [表名] limit [偏移量],[显示行数];

As别名设置

语法格式:select [字段] as [别名],[字段] as [别名] ······· from [表名];

From指定的表名也可以用As来设置别名

使用场景

也可以当做连接符来使用

① 对复杂的表进行查询的时候,别名可以缩短查询语句的长度

② 多表相连查询的时候(通俗易懂,简短SQL语句)

嵌套克隆复制表结构

可加入where判断语句

语法格式:create table [表名] (select * from [要克隆的表]);

 二、通配符

通配符主要用于替换字符串中的部分字符,通过部分字符的匹配将相关结果查询出来。

通常通配符都是跟 LIKE 一起使用的,并协同 WHERE 子句共同来完成查询任务。常用的通配符有两个

%:百分号表示零个、一个或多个字符 
_:下划线表示单个字符

例如我想要查询以Name字段以小写 ‘ l ’ 开头的行

命令:select [字段] from [表名] where name like 'l%';

三、子查询

也被称作内查询或者嵌套查询,指在一个查询语句中,还嵌套另一个查询语句,子查询语句先于主查询语句被执行的,可以查询相同表,也可以是不同的表

例如我想先查看id大于2的数据,然后再基于id大于2的数据进行筛选age>22的数据并展示他的id,name和age字段

语法格式:select [字段] from [表名] where [字段] in (select [字段] from [表名] where [条件判断]);

子查询也可以在(insert,update,delete)中使用,子查询还可以内部继续嵌套子查询,也就是可以进行多层嵌套

“in” 用来判断某个值是否在给的结果集中,通常结合子查询一起使用

insert子查询

先查找子查询中的表name字段数据,然后查找指定表中与子查询表name字段数据相同的字段数据并将字段相同的所有字段数据插入指定表内

语法格式:insert into [表名] select * from [表名] where [字段] in (select [字段] from [表名]);

update子查询

先查询指定表中的字段想匹配的数据,在作为修改表的匹配条件,根据相同的字段修改相关的指定字段数据

语法格式:update [表名] set [字段]='值' where [字段] in (select [字段] from [表名] where [字段]='值');

delete子查询

先查询指定表中的name字段,然后当做主查询的匹配条件进行整行删除数据

语法格式:delete from [表名] where [字段] in (select [字段] from [表名] where [字段]=值);

Exists检测

与"in"的作用相同,如果匹配到对应的字段,会返回表内所有的数据,如果匹配失败则一个都不会返回结果,无返回结果

语法格式:select [字段] from [表名] where exists (select [字段] from [表名] where [字段]=值);

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

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

相关文章

非50欧系统阻抗的S参数测试

1. S参数依赖于系统阻抗 S参数的定义需要约定一个系统阻抗。同一个微波电路,在不同系统阻抗下的S参数是不同的。例如,50欧电阻在50欧系统阻抗下的S11为零,是没有反射的匹配状态;但50欧电阻在75欧系统阻抗下的S11不为零&#xff0…

Puppeteer 使用教程-实战篇(爬取图片、视频、音频,页面数据)

目录 前言 一、 获取实体店铺信息 二、 获取全国各省市县地图json数据 三、 cookies 四、 获取网络图片、视频资源 五、 自动化测试 总结 前言 续上篇,我们简单讲述一下puppeteer常见的应用场景,包括静态页面数据获取,网络请求获取截取…

详解CPU的态

目录 1.CPU的工作过程 2.寄存器 3.CPU的上下文 4.系统调用 5.CPU的态 1.CPU的工作过程 CPU要执行的指令的地址存在寄存器中,指令存放在内存中,而CPU本质上就是一个去内存中根据地址取指令,然后执行指令的硬件。 举一个例子&#xff1a…

【雕爷学编程】Arduino动手做(22)——8X8 LED点阵MAX7219屏4

37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这…

vscode使用技巧

在使用vscode编辑代码时,在settings.json中增加配置项可以配置回车换行缩进补齐方式: 第一种:使用空格补齐: "editor.insertSpaces":true 按下回车换行后: 第二种:使用tab键补齐: …

【java】对ArrayList中的元素进行排序的几种方式

对ArrayList中的元素进行排序的几种方式 一、使用Collections工具类 1、对基本类型排序 通过Collections.sort()对基本类型排序默认是以升序排序 // 1.Collections.sort()默认按照升序排序 List<Integer> integerList new ArrayList<>(); Collections.addAll(…

每日一刷——替换空格

题目描述&#xff1a; 请实现一个函数&#xff0c;将一个字符串中的每个空格替换成“%20”。例如&#xff0c;当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 我的思路&#xff1a;从左向右循环遍历字符串&#xff0c;定义一个空串。如果遇到空格&#xf…

Ubuntu18.04 拯救者R9-7945HX 4060 配置ZED 2i代双目相机驱动+ORBSLAM2

AMD的拯救者网卡很拉&#xff0c;研究了很久除了换网卡可以解决网络问题&#xff0c;其它没找到合适的办法&#xff0c;这里我用手机USB共享网络的方式勉强上网&#xff0c;这里不得不说华为的信号桥很好用。 之前在1050ti的电脑上布置过&#xff0c;很顺利&#xff0c;这个新…

SDUT 2023 summer team contest(for 22) - 1-Gym - 102220

B - Balanced Diet 题意&#xff1a;这题题意有点难搞啊&#xff0c;就是有n个物品&#xff0c;一个有m种&#xff0c;对于第 i 种物品如果你要买它就至少买 l[i]个&#xff0c;然后就是给你n行&#xff0c;每行两个数&#xff0c;ai,bi,表示这个糖果类型为bi&#xff0c;价值为…

STM32学习笔记(十三)丨USART通用同步/异步收发器(串口外设的基本使用丨串口发送数据、串口发送+接收数据)

本篇文章包含的内容 一、STM32的USART外设1.1 STM32的USAER外设简介1.2 USART外设的结构和工作原理1.3 串口通信数据帧1.4 起始位侦测和USART的噪声判断机制1.5 波特率发生器 二、串口发送和接收数据包2.1 HEX数据包2.2 文本数据包2.3 固定包长HEX数据包接收2.4 可变包长文本数…

chrome edge svg转png

chrome edge svg转png 生成SVG blockdiag Live Preview 导出png 截图&#xff1a; 左上角截取屏幕截图

零售EDI:True Value EDI 需求分析

True Value 是一家享有盛誉的卖场&#xff0c;经营范围广泛&#xff1a;包括家居用品、工具、园艺用品等。据悉&#xff0c;True Value 已将 EDI 纳入其供应商评级中。 True Value 将 EDI 作为对其供应商的一项要求&#xff0c;这意味着如果你希望与 True Value 建立合作关系&a…

uniapp 小程序 联想地址搜索

效果图&#xff1a; qqmap-wx-jssdk.js下载 <template><view class"items"><view class"items-text">地址&#xff08;必填&#xff09;</view><input type"text" placeholder"搜索地址" maxlength&quo…

SQL-每日一题【585.2016年的投资】

题目 Insurance 表&#xff1a; 请你编写一个 SQL 查询&#xff0c;报告 2016 年 (tiv_2016) 所有满足下述条件的投保人的投保金额之和&#xff1a; 他在 2015 年的投保额 (tiv_2015) 至少跟一个其他投保人在 2015 年的投保额相同。他所在的城市必须与其他投保人都不同&#…

Revit中如何添加剖面?快速实现剖面图

一、Revit中如何添加剖面&#xff1f; 除了标高绘制所得到的楼层平面视图和立面视图之外&#xff0c;还可以添加剖面视图&#xff0c;这样可以得到任意位置一个竖向的剖切面&#xff0c;例如在楼梯细节处理中&#xff0c;楼梯处于建筑物内部&#xff0c;立面也看不到整个楼梯的…

pdf怎么翻译?有这个工具就够了

pdf怎么翻译&#xff1f;PDF文档一直是我们日常生活和工作中不可避免的一部分。但是&#xff0c;当我们需要翻译PDF文件时&#xff0c;我们往往会感到无助&#xff0c;因为PDF文档不能像其他文本文件一样直接复制和粘贴。那么今天就给大家介绍一款可以帮助我们进行PDF翻译的工具…

Pytorch框架中各文件的作用

新人在接触Pytorch以及深度学习等领域时&#xff0c;面对一个开源的代码可能无从下手&#xff0c;一个Pytorch框架相对比较负责&#xff0c;文件也多&#xff0c;其中的逻辑不免让初学者感到不知所措&#xff0c;下面大致梳理一下Pytorch各文件夹的作用和逻辑&#xff0c;其中的…

基于 Orbit 的云原生应用交付基础原则与良好实践

本文作者&#xff1a;何文强——腾讯云 CODING 高级架构师。 负责 CODING DevOps产品解决方案架构设计和技术产品布道以及 CODING 云原生技术研究与落地实践。在多个技术大会担任演讲嘉宾&#xff0c;腾讯云 CODING DevOps 课程认证出品人&#xff0c;腾讯云云原生训练营核心初…

上市公司Git分支管理规范

Git分支管理策略 主分支Master 首先&#xff0c;代码库应该有一个、且仅有一个主分支。所有提供给用户使用的正式版本&#xff0c;都在这个主分支上发布。 Git主分支的名字&#xff0c;默认叫做Master。它是自动建立的&#xff0c;版本库初始化以后&#xff0c;默认就是在主…

ASEMI快恢复二极管MUR20100CT尺寸, MUR20100CT体积

编辑-Z MUR20100CT参数描述&#xff1a; 型号&#xff1a;MUR20100CT 最大峰值反向电压(VRRM)&#xff1a;1000V 最大RMS电压(VRMS)&#xff1a;700V 最大直流阻断电压(VDC)&#xff1a;1000V 平均整流正向电流(IF)&#xff1a;20A 非重复峰值浪涌电流(IFSM)&#xff1a…