MySQL语句

news2024/12/26 9:21:17

目录

一、常用查询

二、高级SQL语句

1、按关键字排序

单字段排序

按分数降序排列

结合条件过滤

多字段排序

查询学生信息先按兴趣id升序排列,相同分数的,id按升序排列 

区间判断及查询不重复记录

 嵌套/多条件 

 对hobbyid进行分组查询,并显示最大的id

按hobbyid相同的分组,计算相同的个数 

结合order by 把统计的id数量进行降序排列 

结合where语句,筛选分数大于等于80的分组,计算学生个数按降序排列 

3、限制结果条目

查询所有信息显示前4行记录

从第4行开始,往后显示3行内容 

结合order by 语句,按id的大小升序排列显示前三行 

 显示后三行并倒序排列

4、设置别名

列别名设置

表别名设置 

查询info表的记录数量,以number显示 

不用as也可以显示别名 

利用as,将查询的数据导入到另外一个表内 

也可以加入where语句判断 

查询名字里是 l 和 s 中间有一个字符的记录 

查询名字中间有 an 的数据 

查询 name 中名字以i结尾,i 前面有四个字符

 ​编辑


一、常用查询

(增、删、改、查)对MySQL数据库的查询,除了基本的查询外,有时间需要对查询结果集进行处理。列如只取10条数据、对查询结果进行排序或分组等等。

二、高级SQL语句

1、按关键字排序

create table info (id int,name varchar(10) primary key not null ,score decimal(5,2),address varchar(20),hobbid int(5));

insert into info values(1,'liuyi',80,'beijing',2);
insert into info values(2,'wangwu',90,'shengzheng',2);
insert into info values(3,'lisi',60,'shanghai',4);
insert into info values(4,'tianqi',99,'hangzhou',5);
insert into info values(5,'jiaoshou',98,'laowo',3);
insert into info values(6,'hanmeimei',10,'nanjing',3);
insert into info values(7,'lilei',11,'nanjing',5);

单字段排序

按分数排序(默认升序)

select * from info1 order by score;   (asc默认省略)

 

按分数降序排列

select * from info1 order by score desc;

 

结合条件过滤

select * from info1 where address=’nanjing’ order by score;

 

多字段排序

order by 语句也可以使用多个字段来进行排序,当排序的第一个字段相同的记录有多条的情况下,这些多条的记录再按照第二个字段进行排序,order by后面跟多个字段时,字段之间使用英文逗号隔开,优先级是按先后顺序而定,但order by 之后的第一个参数只有在出现相同值时,第二个字段才有意义

查询学生的信息并按照兴趣id升序排序,相同分数的按照id降序排序

select * from info1 order by hobbyid,id desc;

查询学生信息先按兴趣id升序排列,相同分数的,id按升序排列 

 

select * from info1 order by hobbyid,id;

区间判断及查询不重复记录

AND/OR(且/或的使用)

select * from info1 where id>2 and id<5;    #与
 
select * from info1 where id>2 or id<5;     #且

 

 嵌套/多条件 

select * from info1 where id>2 or (id>3 and id <5);
 
select * from info1 where score <70 or (score >90 and score <100);

 

查看分数大于70 小于等于95的数据
select * from info1 where score > 70 and score <=90;

查看分数小于70 或者大于90的数据,按降序显示
select * from info1 where score < 70 or score >90 order by score desc;

 

 

distinct 查询不重复记录
select distinct 字段 from 表名﹔
distinct 必须放在最开头
distinct 只能使用需要去重的字段进行操作
distinct 去重多个字段时,含义是:几个字段同时重复时才能被过滤,会默认按左边第一个字段为依据。

select distinct address from info1; 查看address有多少种

 对hobbyid进行分组查询,并显示最大的id

select hobbyid,max(id) from info1 group by hobbyid;

按hobbyid相同的分组,计算相同的个数 

select count(name),hobbyid from info1 group by hobbyid;

结合order by 把统计的id数量进行降序排列 

select count(id),hobbyid from info1 group by hobbyid order by count(id) desc;

结合where语句,筛选分数大于等于80的分组,计算学生个数按降序排列 

select count(name),score from info1 where score >= 80 group by hobbyid order by count(name) desc;

3、限制结果条目

LIMIT限制输出的结果记录,在使用 MySQL SELECT 语句进行查询时,结果集返回的是所有匹配的记录(行)。有时候仅需要返回第一行或者前几行,这时候就需要用到 LIMIT 子句

 

select 字段,聚合函数 from 表名 (where 字段名(匹配) 数值) group by 字段名;
SELECT column1, column2, ... FROM table_name LIMIT [offset,] number

查询所有信息显示前4行记录

select * from info1 limit 4;

从第4行开始,往后显示3行内容 

select * from info1 limit 3,3;

结合order by 语句,按id的大小升序排列显示前三行 

