MySQL数据库的高级SQL语句与高级操作(1)

目录

以下例子都是基于该数据表

1、查询不重复记录(distinct)

2、and 、or:根据多条件查询

3、IN ----显示已知的值的数据记录

4、BETWEEN ----显示两个值范围内的数据记录

5、 like+通配符:模糊查询

 6、order by:按关键字排序

7、group by:对查询结果进行汇总分类

8、设置别名

8.1 设置别名—alias

8.2 做为连接语句的操作符,创建新表


以下例子都是基于该数据表

1、查询不重复记录(distinct)

#语法:select distinct 字段 from 表名﹔
 
#示例1:查找hobby的类型有哪些
select distinct hobby from test01;

2、and 、or:根据多条件查询

#语法:select 字段名  from 表名 where 条件1 (and|or) 条件2 (and|or)条件3;
 
#示例1:显示name和age 并且要找到age大于20小于30
select name,age from test01 where age >20 and age <30;
#示例2:找出年龄未满16周岁的和年龄大于20周岁的人,显示她们的名字和年级
select name,age from test01 where age<16 or age>20;

 

3、IN ----显示已知的值的数据记录

#语法:select 字段名  from 表名 where 字段 in ('值1','值2'....);
 
#示例1:显示id为1,2,3,4的记录
select * from test01 where id in (1,2,3,4);
 
#示例2:显示兴趣为打篮球和踢足球的记录
select * from test01 where hobby in ('playing baseketball','playing football');

4、BETWEEN ----显示两个值范围内的数据记录

#语法:select 字段名  from 表名 where 字段 between  '值1' and '值2';
包括 and两边的值
 
#示例1:显示id在2-5 的信息
select * from test01 where id between 2 and 5;
 
#示例2:显示学生年龄在16-20之间的信息,不需要表中一定有该字段,只会将16到20 已有的都显示出来
select * from test01 where age between 16 and 20;
 

5、 like+通配符:模糊查询

#语法:select 字段名  from 表名 where 字段 like 模式
通配符含义
%表示零个,一个或者多个字符
_下划线表示单个字符
A_Z所有以A开头 Z 结尾的字符串 ,‘ACCCCZ'不在范围内 。下划线只表示一个字符 A Z 包含A空格Z
ABC%所有以ABC开头的字符串 ABCD ABCABC
%CBA所有以CBA结尾的字符串 WCBA CBACBA
%AN%所有包含AN的字符串 los angeles
_AN%所有 第二个字母为 A 第三个字母 为N 的字符串
#示例1:查找姓li的人记录
select * from test01 where name like 'li%';
 
#示例2:查找名字包含li的记录
select * from test01 where name like '%li%';
 
#示例3:查找名字第二个字母为a,第三个字母为n的记录
select * from test01 where name like '_an%';

 6、order by:按关键字排序

#语法:
select 字段名  from 表名 where 条件 order by 字段 [asc,desc];
#############################################################
asc :正向排序
desc :反向排序
######################默认是正向排序##########################
#示例1:按表格中人的年龄正向排序显示年龄和姓名字段
 select age,name from test01 order by age;
 
#示例2:按表格中人的年龄降序排序显示年龄和姓名字段
select age,name from test01 order by age desc;
 
#示例3:显示name、age和hobbid字段的数据 并且只显示hobbid字段为3 的 并且以age字段降序排序
select age,name,hobbid from test01 where hobbid=3 order by age desc;

 

7、group by:对查询结果进行汇总分类

  • 对group by 后面的字段的查询结果进行汇总分组,通常是结合聚合函数一起使用的

  • group by 有一个原则,就是select 后面的所有列中,没有使用聚合函数的列必须出现在 group by 的后面

  • #语法:select 字段1,sum/avg(字段2) from 表名 group by 字段1;
     
    #示例1:求来自每个地方人的总分
     select address, sum(sorce) from test01 group by address;
     
    #示例2:求喜欢每个爱好的人的平均年龄
    select hobby,avg(age) from test01 group by hobby;
     
    

8、设置别名

在 mysql查询时,当表的名字比较长或者表内某些字段比较长时,为了方便书写或者多次使用相同的表,可以给字段列或表设置别名。使用的时候直接使用别名,简洁明了,增强可读性
其中 AS 语句是可选的。AS 之后的别名,主要是为表内的列或者表提供临时的名称,在查询过程中使用,库内实际的表名或字段名是不会被改变的

