MySQL知识汇总(二):select

select语句

-- select语句 select 字段 from 表
-- 查询全部信息 select * from 表
SELECT * FROM `student2`
-- 查询指定字段 select `name` from 表
SELECT `name` FROM `student2`

-- 起别名 给查询结果用 AS 起个其他的名字,可以是字段也可以是表
SELECT `name` AS '名字' FROM `teacher`
-- 拼接查询结果 concat(" ",字段) from 表
SELECT CONCAT('学号:',id) AS '新数据' FROM `teacher`

别名如下name为字段名,'名字'是别名

去重查询 关键字distinct

-- select distinct 字段名 from 表名

SELECT DISTINCT `name` FROM `student2`

 select加表达式,查询表达式

where模糊查询

比较运算符描述             
IS NULL如果操作符为null,返回true
IS NOT NULL如果操作符为null,返回false
between a AND b若结果在a,b之间,返回true
likeSQl匹配,字段匹配指定格式,若匹配返回true
in(a1,a2,a3)字段若在指定值中,返回true

 like 通配符 %与_

% 表示在这里有0到任意个字符

_   表示在这里有一个字符

如查找名字以王开头,后面有0到任意个字符的数据

SELECT `name` AS 'Mingzi' FROM `student2` WHERE `name` LIKE '王%'

查找表的name字段数据,限制条件是有一个“林”字符,该字符前至少有一个字符,后面有0到任意个字符   

SELECT `name` AS '名字' FROM `student2` WHERE `name` LIKE '_%林%'

联表查询

图片来源于网络

联表查询将不同表中不同字段数据通过表中共有字段进行连接,提升查询效率

连表查询关键字join ,将返回两个表所有字段相等的行

-- join联表查询
SELECT s.`id`,`data`,`grade`,`name` 
FROM student2 AS s
JOIN `result` AS r
ON s.`id`=r.`id`

 

内连接inner join, 返回左右表字段匹配行,与join相似

-- inner join 联表查询
SELECT s.`id`,`name`,`grade`,`data` 
FROM `student2` AS s
INNER JOIN `result` AS r
ON s.`id`=r.`id`

左连接left join,以左表为基准,返回左表所有行,若有两表字段未匹配行,右表相关字段值以null填充 

相似的,right join也是如此,但基准为右表

-- inner join 联表查询
SELECT s.`id`,`name`,`grade`,`data` 
FROM `student2` AS s
INNER JOIN `result` AS r
ON s.`id`=r.`id`

对于共同字段一定要指定是谁的字段,否则会报错 

 自连接(了解)

自连接就是通过不同别名的方法对一张表按两张表进行处理

如该例子

我们创建一张包含三个字段的表存储有从属关系的书籍,三个字段分别是本书序号,父序号,本书名称

要求查询字段为父书籍与子书籍

SELECT s.`shu` AS '父栏目',r.`shu` AS '子栏目'
FROM `book` AS s,`book` AS r
WHERE s.`myId`=r.`fatherId`

结果 

分页与排序

排序 关键字order by 

order  用于排序的字段名 升序ASC/降序DESC

 

分页 关键字limit

格式limit  查询起始下标,页面大小

 

语句顺序where,order by,limit

子查询

子查询与联表查询相似,在查询过程中都涉及到了不同表的各个字段,与联表查询不同的是,子查询采用在where限定条件中嵌套了一次查询

如下

-- 子查询
-- 查询成绩大于30分的学生的名字和地址
select `name`,`address`
from student2
where `id` in(
	select `id` from result where `data` >30
)

聚合函数

count()对数据表中记录进行统计

count(字段) 统计时忽略目标字段为null的数据

count(1),count(*) 统计所有数据

其他聚合函数

sum(字段)        该字段数据值总和

avg(字段)        平均值

max(字段)        最大值

min(字段)         最小值

分组过滤 

分组 group by 

group by 字段

按指定字段进行分组,指定字段值相同的数据分为一组,对各个组进行操作主要是方便对数据使用聚合函数操作。