select id,name from info1 order by id limit 3;

 显示后三行并倒序排列

select id,name from info1 order by id desc limit 3;

4、设置别名

在 MySQL 查询时,当表的名字比较长或者表内某些字段比较长时,为了方便书写或者多次使用相同的表,可以给字段列或表设置别名。使用的时候直接使用别名,简洁明了,增强可读性

使用场景
1、对复杂的表进行查询的时候,别名可以缩短查询语句的长度
2、多表相连查询的时候(通俗易懂、减短 sql 语句)
 

 

对于列的别名:SELECT column_name AS alias_name FROM table_name;
对于表的别名:SELECT column_name(s) FROM table_name AS alias_name;

列别名设置

select name as 姓名,score as 成绩 from info;

表别名设置 

select i.name as xingming,i.score as chengji from info1 as i;

查询info表的记录数量,以number显示 

select count(*) as number from info1;

不用as也可以显示别名 

select count(*) number from info1;

利用as,将查询的数据导入到另外一个表内 

create table class2 as select * from info1;
或
create table class2 (select * from info1);

也可以加入where语句判断 

create table class3 as select * from info1 where score >=60;

 

5、通配符查询
通配符主要用于替换字符串中的部分字符,通过部分字符的匹配将相关结果查询出来。通常通配符都是跟 LIKE(模糊查询)一起使用的,并协同 WHERE 子句共同来完成查询任务。常用的通配符有两个,分别是:

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

查询名字是 l 开头的数据
 

select id,name from info1 where name like 'l%';

查询名字里是 l 和 s 中间有一个字符的记录 

select id,name from report where name like 'l_s%'

查询名字中间有 an 的数据 

select id,name from info1 where name like '%an%';

查询 name 中名字以i结尾,i 前面有四个字符

select id,name from info1 where name like '____i';

 

通配符 % 和 _ 不仅可以单独使用,也可以组合使用, 

 

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

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

相关文章

RabbitMQ学习笔记之Work Queues

工作队列(又称任务队列)的主要思想是避免立即执行资源密集型任务&#xff0c;而不得不等待它完成。 相反我们安排任务在之后执行。我们把任务封装为消息并将其发送到队列。在后台运行的工作进 程将弹出任务并最终执行作业。当有多个工作线程时&#xff0c;这些工作线程将一起…

Nacos2.0.3集群搭建

集群搭建 前置条件 JDK 1.8MySQL 5.7.29Nacos 2.0.3 搭建过程 将Nacos安装包上传至三个服务器&#xff0c;本次搭建使用三个端口来模拟三个不同的主机解压&#xff1a; tar -zvxf nacos-server-2.0.3.tar.gzNacos持久化&#xff0c;首先确保服务器已经安装MySQL(Nacos持久化要…

爆肝!阿里最新版的Spring Security源码手册,强行霸占GitHub榜首

写在前面 Spring Security 的前身是 Acegi Security&#xff0c;在被收纳为Spring 子项目后正式更名为Spring Security。在笔者成书时&#xff0c;Spring Security已经升级到5.1.3.RELEASE版本&#xff0c;加入了原生OAuth2.0框架&#xff0c;支持更加现代化的密码加密方式。 …

你入职的时候一定要问领导要的maven私服配置文件,它是什么?Nexus入门使用指南

上一篇教大家如何在Linux搭建Nexus Linux安装Nexus&#xff08;图文解说详细版&#xff09; 文章目录&#x1f64b;登录Nexus&#x1f470;在maven中配置自己的私服地址&#x1f647;在idea中使用nexus作为maven私服&#x1f491; 引用nexus里面的jar包&#x1f487;配置maven文…

【NLP】自然语言处理的语料库与词库

&#x1f50e;大家好&#xff0c;我是Sonhhxg_柒&#xff0c;希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流&#x1f50e; &#x1f4dd;个人主页&#xff0d;Sonhhxg_柒的博客_CSDN博客 &#x1f4c3; &#x1f381;欢迎各位→点赞…

双十二有哪些实用性强的数码好物?值得入手的实用数码好物推荐

赶在年末的双十二快来了&#xff0c;大家有没有心仪的数码好物正在购物车里蠢蠢欲动呢&#xff1f;入手数码产品最重要的还是要看其实用性强不强&#xff0c;下面&#xff0c;我整理了一份值得入手的实用数码好物清单&#xff0c;希望能给大家有个参考。 一、蓝牙耳机 蓝牙耳…

10、Springboot整合Security很全

1.什么是Security SpringSecurity是基于Spring AOP和Servlet过滤器的安全框架。 它提供全面的安全性解决方案&#xff0c;同时在Web 请求级和方法调用级处理身份确认和授权。 2.Spring Security核心功能&#xff1f; &#xff08;1&#xff09;认证&#xff08;你是谁&…

Java集合容器面试题(2023最新版)