8.1 设置别名—alias
select name as 姓名,score 成绩,hobby 爱好 from test01;
#设置name,score,hobby别名,alias是临时的,不会改变表的结构

select w.name as 姓名,w.score 成绩,w.hobby 爱好 from test01 as w;
#多表同字段会显示区别

8.2 做为连接语句的操作符,创建新表
  • as创建一个新表并定义表结构,插入表数据(与原表相同)
  • 但是”约束“没有被完全”复制“过来,如果原表设置了主键,那么附表的:default字段会默认设置一个0

 创建新表,将之前表中的记录复制到新表中

create table test02 as select * from test01 where age<20;
#筛选test01表中年龄小于20的信息,生成新的数据表test02

  • as会复制原表的表结构和数据,但是约束条件不会被复制,比如原表设置了主键,但新表中不会有主键

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

vlan、三层交换机、网关、DNS、子网掩码、MAC地址详解

vlan、三层交换机、网关、DNS、子网掩码、MAC地址详解 一、 什么是VLAN&#xff1f; VLAN中文是“虚拟局域网”。 ​ LAN可以是由少数几台家用计算机构成的网络&#xff0c;也可以是数以百计的计算机构成的企业网络。 ​ VLAN所指的LAN特指使用路由器分割的网络——也就是广…

【数字图像处理】改变图像灰度级别

改变图像灰度级别 首先&#xff0c;对原始图像 O O O进行灰度级量化: q int ⁡ ( O 2 i ) 2 i , q\operatorname{int}\left(\frac{O}{2^{i}}\right) \times 2^{i}, qint(2iO​)2i, 灰度级别256&#xff0c;128&#xff0c;64&#xff0c;32&#xff0c;16&#xff0c;8&…

FastAPI+React全栈开发08 安装MongoDB

Chapter02 Setting Up the Document Store with MongoDB 08 Installing MongoDB and friends FastAPIReact全栈开发08 安装MongoDB The MongoDB ecosystem is composed of different pieces of software, and I remember that when I was starting to play with it, there w…

QT_day5:使用定时器实现闹钟

1、 程序代码&#xff1a; widget.h&#xff1a; #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QTime>//时间类 #include <QTimer>//时间事件类 #include <QTextToSpeech>//文本转语音类 QT_BEGIN_NAMESPACE namespace Ui { cla…

深度学习十大算法之图神经网络(GNN)

一、图神经网络的基础 图的基本概念 图是数学中的一个基本概念&#xff0c;用于表示事物间复杂的关系。在图论中&#xff0c;图通常被定义为一组节点&#xff08;或称为顶点&#xff09;以及连接这些节点的边。每个边可以有方向&#xff0c;称为有向边&#xff0c;或者没有方向…

C#学习笔记4:PC串口发送数据

今日继续我的C#学习之路&#xff0c;今日学习制作PC串口发送数据的窗口程序 串口是单片机上位机开发的重点&#xff0c;本文围绕做一个通过PC端串口发送数据的程序进行实践学习&#xff0c; 文章提供源码与解释、整体工程文件 目录 1、控件的选择与摆放&#xff1a; 2、程序设…

46 div 下面包含 el-radio, 导致点击一次 div, div 的 click 事件执行多次

前言 这是一个最近碰到的一个很奇怪的问题 情况如下一个 div 下面有一个 el-radio, 然后 div 上面配置了 click 的回调为 handleClick 然后 但是点击 div 的时候, handleClick 触发了两次 然后 这里 来模拟一下, 并解决一下 这个问题 这里的知识主要是 设计到 label 和 …

pytorch反向传播算法

目录 1. 链式法则复习2. 多输出感知机3. 多层感知机4. 多层感知机梯度推导5. 反向传播的总结 1. 链式法则复习 2. 多输出感知机 3. 多层感知机 如图&#xff1a; 4. 多层感知机梯度推导 简化式子把( O k O_k Ok​ - t k t_k tk​) O k O_k Ok​(1 - O k O_k Ok​)起个别名…

09-LearnTheArchitecture-MemoryManagement

快速链接: 【精选】ARMv8/ARMv9架构入门到精通-[目录] &#x1f448;&#x1f448;&#x1f448; 1 Overview 本文介绍了 Armv8-A 中的内存转换&#xff0c;这是内存管理的关键。 它解释了虚拟地址如何转换为物理地址、转换表格式以及软件如何管理Translation Lookaside Buffe…

阿里云对象存储OSS入门

