Mysql高阶语句(1)

news2024/9/21 4:03:57

一、常用查询

1. 按关键字排序

使用 ORDER BY 语句对查询结果进行排序,可以按照一个或多个字段进行升序(ASC)或降序(DESC)排列

语法

SELECT column1, column2, ... FROM table_name ORDER BY column1 [ASC|DESC], column2 [ASC|DESC], ...;

示例 

  • 按分数升序排列:
SELECT id, name, score FROM info ORDER BY score;

 

  • 按分数降序排列:
SELECT id, name, score FROM info ORDER BY score DESC;

  • 多字段排序:先按 hobbid 降序排列,相同 hobbid 的记录按 id 升序排列:
SELECT id, name, hobbid FROM info ORDER BY hobbid DESC, id ASC;
2. 区间判断及查询不重复记录

使用 ANDOR 进行条件组合,还可以使用 DISTINCT 去除查询结果中的重复记录。

示例:

  • 查询分数在70-90之间的记录:
SELECT * FROM info WHERE score > 70 AND score <= 90;

  • 查询分数大于70或者小于等于90的记录:
SELECT * FROM info WHERE score > 70 OR score <= 90;

  • 查询不重复的hobbid值:
SELECT DISTINCT hobbid FROM info;

3、对结果进行分组

GROUP BY 语句用于对查询结果进行分组,通常结合聚合函数(如 COUNTSUMAVGMAXMIN)使用

语法:

SELECT column_name, aggregate_function(column_name) FROM table_name WHERE condition GROUP BY column_name;

示例:

  • hobbid 分组,并计算每组学生人数:
SELECT COUNT(name), hobbid FROM info GROUP BY hobbid;

  • 筛选分数大于等于 80 的学生,并按 hobbid 分组计算人数:
SELECT COUNT(name), hobbid FROM info WHERE score >= 80 GROUP BY hobbid;

4、限制结果条目

LIMIT 语句用于限制查询结果的条目数。

语法:

SELECT column1, column2, ... FROM table_name LIMIT [offset,] number;

示例:

  • 查询前三行记录:
SELECT * FROM info LIMIT 3;

 

  • 查询第四行开始的三行记录:
SELECT * FROM info LIMIT 3, 3;

 

  • id 降序排列并显示最后 3 行:
SELECT id, name FROM info ORDER BY id DESC LIMIT 3;

5、设置别名’Alisa‘

AS 关键字用于给表或字段设置别名,简化查询语句,增强可读性。

语法:

  • 对列设置别名:
SELECT column_name AS alias_name FROM table_name;
  • 对表设置别名:
SELECT alias.column_name FROM table_name AS alias;

示例:

  • namescore 列设置别名:
SELECT name AS 姓名, score AS 成绩 FROM info;

 

6、通配符

通配符用于替换字符串中的部分字符,常与 LIKE 子句配合使用。

常用通配符:

  • %:匹配零个、一个或多个字符。
  • _:匹配单个字符。

示例:

  • 查询名字以 c 开头的记录
SELECT id, name FROM info WHERE name LIKE 'c%';

  • 查询名字中间有 g 字符的记录:
SELECT id, name FROM info WHERE name LIKE '%g%';

7、子查询

子查询是指在一个查询语句中嵌套另一个查询语句,子查询的结果作为条件传递给主查询。

示例:

  • 查询分数大于 80 的学生信息:
SELECT name, score FROM info WHERE id IN (SELECT id FROM info WHERE score > 80);

  • 多表查询示例:
SELECT id, name, score FROM info WHERE id IN (SELECT id FROM ky30);

总结

以上为 MySQL 常用的高阶查询语句整理。通过合理使用排序、分组、子查询、通配符等高级查询技巧,可以高效处理和分析数据库中的数据。

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

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

相关文章

sqli-lab靶场学习(一)——Less1

前言 最近一段时间想切入安全领域&#xff0c;因为本身有做数据库运维工作&#xff0c;就打算从sql注入方向切入。而sql注入除了学习日常书本上的概念外&#xff0c;需要有个实践的环境&#xff0c;刚好看到sqli-lab这个靶场&#xff0c;就打算先用这个来学习。 安装部署 网上…

智能提醒助理系列-协作工具,一站式软件研发管理平台

本系列文章记录“智能提醒助理”wx公众号 建设历程。 一、需求分析 当前智能提醒产品体系为微信公众号小程序的模式。 以小程序为操作主体&#xff0c;公众号作为用户接收提醒的方式之一&#xff0c;还有短信和电话。 开发方式为自研&#xff0c;需要前端小程序服务端三方对…

天津自学考试转考流程及免冠照片处理方法说明

自学考试省际转考是指考生因为工作、生活或其他原因&#xff0c;需要将自学考试的考籍从一个省份转移到另一个省份继续参加自学考试的情况。在中国&#xff0c;自学考试是一种国家承认的学历教育形式&#xff0c;由各省、自治区、直辖市的教育考试机构负责组织实施。下面详细介…

必看|助攻|2024“高教社杯“全国大学生数学建模竞赛冲刺建议

数模国赛冲刺阶段小Tips tips0:赛中小天为大家带来助攻&#xff0c;请关注主页 赛前准备 01 加强赛前训练 写作队员&#xff1a;阅读往年获奖论文&#xff0c;关注思路、表达和排版。建模队员&#xff1a;了解各类模型特点和应用场景。编程队员&#xff1a;多做算法编程和数…

Datawhale X 李宏毅苹果书 AI夏令营(深度学习 之 实践方法论)

1、模型偏差 模型偏差是指的是模型预测结果与真实值之间的差异&#xff0c;这种差异不是由随机因素引起的&#xff0c;而是由模型本身的局限性或训练数据的特性所导致的。 简单来讲&#xff0c;就是由于初期设定模型&#xff0c;给定的模型计算能力过弱&#xff0c;导致在通过…