集合容器概述 什么是集合 集合框架&#xff1a;用于存储数据的容器。 集合框架是为表示和操作集合而规定的一种统一的标准的体系结构。 任何集合框架都包含三大块内容&#xff1a;对外的接口、接口的实现和对集合运算的算法。 接口&#xff1a;表示集合的抽象数据类型。接口…

王洪伟:流体力学与微积分方法求解水池进排水问题

作者 | 王洪伟 北京航空航天大学副教授&#xff0c;仿真秀专栏作者 导 读&#xff1a;经过了几篇略显烧脑的文章后&#xff0c;来一篇轻松一点的&#xff0c;经典的小学数学应用题。 1、问题分析 题&#xff1a;一个水池有一个进水管和一个排水管。只开进水管&#xff0c;2个…

Linux常用命令总结

目录和文件命令 &#xff08;1&#xff09;用户目录&#xff1a;位于/home/user&#xff0c;称之为用户工作目录&#xff1b; &#xff08;2&#xff09;ls&#xff1a;是英文单词list的简写&#xff0c;其功能为列出目录的内容&#xff1b; ls -a 列出隐藏文件&#xff0c;文…

CAS号:67131-52-6, 三肽Ala-Ala-Tyr

H-Ala-Ala-Tyr-OH 用于合成突变型多肽。H-Ala-Ala-Tyr-OH can be synthesized mutant peptides[1][2]. 编号: 193893中文名称: 三肽Ala-Ala-TyrCAS号: 67131-52-6单字母: H2N-AAY-OH三字母: H2N-Ala-Ala-Tyr-COOH氨基酸个数: 3分子式: C15H21N3O5平均分子量: 323.34精确分子量:…

Vue学习:分析hello案例

一个vue实例&#xff0c;接管不了两个容器 和 多个实例&#xff0c;一个容器都不允许 容器实例必须一对一 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" conten…

Nexus存储库管理器搭建-Maven私服

写在前面 &#x1f341;个人主页&#xff1a;微枫Micromaple ✨本期专栏&#xff1a;《0到1项目搭建》欢迎订阅学习~ &#x1f4cc;源码获取&#xff1a;GitCode、GitHub、码云Gitee 持续更新中&#xff0c;别忘了 star 喔~ 在企业开发过程中&#xff0c;就比如说我们Java程序员…

Linux内核中ideapad-laptop.c文件全解析10

接前一篇文章《Linux内核中ideapad-laptop.c文件全解析9》&#xff0c;地址为&#xff1a; Linux内核中ideapad-laptop.c文件全解析9_蓝天居士的博客-CSDN博客 本文针对于上一篇文章提到的配置选项"CONFIG_LEDS_BRIGHTNESS_HW_CHANGED"进行详细分析。在make menuco…

python -- PyQt5(designer)中文详细教程(五)对话框

对话框 对话框是⼀个现代GUI应用不可或缺的⼀部分。对话是两个人之间的交流&#xff0c;对话框就是⼈与电脑之 间的对话。对话框用来输⼊数据&#xff0c;修改数据&#xff0c;修改应用设置等等。 输入文字 QInputDialog 提供了⼀个简单方便的对话框&#xff0c;可以输入字符…

SpringBoot 玩一玩代码混淆,防止反编译代码泄露!

编译 简单就是把代码跑一哈&#xff0c;然后我们的代码 .java文件 就被编译成了 .class 文件 反编译 就是针对编译生成的 jar/war 包 里面的 .class 文件 逆向还原回来&#xff0c;可以看到你的代码写的啥。 比较常用的反编译工具 JD-GUI &#xff0c;直接把编译好的jar丢进…

深度学习 LSTM长短期记忆网络原理与Pytorch手写数字识别

深度学习 LSTM长短期记忆网络原理与Pytorch手写数字识别一、前言二、网络结构二、可解释性三、记忆主线四、遗忘门五、输入门六、输出门七、手写数字识别实战7.1 引入依赖库7.2 加载数据7.3 迭代训练7.4 数据验证八、参考资料一、前言 基本的RNN存在梯度消失和梯度爆炸问题&am…

毕业设计-基于机器视觉的深蹲检测识别-TensorFlow-opencv

目录 前言 课题背景和意义 实现技术思路 实现效果图样例 前言 &#x1f4c5;大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科…

LeetCode刷题复盘笔记—一文搞懂完全背包之377. 组合总和 Ⅳ问题(动态规划系列第十二篇)

今日主要总结一下动态规划完全背包的一道题目&#xff0c;377. 组合总和 Ⅳ 题目&#xff1a;377. 组合总和 Ⅳ Leetcode题目地址 题目描述&#xff1a; 给你一个由 不同 整数组成的数组 nums &#xff0c;和一个目标整数 target 。请你从 nums 中找出并返回总和为 target 的…

[附源码]计算机毕业设计基于web的羽毛球管理系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…