数据库SQL查询(一)

news2024/11/26 4:47:43

本文介绍SQL查询,如何在海量数据中筛选想要数据;

数据库管理系统选择:关系型数据库mysql

数据库管理工具选择:navicat

本文中查询语句和查询案例参考自:https://edu.csdn.net/course/detail/27673?ops_request_misc=&request_id=&biz_id=105&utm_term=SQL&utm_medium=distribute.pc_search_result.none-task-course-2~course~sobaiduweb~default-3-27673.pc_edu_default&spm=1018.2226.3001.4453

目录

基本结构

示例一

运算符

示例一

示例二

示例三

模糊查询

示例一

排序

示例一

聚合函数

示例一

示例二

示例三

示例四

分组查询

示例一

示例二

示例三


基本结构

select -- 查询什么,列筛选,其中*表示所有列

from   -- 在哪个表查询,主要连接要查询的表名称

where -- 满足什么条件,行筛选

示例一

As可以为列重命名

-- 查询出姓名为“陈鹏”的学号、手机号码和邮箱地址并重命名

SELECT SNO AS '学号',MobileNO AS '手机号码',StuEMail AS '邮箱地址'
FROM Student
where SName = '陈鹏'

运算符

算术运算符:+  -  *  /

比较运算符:=  <>  !=  >=  >  <=  <

括号:()提高优先级

null不能使用比较运算符,使用is null, is not null

逻辑运算符:not取反,and,   or,    括号()提高优先级

示例一

-- 查询出姓名不是“陈鹏”的学生的所有信息

select SNO,SName,Sage,Sex,MobileNO,StuEMail 
from Student
where SName != '陈鹏'

 

 

示例二

-- 查询哪些学生没有填写“年龄 ”信息

SELECT SNo,SName
FROM Student
WHERE Sage is null

 

 

示例三

-- 查询出“陈鹏”、”Alice”、”Bob”的学号,年龄

select SNo,SName
FROM Student
where SName in ('陈鹏','Alice','Bob')

 

模糊查询

REGEXP正则表达式

示例一

-- 查询出手机号码133或者134开头,倒数第二位为不是2也不是4的学生

select *
from Student
WHERE mobileno REGEXP '^[1][3][34][0-9]{1,}[^24][0-9]$'

排序

通过Order by 进行排序

ASC升序   DESC降序     不写默认是升序

示例一

-- 对Student表按照年龄升序排序,如果年龄一样,女生排在男生前面

SELECT *
FROM Student
ORDER BY sage ASC, sex ASC     -- mysql中是ASCII码排序,转换后女排在男前面,所以是升序

聚合函数

聚合函数对一组值执行计算并返回单一的值;

COUNT:求所选记录行数(可与distinct连用,消除重复值再计数)

AVG:求所选记录的平均值

SUM:为所选记录求和

MAX:求所选记录的最大值

MIN:求所选记录的最小值

示例一

-- 查询年龄最大值

SELECT MAX(sage) 
from Student                    

 

 

示例二

-- 查询男生的平均年龄

select AVG(sage) 
from Student 
where sex = '男'   

 

 

示例三

 -- 查询有多少位学生借书

 

select COUNT(distinct sno) 
from BorrowBook      

 

示例四

-- 查询计算机类的图书总共有多少本

select SUM(bookincoming) 
from Book 
where booktypeid = (select id from BookType where typename = '计算机')  

 

 

分组查询

“Group By”从字面意义上理解就是根据“By”指定的规则对数据进行分组,所谓的分组就是将一个数据集划分成若干个小区域,然后针对若干个小区域进行数据处理

分组前筛选--where

分组后筛选--having

示例一

-- 查询出男女生姓名、人数、平均年龄、年龄和

Select Sex, GROUP_CONCAT(sname) As '学生姓名', Count(*) AS '人数', avg(sage) As '平均年龄',sum(sage) As '年龄和'   -- GROUP_CONCAT可以把多个值显示到一起
from Student 
Group by Sex                        -- 按照性别分组

示例二

-- 查询出借的最多的那本书的Id

Select BookID, COUNT(*) As '被借次数'
from BorrowBook
Group by BookId                     -- 按照ID分组
Having COUNT(*) =                   -- 分组后筛选借书最多值
(
	Select  COUNT(*) 
	from BorrowBook
	Group by BookId
	order by COUNT(*) DESC
	LIMIT 1
)

示例三

-- 统计出一月份哪些区域的哪些商品销售低于1000件, 按照倒序排列

 