阅读目录 一、阿里云OSS的使用 1、OSS是什么&#xff1f;2、OSS的使用 二、阿里云OSS的使用三、图床的搭建四&#xff1a;图床绑定阿里云OSS 编写不易&#xff0c;如果我的文章对你有帮助的话&#xff0c;麻烦小伙伴还帮忙点个赞再走&#xff01; 如果有小伙伴觉得写的啰嗦&a…

【倪琴仲尼式-雷伴】全新倪诗韵精品杉木古琴

试音中的用弦&#xff1a;梦音&#xff0c;视频录音无任何处理&#xff0c;所见即所得。 现琴比照片更好看。倪琴吊牌、琴额后面的编码和倪琴官网上的序列号是一一对应的&#xff0c;可查。 雷伴&#xff0c;“伴”字取意陪伴、相伴、依随。栗壳色&#xff0c;纯鹿角霜生漆工艺…

C#打印50*30条码标签

示例图&#xff1a; 源码下载地址&#xff1a;https://download.csdn.net/download/tiegenZ/89035407?spm1001.2014.3001.5503

【第十二届“泰迪杯”数据挖掘挑战赛】【2024泰迪杯】B题基于多模态特征融合的图像文本检索—解题全流程(持续更新)

2024 年(第 12 届)“泰迪杯”数据挖掘挑战赛B题 解题全流程&#xff08;持续更新&#xff09; -----基于多模态特征融合的图像文本检索 一、写在前面&#xff1a; ​ 本题的全部资料打包为“全家桶”&#xff0c; “全家桶”包含&#xff1a;模型数据、全套代码、训练好的模…

解决npm init vue@latest证书过期问题:npm ERR! code CERT_HAS_EXPIRED

目录 一. 问题背景 二. 错误信息 三. 解决方案 3.1 临时解决办法 3.2 安全性考量 一. 问题背景 我在试图创建一个新的Vue.js项目时遇到了一个问题&#xff1a;npm init vuelatest命令出现了证书过期的错误。不过这是一个常见的问题&#xff0c;解决起来也简单。 二. 错误…

LabVIEW无人机大气数据智能测试系统

LabVIEW无人机大气数据智能测试系统 随着无人机技术的迅速发展&#xff0c;大气数据计算机作为重要的机载设备&#xff0c;在确保飞行安全性方面发挥着重要作用。设计了一套基于LabVIEW的无人机大气数据智能测试系统&#xff0c;通过高效、稳定的性能测试&#xff0c;及时发现…

Java八股文(SpringCloud Alibaba)

Java八股文のSpringCloud Alibaba SpringCloud Alibaba SpringCloud Alibaba Spring Cloud Alibaba与Spring Cloud有什么区别&#xff1f; Spring Cloud Alibaba是Spring Cloud的衍生版本&#xff0c;它是由Alibaba开发和维护的&#xff0c;相比于Spring Cloud&#xff0c;它在…

华为汽车图谱

极狐 极狐&#xff08;ARCFOX&#xff09;是由北汽、华为、戴姆勒、麦格纳等联合打造。总部位于北京蓝谷。 问界 华为与赛力斯&#xff08;东风小康&#xff09;合作的成果。 阿维塔 阿维塔&#xff08;AVATR&#xff09;是由长安汽车、华为、宁德时代三方联合打造。公司总部位…

二十八 超级数据查看器 讲解稿 收藏功能

二十八 超级数据查看器 讲解稿 收藏功能 ​点击此处 以新页面 打开B站 播放当前教学视频 点击访问app下载页面 百度手机助手 下载地址 大家好&#xff0c;这节课我们讲一下超级数据查看器的收藏功能&#xff0c;收藏功能是2.0版本将要增加的功能 这节课算是预告。 收藏功能是…

C#进阶-反射的详解与应用

一、反射的概念 反射是.NET框架提供的一个功能强大的机制&#xff0c;它允许程序在运行时检查和操作对象的类型信息。通过使用反射&#xff0c;程序可以动态地创建对象、调用方法、访问字段和属性&#xff0c;无需在编译时显式知道类型信息。在.NET中&#xff0c;所有类型的信…

Java项目:77 springboot母婴商城

作者主页&#xff1a;源码空间codegym 简介&#xff1a;Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 项目介绍 本课题后端使用SpringBoot Spring Cloud框架&#xff0c;前端采用html&#xff0c;JQuery&#xff0c;JS&#xff0c;DIVCSS技术进行编程&…