mysql进阶语法

news2024/11/27 10:45:41

mysql高阶语句

高级语法的查询语句

先创建库和表

排序语法,关键字排序

升序和降序

默认的排序方式就是降序

升:ASC

降序:DESC 配合:order by语法

降序排列:要指定列

select * from
在这里插入图片描述

数字

在这里插入图片描述

多个列升序

如果以多个列作为排序关键字,只有第一个参数有相同的值,第二个字段才有意义。

在这里插入图片描述

where条件的筛选功能(比较符号)

区间判断:

add or

在这里插入图片描述

嵌套多条件

在这里插入图片描述

分组查询

sql查询的结果进行分组,使用group by语句来实现

group by 语句配合聚合函数一起。

聚合函数的类型

统计 count

求和:sum

求平均数:avg

最大值:MAX

最小值:min

最少要有两列

在这里插入图片描述

这个语法是错误的

在这里插入图片描述

这样才是正确的

在这里插入图片描述

筛选

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

limit 1,3 1是位置偏移量(可选参数)

如果不设定位置偏移量,默认就是从第一行开始,默认的值0

倒序排列显示后面三行

select * from info order by id desc limit 3;

在这里插入图片描述

表和列的别名,

因为在实际工作中,表的名字和列的名字可能会很长,书写起来不方便,多次声明表和列时,完整的展示太复杂,设置别名可以使书写简化了,可读性增加了,简洁明了。

给列区别名

在这里插入图片描述

给表起别名

在这里插入图片描述

对表进行复制:

create table test as select * from info;

可以对表进行复制结构不能复制

在这里插入图片描述

复制固定数值到表

在这里插入图片描述

通配符

like 模糊查询

%:表示0个,一个或者多个字符 *

_ :表示单个字符

在这里插入图片描述

在这里插入图片描述

组合使用 s后面至少包含一个

在这里插入图片描述

子查询:

内查询、嵌套查询

select语句当中有嵌套了一个select。嵌套的select才是子查询

,先执行子查询的语句,外部的select在根据子条件的结果来进行过滤查找。

子查询可以是多个表,也可以是同一张表。

关联语句

in not in

select (select)

大于八十

在这里插入图片描述

小于80

在这里插入图片描述

切换别的表

在这里插入图片描述

在这里插入图片描述

exists 判断子查询的结果是否为空,不为空返回true,空返回false

在这里插入图片描述

查询分数,如果分数小于50的则统计info的字段数

在这里插入图片描述

子查询当中多表查询和别名

info表和test表,这两张表id部分相同,查询info表的id的值

在这里插入图片描述

在这里插入图片描述

取平均值

在这里插入图片描述

mysql的视图

视图是一个虚拟表,表的数据是基于查询的结果生成,

视图可以简化复杂的查询,隐藏复杂的细节,访问数据更安全。

视图表是多表数据的集合体。

视图和表之间的区别

1、存储方法,表是实际的数据行,视图不存储数据,不仅仅是查询结果的虚拟表

2、数据更新,更新表可以直接更新视图表的数据,

3、占用空间,表实际占用空间,视图表不占用空间,只是一个动态结果的展示

视图表的数据可能是这一张表的部分查询数据,也可能是多个表的一部分查询数据。

查询当前数据库中的视图表

show full tables in xy102 where table_type like 'VIEW

;

在这里插入图片描述

create view v_info as
select a.id,a.name,a.sddress from info a
where a.name in (select b.name from test b where a.name =b.name);
drop tables test1;

在这里插入图片描述

删除视图表

在这里插入图片描述

视图表就是查询语句的别名,有了视图表可以简化查询的语句。

表的权限是不一样的,库的权限是有控制的,所以查询视图的权限相对低

既可以保证原表的数据安全,也简化了查询的过程

连接查询

两张表或者多个表的记录结合起来,基于这些表共同的字段,进行数据的拼接。首选,要确定一个主表作为结果集,然后吧其他表的行有选择性的选定到主表的结果上。

内连接

两张表或者是多张表之间符合条件的数据记录的集合

INNER JOIN

语法

select a.a_id,a.a_name from test1 a INNER JOIN test2 b on a.a_name=b.b_name

连接两个名称相同的

在这里插入图片描述

取两表或者多个表之间的交集。

左连接

左连接,左外连接 left jion left outer join

左连接以左表为基础,接收左表的所用行,以左表记录和右边的记录进行匹配。

匹配左表的所有,以及右边中符合条件的行,不符合显示null

select * from test a left join test2 b on a.a_nameb.b_name

left join 左边就是左表 右边就是右表 相同的展示 不相同的显示null

已比较条件为标准,展示结果,两个表相同的部分展示出来,做拼接,不同的结果显示null

在这里插入图片描述

右连接 右外连接 jion right outer join