Select  PArea As '区域', PName As '名称', SUM(PSaleNo) As '销售量'
from SalesTable 
Where PMonth= '一月'                 -- 分组前筛选一月份数据:Where
Group by PArea, PName                -- 按照区域和商品分组
Having  SUM(PSaleNo) < 1000          -- 分组后筛选低于1000件数据:having
Order by SUM(PSaleNo) DESC 

 

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

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

相关文章

管理类联考——英语——趣味篇——背诵单词

考友方法推荐 词根词缀巧记考研英语大纲词汇 ⼀、词根词缀构词法的威⼒ 《考研英语⼤纲》要求考⽣掌握 5500 个词汇及相关词组&#xff0c;我们将这 5500 个单词&#xff0c;分成了三类&#xff0c;通过第⼀类“3450 基础⾼频词汇”的学习&#xff0c;考⽣夯实了基础&#xf…

Fmoc-保护氨基酸合成中的新型底物:Fmoc-Thr(Ac4Manα1-2Ac3Manα)-OH,CAS:482576-73-8

文章关键词&#xff1a;糖化学试剂&#xff0c;多肽合成&#xff0c;Fmoc-保护氨基酸&#xff0c;糖基化修饰一、产品描述&#xff1a; 西安凯新生物科技有限公司供应的​Fmoc-Thr(Ac4Manα1-2Ac3Manα)-OH&#xff0c;多肽固相合成法&#xff0c;基于Fmoc化学合成&#xff0c…

[学习笔记] [机器学习] 12. [下] HMM 隐马尔可夫算法(马尔科夫链、HMM 三类问题、前后后向算法、维特比算法、鲍姆-韦尔奇算法、API 及实例)

5. 维特比算法解码隐藏状态序列 Q Q Q 学习目标&#xff1a; 知道维特比算法解码隐藏状态序列 Q Q Q 在本篇我们会讨论维特比算法解码隐藏状态序列 Q Q Q&#xff0c;即给定模型 λ \lambda λ 和观测序列 O O O&#xff0c;求给定观测序列 O O O 条件下&#xff0c;最…

使用华为云开发者插件一键部署应用到ECS

前言 笔者是一名码龄5年左右的程序员&#xff0c;大学是能源行业&#xff0c;处于对技术&#xff08;碎银几两&#xff09;的热爱&#xff0c;选择投身搬砖之路。从用C语言在控制台打印第一句“Hello World&#xff01;”开始&#xff0c;笔者陆续接触过C/C、Java、Golang、Py…

STM32 Proteus仿真4x4矩阵15位抢答器数码管TM1637显示-0039

STM32 Proteus仿真4x4矩阵15位抢答器数码管TM1637显示-0039 Proteus仿真小实验&#xff1a; STM32 Proteus仿真4x4矩阵15位抢答器数码管TM1637显示-0039 功能&#xff1a; 硬件组成&#xff1a;STM32F103R6单片机 TM1637驱动4位数码管4x4矩阵键盘蜂鸣器 1.有一个开启键&am…

【Unity Shader】从入门到着魔(1)基本概念:什么是网格?材质?Shader?

文章目录 一、什么是网格(Mesh)?二、什么是MeshFilter(网格过滤器)?三、什么是MeshRenderer(网格渲染器)?四、什么是材质(Material)?五、什么是Shader(着色器)?一、什么是网格(Mesh)? 如上图,模型的三角形面就叫做网格(Mesh),它的本质是一堆顶点数据的规则…

前端基础知识学习——获取dom对象、获取html属性、获取内容、更改样式、创建dom元素、删除元素、代替元素(十)

<!DOCTYPE html> <html lang"en"><head ><meta charset"utf-8" /><title>这是一首离别信</title><script src"https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script></head&g…

Git 基础知识

看版本 git --version 初始化 git init &#xff08;需要在准备建的仓库的目标文件夹根目录下运行&#xff09; 初始化一个仓库供所有其他人一起使用&#xff0c;平时一般都是建好的&#xff0c;个人克隆拉取这个仓库到本地进行编辑。 初始化会产生一个分支叫 master 初…

vue3创建新项目报错:Cannot find module ‘xxx‘

创建vue3项目&#xff0c;命令&#xff1a; 1. 使用vite创建&#xff1a; npm create vitelatest my-vue-app -- --template vue-ts 2.使用vue官方命令&#xff1a; npm init vuelatest 创建vue3模板学习vue3.3的新语法&#xff0c;创建完成后发现文件很多爆红&#xff1a…