过滤 having

对分组后数据进行过滤不能使用where语句,需要使用having语句,写在group by后面

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

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

相关文章

Restaurants WebAPI(二)——DTO/CQRS

文章目录 项目地址一、DTO1.1 创建Restaurant的Dto1.2 修改之前未使用Dto的接口1.2.1 修改GetRestaurantByIdUseCase1.2.2 修改IGetRestaurantByIdUseCase接口1.2.3 再次请求接口1.3 显示Dish List1.3.1创建DishDto1.3.2 在RestaurantDto里添加DishDto1.3.3 使用Include添加Dis…

c++--------c++概念

定义与起源 C是一种高级编程语言,它是C语言的扩展。C由Bjarne Stroustrup在20世纪80年代初开发,最初被称为“C with Classes”。其设计目的是在保持C语言高效性的同时,增加面向对象编程(OOP)的特性。例如,…

面向对象设计过程的理解和实践

在软件开发的世界里,面向对象设计(Object-Oriented Design,简称OOD)是一项至关重要的技术。它不仅帮助我们更好地将现实世界的问题转化为软件系统中的对象,还确保这些对象之间能够高效地协同工作,共同实现系…

游泳溺水识别数据集,对9984张原始图片进行YOLO,COCO JSON, VOC XML 格式的标注,平均识别率在91.7%以上

游泳溺水识别数据集: 对9984张原始图片进行YOLO,COCO JSON, VOC XML 格式的标注,平均识别率在91.7%以上 ,可识别泳池或者水库中是否有人溺水。 数据集分割 训练组98% 9818图片 有效集%…

Llama3.370B超越GPT-4o和Claude3.5 Sonnet

AI领域日新月异,最近AI 领域发生了太多事情,本文就语言大模型Llama 3.3 70B、GPT-4o 和 Claude 3.5 Sonnet进行对比。 12月7日,Meta今年的最终AI模型将要来了。Meta12月6日发布了Llama 3.3,拥有700亿个参数,但其性能与…

linux内核网络分层概述

在开发应用时,我们使用 socket 实现网络数据的收发。以tcp为例,server端通过 socket, bind, listen来创建服务端,然后通过 accept接收客户端连接;客户端通过 socket和 connect系统调用来创建客户端。用于数据收发的系统调用包括 s…

【全栈实战】基于 Vue3 + Wot Design Uni 动手封装组件

😊你好,我是小航,一个正在变秃、变强的文艺倾年。 😊好久没有更新有关前端实战教程了,本文主要讲解【全栈实战】基于 Vue3 Wot Design Uni 动手封装组件! 😊这个教程你将会学到技术正确的选型、…

Ajax中的axios

既然提到Ajax,那就先来说一说什么是Ajax吧 关于Ajax Ajax的定义 Asynchronous JavaScript And XML:异步的JavaScript和XML。 反正就是一句话总结: 使用XML HttpRequest 对象与服务器进行通讯。 AJAX 是一种在无需重新加载整个网页的情况下&…

60.基于SSM的个人网站的设计与实现(项目 + 论文)

项目介绍 本站是一个B/S模式系统,个人网站是在MySQL中建立数据表保存信息,运用SSMVue框架和Java语言编写。并按照软件设计开发流程进行设计实现充分保证系统的稳定性。系统具有界面清晰、操作简单,功能齐全的特点,使得基于SSM的网…

聊聊Flink:Flink的状态管理

一、Flink的状态是什么? 我们知道,Flink的一个算子可能会有多个子任务,每个子任务可能分布在不同的实例(即slot)上,我们可以把Flink的状态理解为某个算子的子任务在其当前实例上的一个变量,该变…

Idea 将多个module显示在同一个project

Idea 将多个maven项目显示在同一个project下 1、选择菜单 File-》New -》Module from Existing Sources -> 2、在弹出的界面选中对应的Module的pom.xml,然后点击OK按钮就行了 (弹出框上面也提示了Eclipse 项目选中.project文件;Maven 项目选中pom.xml; ) 最终显…

