4、mysql高阶语句

mysql高阶语句是对复杂的条件进行查询的操作。

排序—order by

  • 加了desc表示由大到小

1、查询name和score,地址都是云南西路的按id进行由小到大排序

2、查询name和score,先按hobbid进行排序,再把结果按id进行排序

  • 第一段字段必须要有相同的值,第二个字段才有意义。如果先按id排序,再按hobbid排序将毫无意义。

区间判断—and/or

根据where的条件,来对数据进行逻辑的区分,and  /  or

and表示逻辑且,and的所有条件都要为真

or表示逻辑或,只要有一个条件满足即可

1、查询info表所有信息,分数>80且分数<=90

     查询info表所有信息,分数=85或分数=90

区间嵌套

2、查询info表所有信息,分数>80且(分数>90且分数<95)

对结果进行分组查询—group  by

group  by都是和聚合函数一起使用的

  • count():统计函数
  • sum():求和
  • avg():求平均值
  • max():最大值
  • min():最小值

1、按hobbid进行分组,查询name(统计name)和hobbid

  • 不要使用聚合函数的字段来进行分组。
  • 要有多个字段,按照非统计的字段来进行分组。
  • 对聚合函数进行过滤,使用having语句

2、,按hobbid进行分组,查询 score(求平均值)和 hobbid

3、按hobbid进行分组,查询 score(求平均值)和 hobbid,然后挑出score平均值大于85的

  • 对聚合函数进行过滤,使用having语句

4、先根据where条件过滤出成绩大于等于80的,再查询姓名、性别,按照性别来进行分组,统计姓名

  • where只能用在分组之前,不能在分组之后

5、分别统计男生组和女生组的最大成绩和最小成绩

查看指定范围—limit

1、查看从第1行后1行开始,至后面4行,即2-5行

2、显示成绩最高的前三行

数据去重—distinct

1、查询表xy103按address去重的结果

  • 需要去重的类型越多,效果越差

设置别名

1、给列名设置别名

  • as:设置别名,当表名和列名过长的时候可以使用别名进行替代,尤其是在多表联查时,可以不用申明表名

2、给表名设置别名

表示先给表info设置别名a,表info1设置别名b,查询a的兴趣、地址、性别,当a的姓名=b的姓名的时候。

3、创建表时,根据另一张表的结果,直接创建,但是不能继承主键的约束

  • 这种方法只能继承字段、类型等,不能继承主键的约束

通配符—%_

%:表示0个,1个,多个字符,可有可无

_(下划线):表示单个字符

通配符一般是和like一起使用,并且是配和where条件进行过滤

1、%表匹配任意内容

2、匹配 徐x、徐xx和徐x(任意几个x)

  • 几个_代表后面几个字符数量
  • %_表示任意字符数量

子查询

内查询或者嵌套查询,就是在查询语句当中又嵌套着另一个select。

运行时,先查询子语句,然后把子语句的结果传给主语句进行查询。

子查询的表可以是同一张表,也可以是不同的表。

1、先查询name当分数的值大于85的,然后按查询结果查询name和score

  • 前后的条件要一致,多表联查不要超过三张

2、更新info表,设置成绩的值是65,根据子查询的语句,只修改地址有南京的记录的值。

  • 注意:子查询和修改不能对一张表,即不能对自己又查询又修改

exists语句

3、用来判断子查询的结果集是否为空

视图表—view

视图是一个虚拟表,数据基于检索的查询结果。

复杂的查询语句,简单化的呈现给用户。

查询视图就可以获取数据,避免找到真正的表,提高了数据安全。

创建试图表

删除试图表

  • 如果表info里面更新数据,也会同步更新视图表test1,test1相当于查询的一个快捷方式

view和table的区别

  1. 存储方式,表都是实际数据,保存在硬盘,视图存储的不是数据行,而是结果的集合。
  2. 数据更新,更新表可以更新视图,更新视图也可以更新表,一般情况下,视图仅仅用于展示数据。
  3. 占用空间,表示实际空间,视图不占用数据库的空间,就是一个结果。
  4. 视图表的主要作用就是把复杂的查询语句简化成一个查询的集合

连接查询

把两个或者三个表的记录行结合起来,基于这些表之间共同的字段,进行数据的拼接,首先确定一

个主表的结果集(主表的列),然后把其他表的进行选择性的连接到主表的结果上。

内连接—inner  join

结合两个表之间基于一个字段或者多个字段之间,将两个表中结果进行组合。即取交集。

1、查询表test1和test2中,name相等的交集

左连接—left  join