华为虚拟化openEuler release 22.03 (LTS-SP1)安装VMTools

华为虚拟化openEuler release 22.03 (LTS-SP1)安装VMTools 环境 虚拟化平台&#xff1a;华为Fusioncompute 6.5.1.SPH6 X86 虚拟机操作系统&#xff1a;openEuler release 22.03 (LTS-SP1) VMTools版本&#xff1a;vmtools-2.5.0.155.tar.bz2 默认vmtools不支持openEuler rele…

【C/C++练习】合并k个已排序的链表

目录 &#x1f43b;题目描述&#xff1a; &#x1f43b;‍❄️思路一&#xff1a;暴力求解法 &#x1f43c;第一步&#xff1a;确定合并后链表的头节点rhead&#x1f43c;第二步&#xff1a;选择次小的进行尾插&#x1f43c;代码实现&#xff1a; &#x1f43b;‍❄️思路二&a…

《C++继承》

本文主要介绍继承的相关知识 文章目录 思维导图一、继承的概念及定义1.继承的概念2.继承的定义2.1 定义格式2.2 继承关系和访问限定符2.3 继承基类成员访问方式的变化 二、基类和派生类对象的赋值转换三、继承中的作用域四、派生类的默认成员函数五、继承与友元六、继承与静态成…

Vue中的Ajax 配置代理 slot插槽

4.1.Vue脚手架配置代理 本案例需要下载axios库npm install axios 配置参考文档Vue-Cli devServer.proxy vue.config.js 是一个可选的配置文件&#xff0c;如果项目的 (和 package.json 同级的) 根目录中存在这个文件&#xff0c;那么它会被 vue/cli-service 自动加载。你也可…

【OJ比赛日历】快周末了,不来一场比赛吗? #06.17-06.23 #13场

CompHub[1] 实时聚合多平台的数据类(Kaggle、天池…)和OJ类(Leetcode、牛客…&#xff09;比赛。本账号会推送最新的比赛消息&#xff0c;欢迎关注&#xff01; 以下信息仅供参考&#xff0c;以比赛官网为准 目录 2023-06-17&#xff08;周六&#xff09; #2场比赛2023-06-18…

使用matplotlib制作动态图

使用matplotlib制作动态图 一、简介二、模块简介1. **FuncAnimation**类介绍2. 定义动画更新函数 三、使用matplotlib制作动画1.一步法制作动态图片2. 两步法制作动态图片 一、简介 matplotlib(https://matplotlib.org/)是一个著名的python绘图库&#xff0c;由于其灵活强大的…

【Qt】使用libmodbus

这里写目录标题 下载编译使用Demo参照&#xff1a; Qt自带QModbusTcpClient&#xff0c;换个电脑就不好使了&#xff0c;换libmodbus 下载 可以去github下载 链接: https://pan.baidu.com/s/13lgEZ59Dt5M7zmTJNpfKvg?pwdyzfm 提取码: yzfm 下载libmodbus 并解压 编译 进入…

20分钟做一套采购审批系统

1、设计输入模板 excel画表格界面 # 公式代表新建时以默认值代替 2、设置单元格为签名控件 双击单元格后&#xff0c;会默认显示当前用户的信息,用于签名 3、设置要合计的数据 生成的合计公式会默认放到下一行 4、设置单元格的ID与标题&#xff0c;在添加或者删除行或者列时&am…

影像组学技术的基础和应用

一、概述 1. 影像组学足迹史 2003年&#xff0c;Mark A. Kriegsman和Randy L. Buckner发表的关于视觉系统空间组织的研究文章The genetic and functional basis of the spatial organization of the visual system&#xff0c;为影像组学领域提供了先驱性思路&#xff0c;奠定…

PID算法:过程控制中的重要质量指标

PID算法&#xff1a;过程控制中几个重要的概念 PID算法广泛的被应用在很多的控制系统中&#xff0c;最终的目的都是希望通过pid控制器实现被控量能稳定在预期的目标值。 使用pid控制器作用于系统的时候&#xff0c;正常情况下它应该是不断的发生作用的&#xff0c;从而让系统能…

OJ Goldbach‘s Conjecture

1.题目 题目描述 In 1742, Christian Goldbach, a German amateur mathematician, sent a letter to Leonhard Euler in which he made the following conjecture: Every even number greater than 4 can be written as the sum of two odd prime numbers. For exampl…