右连接以右表为基础,接收右表的所用行,以右表记录和左边的记录进行匹配。

匹配右表的所有,以及左边中符合条件的行,不符合显示null

在这里插入图片描述

在这里插入图片描述

需求:两张表
第一张表:记录学生的学号,所属专业,课程,姓名 成绩 性别
第二张表:记录学生的学号,手机 家庭地址,兴趣爱好,性别

编写一个查询来查找具有最高分数的学生。

select max(chenji) as max_score from test1;

找出至少有两门课程成绩及格的学生。

select count(id),name from test1
where chenji >= 60
group by name having count(id) >= 2;

查找每个系的学生人数。

select zhuanye,COUNT(DISTINCT id) as stu_num from test1
group by chuanye;

计算每个系的学生平均分数。

select major,lesson,FORMAT(AVG(score),2) as avg_score 
from info1 group by major,lesson;

获取至少同时选修了一门与 ‘xxx’ 相同课程的学生。
找出具有重复名字的学生。
查找在所有课程中都取得了及格分数的学生。
找出每门课程的平均分数,并按照平均分数降序排列。

select kecheng,FORMAT(AVG(chenji),2) as avg_score from test1
group by kecheng
order by avg_score desc;

查找学生选课数量超过平均选课数量的学生信息。
左连接查询 查学号

select * from test1 as i1 left join test2 as i2
on i1.id = i2.id;

右连接查询 查学号

select * from test1 as i1 right join test2 as i2
on i1.id = i2.id;

内连接查询 查学号

select * from test1 as i1 inner join test2 as i2
on i1.id = i2.id;

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

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

相关文章

三星电子推出性能更强、容量更大的升级版1TB microSD 存储卡

microSD 存储卡 PRO Plus 和 EVO Plus 采用三星先进的 V-NAND 技术,可安全可靠地捕捉和存储日常瞬间 性能提升后,顺序读取速度高达 180MB/s,传输速度达 160MB/s,可轻松处理较大文件 韩国首尔--2024年7月31日--三星电子宣布推出1…

中职软件测试实训室

在当今信息化高速发展的时代,软件作为信息技术的核心,其质量直接关系到用户的使用体验和企业的市场竞争力。因此,软件测试作为保障软件质量的重要环节,越来越受到业界的重视。为了满足社会对软件测试人才的需求,中职教…

springboot闲置图书分享boot--论文源码调试讲解

第2章 程序开发技术 2.1 Mysql数据库 开发的程序面向用户的只是程序的功能界面,让用户操作程序界面的各个功能,那么很多人就会问,用户使用程序功能生成的数据信息放在哪里的?这个就需要涉及到数据库的知识了,一般来说…

object的defineProperty与Proxy对比