左外连接,在from之后使用left  join或者left  outer  join用关键字来匹配。

左连接以左侧表为基础,接受左表所有的行,并用这些行,与右侧表一起参与,显示左表以及右表

符合条件的行,不满足的显示为null。

2、查询交集,显示左连接左侧表的所有信息;右侧表只显示交集的部分,其余部分为null。

右连接—right  join

右外连接,在from之后使用right  join或者right  outer  join用关键字来匹配。

右连接以右侧表为基础,接受右表所有的行,并用这些行,与左侧表一起参与,显示右表以及左表

符合条件的行,不满足的显示为null。

3、查询交集,显示右连接右侧表的所有信息;左侧表只显示交集的部分,,其余部分为null。

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

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

相关文章

Docker部署GitLab服务器

一、GitLab介绍 1.1 GitLab简介 GitLab 是一款基于 Git 的开源代码托管平台&#xff0c;集成了版本控制、代码审查、问题跟踪、持续集成与持续交付&#xff08;CI/CD&#xff09;等多种功能&#xff0c;旨在为团队提供一站式的项目管理解决方案。借助 GitLab&#xff0c;开发…

hadoop中hive本地模式安装mysql源不成功

目录 1.更改DNS配置 2.替换yun源 3.替换掉后&#xff0c;在执行 4.重新安装mysql源 hive本地模式安装mysql源出错 yum install mysql mysql-server mysql-devel -y 解决&#xff1a; 1.更改DNS配置 vi /etc/resolv.conf 添加下面内容&#xff1a; nameserver 8.8.8.8 …

深入解析 Apache APISIX

以下是“第一部分&#xff1a;背景与概述”的示例写作内容&#xff0c;供你参考和使用。你可根据实际需求和篇幅进行增删或细化。 一、背景与概述 1. 高性能动态网关的意义 1.1 微服务架构下的网关角色与价值 随着微服务架构在企业级应用中日益普及&#xff0c;系统被拆分为…

RISC-V架构的压缩指令集介绍

1、压缩指令集介绍 RISC-V的压缩指令集&#xff08;C扩展&#xff09;‌是一种设计用于减少代码大小和提高性能的技术。标准的RISC-V指令是32位&#xff0c;压缩指令集可以将部分32位的指令用16位的指令替代&#xff0c;从未减小程序占用存储空间的大小&#xff0c;提高指令密…

Day13 苍穹外卖项目 工作台功能实现、Apache POI、导出数据到Excel表格

目录 1.工作台 1.1 需求分析和设计 1.1.1 产品原型 1.1.2 接口设计 1.2 代码导入 1.2.1 Controller层 1.2.2 Service层接口 1.2.3 Service层实现类 1.2.4 Mapper层 1.3 功能测试 1.4 代码提交 2.Apache POI 2.1 介绍 2.2 入门案例 2.2.1 将数据写入Excel文件 2.2.2 读取Excel文…

齐次矩阵包含平移和旋转