文件解析漏洞中间件(iis和Apache)

IIS解析漏洞 IIS6.X #环境 Windows Server 2003 在iis6.x中&#xff0c;.asp文件夹中的任意文件都会被当做asp文件去执行 在默认网站里创建一个a.asp文件夹并创建一个1.jpg写进我们的asp代码 <%now()%> #asp一句话 <%eval request("h")%> 单独创建一…

gitee别人仓库再上传自己仓库

一、新建一个自己的Git仓库 如果没有注册账号的朋友&#xff0c;可以先去注册一个Gitee的账号&#xff0c;用于管理自己的代码特别好用&#xff01;&#xff01;&#xff01; 接下来就是在gitee上新建一个自己的仓库&#xff0c;如下图所示 二、右建 Git Bush Here删除.git文件…

STM32F407 | Embedded IDE01 - vscode搭建Embedded IDE开发环境(支持JLINK、STLINK、DAPLINK)

导言 Embedded IDE官网:https://em-ide.com/docs/intro 我猜肯定有部分人使用SI Keil开发STM32项目&#xff0c;也有vscode Keil开发STM32程序。SI或vscode编写代码&#xff0c;然后切换Keil编译、下载、调试程序。有一段时间&#xff0c;我也是这么干的。但是&#xff0c;程…

算法的学习笔记—扑克牌顺子(牛客JZ61)

&#x1f600;前言 扑克牌顺子问题是一道趣味性与逻辑性兼备的题目&#xff0c;要求判断五张牌是否能组成顺子&#xff0c;其中大小王&#xff08;癞子&#xff09;可作为任意牌面。癞子的特殊性增加了问题的复杂度&#xff0c;也为解题提供了更多的可能性。通过这一问题&#…

记录遇到的一个新的变种JS加密

源 逻辑分析 混淆代码的目的是隐藏实际逻辑&#xff0c;增加逆向工程的难度。以下是对代码的逐步分析和解读。 第一部分&#xff1a;立即调用的函数表达式 (IIFE) (function () {var _K [...]; // 存储大量字符串的数组 })();​ 1. 目的&#xff1a;这个 IIFE 是整个代码运行…

LeetCode:104.二叉树的最大深度

跟着carl学算法&#xff0c;本系列博客仅做个人记录&#xff0c;建议大家都去看carl本人的博客&#xff0c;写的真的很好的&#xff01; 代码随想录 LeetCode&#xff1a;104.二叉树的最大深度 给定一个二叉树 root &#xff0c;返回其最大深度。 二叉树的 最大深度 是指从根节…

Fastjson <= 1.2.47 反序列化漏洞复现

0x01 前言 Fastjson 是一个 Java 语言编写的高性能功能完善的 JSON 库&#xff0c;可以将 Java 对象转换为 JSON 格式&#xff0c;也可以将 JSON 字符串转换为 Java 对象&#xff0c;在中国和美国使用较为广泛。 0x02 漏洞成因 Fastjson < 1.2.68 版本在处理反序列化对象时…

python:函数

一、嵌套函数 1.1概念 嵌套函数是定义在另一个函数作用域内部的函数。外部函数可以访问其内部声明的嵌套函数&#xff0c;而嵌套函数则可以访问其外部函数的作用域&#xff08;包括参数和局部变量&#xff09;。 1.2实例 一般情况下&#xff0c;我们是这样书写嵌套函数的&a…

Linux 下的 GPT 和 MBR 分区表详解

文章目录 Linux 下的 GPT 和 MBR 分区表详解一、分区表的作用二、MBR&#xff08;Master Boot Record&#xff09;1. **特点**2. **优点**3. **缺点**4. **适用场景** 三、GPT&#xff08;GUID Partition Table&#xff09;1. **特点**2. **优点**3. **缺点**4. **适用场景** 四…