Object.defineProperty 循环执行Object.defineProperty方法遍历对象的每一个属性,给每一个属性增加get和set方法,使得我们在读取和设置属性值的时候都会被Vue给监听到,从而去做一些其他的操作。 代码示例: let obj {a:1,b:2,c:…

善于运用facebook自动化规则,将节省你50%的时间

许多facebook广告投手都会花大量时间在盯盘看数据上,从而导致没有太多时间和精力去做广告素材的优化,其实常规的一些数据盯盘都可以交给facebook自动化规则,包括增减预算,暂停广告等,合理运用自动化规则,可…

前端必知必会-html表单元素

文章目录 HTML 表单元素HTML <form> 元素<input> 元素<label> 元素<select> 元素<option> 元素定义一个可选择的选项。<textarea> 元素<button> 元素<fieldset> 和 <legend> 元素<datalist> 元素<output> 元…

Aker ASA引领行业变革,旗下互联网投融资平台重磅起航

全球领先的海洋科技公司 Aker ASA 正式宣布,将于近期推出其全新的互联网海洋产业投融资平台。这一平台的推出标志着Aker ASA在海洋资源开发和投融资领域的又一重大进展,旨在为投资者提供创新、可靠的投资机会,同时推动海洋产业的可持续发展。 Aker ASA 作为行业内的领导者,以其…

开源AI智能名片O2O商城微信小程序在顾客价值链优化中的应用与探索

摘要&#xff1a;随着信息技术的飞速发展&#xff0c;顾客的消费行为模式正经历着前所未有的变革。在这一背景下&#xff0c;开源AI智能名片O2O商城微信小程序作为一种创新的营销与服务平台&#xff0c;正逐步成为企业连接顾客、优化顾客价值链的重要工具。本文旨在探讨开源AI智…

【IEEE出版】第五届大数据、人工智能与软件工程国际研讨会(ICBASE 2024,9月20-22)

第五届大数据、人工智能与软件工程国际研讨会&#xff08;ICBASE 2024&#xff09;将于2024年09月20-22日在中国温州隆重举行。 会议主要围绕大数据、人工智能与软件工程等研究领域展开讨论。会议旨在为从事大数据、人工智能与软件工程研究的专家学者、工程技术人员、技术研发人…

Echarts 横向条形图的右侧标签靠右显示对齐,不被遮挡

解决方案&#xff1a; 再添加一个y轴&#xff0c;隐藏刻度线即可。 配置如下&#xff1a; 在这里插入代码片yAxis: [{type: category,axisLine: {lineStyle: {color: #EFEFEF, // 轴线颜色width: 1, // 轴线线宽type: solid // 轴线线条类型&#xff0c;可选为 solid、dashed…

<数据集>遥感航拍船舶识别数据集<目标检测>

数据集格式&#xff1a;VOCYOLO格式 图片数量&#xff1a;17575张 标注数量(xml文件个数)&#xff1a;17575 标注数量(txt文件个数)&#xff1a;17575 标注类别数&#xff1a;1 标注类别名称&#xff1a;[ship] 使用标注工具&#xff1a;labelImg 标注规则&#xff1a;对…

Python文献调研(四)QtDesigner的布局

一、新建项目&#xff1a; 1.打开pycharm&#xff0c;新建一个Python项目 &#xff08;1&#xff09;右键项目列表区&#xff0c;找到我们之前配置好的外部工具&#xff0c;点击Pyside6 QtDesigner 打开Qt Designer后会是这个界面&#xff1a; &#xff08;2&#xff09;此时…

XC8403B 30V降压芯片 耐压可达38V 适用24V降压 12V降压电路 3A大电流 替代RY8336

XC8403B是一款采用内部功率MOSFET的高频、同步、整流、降压、开关式转换器。XC8403 B提供不同频率和FB版本&#xff0c;可根据不同的应用进行选择。它提供了一种非常紧凑的解决方案&#xff0c;可以在很宽的输入电源范围内提供3A的连续输出电流&#xff0c;具有出色的负载和线路…

自动更换apk包名源码

系统通过对apk反编译&#xff0c;随机包名&#xff0c;随机签名&#xff0c;混淆代码等方式&#xff0c;回编译生成新的apk安装包通过系统智能自动处理&#xff0c;间隔5分钟&#xff08;可以自定义时间&#xff09;生成一个新包&#xff0c;通过对接对象云储存系统分发给不同的…

电力能源监控的未来技术趋势如何

电力能源监控的未来技术趋势是一个多元化且快速发展的领域&#xff0c;它涵盖了智能化、数字化、集成化以及可持续发展等多个方面。以下是对电力能源监控未来技术趋势的详细分析&#xff1a; 一、智能化与数字化 1、人工智能&#xff08;AI&#xff09;与机器学习&#xff1a…

手把手教你开发无人带货直播插件!

在当今这个数字化时代&#xff0c;直播带货已成为电商领域的一股不可忽视的力量&#xff0c;然而&#xff0c;随着市场竞争的加剧和消费者需求的多样化&#xff0c;如何高效、低成本地进行直播带货成为许多商家关注的焦点。 无人带货直播插件应运而生&#xff0c;它不仅降低了…

SpringBoot中华非遗传承网站-计算机毕设定制-附项目源码(可白嫖)48408

摘 要 非物质文化遗产是人类智慧活动的结晶&#xff0c;具有极高的文化价值&#xff0c;是一个民族历史文化的时间遗迹。我国拥有三千多年的历史文明&#xff0c;在非物质文化遗产的数量和质量上&#xff0c;在世界当中都是首屈一指的。根据有关数据显示&#xff0c;我国非物质…

【网络世界】传输层协议

&#x1f308;前言&#x1f308; 欢迎收看本期【网络世界】&#xff0c;本期内容讲解TCP/IP协议栈中的传输层协议&#xff0c;即UDP协议和TCP协议。包含了他们的协议格式&#xff0c;特点等。介绍他们的应用场景&#xff0c;最后对比TCP与UDP协议。此外&#xff0c;还将介绍套接…

台州网站建设实施方案

随着信息技术的不断发展&#xff0c;网站建设已成为企业发展的重要手段之一。台州作为一个经济发达的城市&#xff0c;网站建设已经成为提升企业形象、拓展市场、服务客户的重要途径。因此&#xff0c;台州网站建设实施方案显得尤为重要。 首先&#xff0c;台州网站建设实施方案…

学习记录2024年7月31日 编码器的参数:脉宽,电压输出、分辨率

一、编码器的脉宽&#xff0c;指的是脉冲信号高电平的持续时间。 对于方波信号来说&#xff0c;就是高电平的持续时间。 占空比&#xff0c;就是单个周期内&#xff0c;比如100Hz的信号&#xff0c;脉宽/周期时间占空比。 若脉宽是5ms&#xff0c;周期时间是10ms。占空比5ms…