第一个矩阵旋转矩阵 A [ R 1 0 0 1 ] A\left[\begin{matrix}R_{1} & 0\\0 & 1\end{matrix}\right] A[R1​0​01​] 第一个平移矩阵 B [ 1 T 1 0 1 ] B\left[\begin{matrix}1 & T_{1}\\0 & 1\end{matrix}\right] B[10​T1​1​] C [ R 2 0 0 1 ] C\left[\be…

CSP-X2024山东小学组T4:刷题

题目链接 CSP-X2024山东小学组T4&#xff1a;刷题 题目描述 比赛之路多艰&#xff0c;做题方得提升。努力刷题的人在比赛中往往能取得很好的成绩&#xff0c;小红就是这样的人。 为了继续提升自己的编程实力&#xff0c;小红整理了一份刷题题单&#xff0c;并选中了题单中的…

集星獭 | 高性能编排:为实时数据集成而生!

概要介绍 服务编排作为集星獭驱动业务流、数据流中不可或缺的重要环节&#xff0c;其基于分布式架构打造&#xff0c;提供了高可用、易扩展的可视化流程任务调度功能。 原服务编排的设计初衷是专注于任务调度&#xff0c;提供高性能任务调度&#xff0c;但是在实时调用方面的…

已有 containerd 的情况下部署二进制 docker 共存

文章目录 [toc]学习目的开始学习dockerd启动 containerd准备配置文件启动 containerd 启动 docker准备配置文件启动 docker 环境验证停止 docker 和 containerd 学习目的 使用容器的方式做一些部署的交付&#xff0c;相对方便很多&#xff0c;不需要担心别人的环境缺少需要的依…

高级java每日一道面试题-2024年12月20日-Spring篇-Autowired和Resource注解的区别?

如果有遗漏,评论区告诉我进行补充 面试官: Autowired和Resource关键字的区别? 我回答: 在Java高级面试中&#xff0c;Autowired和Resource是两个经常被提到的注解&#xff0c;它们主要用于Spring框架中的依赖注入。下面是对这两个注解的详细解释和它们之间的区别&#xff1…

达梦8-达梦数据的示例用户和表

1、示例库说明&#xff1a; 创建达梦数据的示例用户和表&#xff0c;导入测试数据。 在完成达梦数据库的安装之后&#xff0c;在/opt/dmdbms/samples/instance_script目录下有用于创建示例用户的SQL文件。samples目录前的路径根据实际安装情况进行修改&#xff0c;本文将达梦…

【学习总结|DAY021】Java 多线程

多线程是Java编程中非常重要的概念&#xff0c;它允许程序同时执行多个任务&#xff0c;提高程序的执行效率。本文将详细介绍多线程的创建方式、常用方法、线程安全、线程同步、线程池以及并发和并行的概念&#xff0c;并结合代码案例进行讲解。 一、线程的创建方式 Java中创…

WebMvcConfigurer和WebMvcConfigurationSupport(MVC配置)

一:基本介绍 WebMvcConfigurer是接口&#xff0c;用于配置全局的SpringMVC的相关属性&#xff0c;采用JAVABean的方式来代替传统的XML配置文件&#xff0c;提供了跨域设置、静态资源处理器、类型转化器、自定义拦截器、页面跳转等能力。 WebMvcConfigurationSupport是webmvc的…

windwos defender实现白名单效果(除了指定应用或端口其它一律禁止)禁止服务器上网

一、应用场景说明 当我们的一台windows服务器中毒&#xff0c;变成别人肉鸡&#xff0c;不断向外请示非法网站或攻击其它服务器。 要彻底清除相关木马或病毒往往需要的时间比较长&#xff0c;比较有效的方法是禁止服务器主动向外发包除了网站端口和远程程序除外。 其实这就是一…

读书笔记~管理修炼-缄默效应

缄默效应&#xff1a;学会正确批评下属 员工明明犯了错误&#xff0c;却不及时告知你&#xff0c;总是拖到最后一刻无法弥补时才不得不承认出了问题——你遇到过这样的问题吗&#xff1f; 这其实是缄默效应在发挥作用。 在职场中&#xff0c;即使再扁平化的环境&…

1 JVM JDK JRE之间的区别以及使用字节码的好处

JDK jdk是编译java源文件成class文件的&#xff0c;我们使用javac命令把java源文件编译成class文件。 我们在java安装的目录下找到bin文件夹&#xff0c;如下图所示: 遵循着编译原理&#xff0c;把java源文件编译成JVM可识别的机器码。 其中还包括jar打包工具等。主要是针对…

车辆重识别代码笔记12.20

1、model.named_parameters() model.named_parameters() 返回一个生成器&#xff0c;生成每个参数的名称和相应的参数值。这对于查看和修改特定参数的可训练状态非常有用。 model DarkNet([1, 2, 8, 8, 4]) for name, param in model.named_parameters():print(name, param.r…

【机器人】机械臂轨迹和转矩控制对比

动力学控制和轨迹跟踪控制是机器人控制中的两个概念&#xff0c;它们在目标、方法和应用上有所不同&#xff0c;但也有一定关联。以下是它们的区别和联系&#xff1a; 1. 动力学控制 动力学控制是基于机器人动力学模型的控制方法&#xff0c;目标是控制机器人关节力矩或力&…

Unity 碎片化空间的产生和优化

文章目录 产生1. 动态内存分配2. 磁盘文件操作3. 内存池和对象池4. 数据结构导致的碎片5. 操作系统的内存管理6. 应用程序设计不当 碎片化空间的优化方案 产生 碎片化空间通常指内存或磁盘中的一种分配不连续、难以利用的现象&#xff0c;主要由以下原因产生&#xff1a; 1. …

Pytorch | 从零构建ParNet/Non-Deep Networks对CIFAR10进行分类

Pytorch | 从零构建ParNet/Non-Deep Networks对CIFAR10进行分类 CIFAR10数据集ParNet架构特点优势应用 ParNet结构代码详解结构代码代码详解SSEParNetBlock 类DownsamplingBlock 类FusionBlock 类ParNet 类 训练过程和测试结果代码汇总parnet.pytrain.pytest.py 前面文章我们构…