vector的实现

目录 1.vector的底层 2.vector构造函数的实现 ①构造函数 ②拷贝构造 3.访问函数实现 3.1迭代器iterator 3.2下标[]访问 4.析构函数和计算size、capacity、swap简单函数的实现 ①析构函数&#xff1a; ②计算size&#xff1a; ③计算capacity&#xff1a; ④swap函…

嵌入式软件--51单片机 DAY 3

一、独立按键 按键的作用相当于一个开关&#xff0c;按下时接通&#xff08;或断开&#xff09;&#xff0c;松开后断开&#xff08;或接通&#xff09;。 &#xff08;1&#xff09;需求 通过SW1、SW2、SW3、SW4四个独立按键分别控制LED1、LED2、LED3、LED4的亮灭&#xff0…

爬虫数据解析

## 数据解析 聚焦爬虫 爬取页面中指定的页面内容 编码流程 指定url发起请求获取响应数据数据解析持久化存储 数据解析分类 正则bs4xpath&#xff08;***&#xff09; 数据解析原理概述 解析的局部的文本内容都会在标签之间或者标签对应的属性中进行存储进行指定标签的定…

最小生成树的两种算法模板

第一种模板&#xff1a; 思路&#xff1a;对于prime算法来说其实与朴素的dij算法差不多&#xff0c;都是找到最近的点然后更新其他的点 模板&#xff1a; #include<bits/stdc.h>using namespace std;const int N 100010;int n; int g[110][110]; int dis[110]; int st…

VMware Workstation 17.6 Pro 发布下载,新增功能概览

VMware Workstation 17.6 Pro 发布下载&#xff0c;新增功能概览 VMware Workstation 17.6 Pro for Windows & Linux - 领先的免费桌面虚拟化软件 基于 x86 的 Windows、Linux 桌面虚拟化软件 请访问原文链接&#xff1a;https://sysin.org/blog/vmware-workstation-17/…

Linux日志-wtmp日志

作者介绍&#xff1a;简历上没有一个精通的运维工程师。希望大家多多关注作者&#xff0c;下面的思维导图也是预计更新的内容和当前进度(不定时更新)。 Linux 系统中的日志是记录系统活动和事件的重要工具&#xff0c;它们可以帮助管理员监视系统状态、调查问题以及了解系统运行…

B端系统门门清之:QMS-质量管理,泰山之重。

质量重于泰山&#xff0c;QMS&#xff08;质量管理系统&#xff09;在生产企业的经营中非常重要&#xff0c;质量的积累可以成就一个企业&#xff0c;想要毁掉一个企业&#xff0c;也是瞬间的事情&#xff0c;本文就和大家重点分享一下QMS系统。 一、什么是QMS系统&#xff0c…

SpringCloud开发实战(二):通过RestTemplate实现远程调用

目录 SpringCloud开发实战&#xff08;一&#xff09;&#xff1a;搭建SpringCloud框架 RestTemplate介绍 RestTemplate 是 Spring 框架中的一个类&#xff0c;它用于促进 HTTP 请求的发送和接收&#xff0c;并且简化了与 RESTful 服务的交互。RestTemplate 提供了许多便利的方…

C++ 学习 2024.9.3

封装栈与队列 栈: #include <iostream>using namespace std;class Stack { private:int *a; //动态数组存储元素int size; //栈容量int top; //栈顶元素索引 public://有参构造Stack(int size):size(size),top(-1){anew int[size];}//析构~Stack(){delete[]a…

八月二十九日(day 39)docker6

1.前端&#xff08;nginx&#xff09; [rootlocalhost ~]# docker pull nginx //拉取nginx镜像 [rootlocalhost ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE nginx latest 5ef79149e0ec 2 we…

【Godot4.3】基于纯绘图函数自定义的线框图控件

概述 同样是来自2023年7月份的一项实验性工作&#xff0c;基于纯绘图函数扩展的一套线框图控件。初期只实现了三个组件&#xff0c;矩形、占位框和垂直滚动条。 本文中的三个控件类已经经过了继承化的修改&#xff0c;使得代码更少。它们的继承关系如下&#xff1a; 源代码 W…

抽象和接口

a.抽象&#xff08;abstract&#xff09; 1. 定义 a. 抽象类&#xff1a;在普通类里增加了抽象方法。 b. 抽象方法&#xff1a;没有具体的执行方法&#xff0c;没有方法体的方法。 2. 总结 a. 因为抽象方法没有方法体&#xff0c;无法执行&#xff0c;所以不能…

WEB服务与虚拟主机/IIS中间件部署

WWW&#xff08;庞大的信息系统&#xff09;是基于客户机/服务器⽅式的信息发现技术和超⽂本技术的综合。网页浏览器//网页服务器 WWW的构建基于三项核⼼技术&#xff1a; HTTP&#xff1a;超文本传输协议&#xff0c;⽤于在Web服务器和客户端之间传输数据。HTML&#xff1a;⽤…

xml转txt,适应各种图片格式,如jpg,png,jpeg,PNG,JPEG等

xml转txt&#xff0c;适应各种图片格式&#xff0c;如jpg&#xff0c;png&#xff0c;jpeg&#xff0c;PNG&#xff0c;JPEG等 import xml.etree.ElementTree as ET import os import cv2 import numpy as np import globclasses []def convert(size, box):dw 1. / (size[0]…

力扣面试150 旋转链表 闭链成环

Problem: 61. 旋转链表 &#x1f468;‍&#x1f3eb; 力扣官解 /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* ListNode(int val) { this.val val; }* ListNode(int val, ListNode nex…