单表-DQL

注意:这张图还包含了对于的顺序,先分组再排序,再分页,顺序不能乱
在这里插入图片描述

基本查询

在这里插入图片描述

# 1.基本查询
# 查询全部行
select * from tb_emp;
select id, user_name, password, name, gender, image, job, entry_date, create_time, update_time from tb_emp;
# 查询全部行的对应列,推荐用第二种,直观(先输入查询的select from 表,再输入第一个元素就能全部生成对应的列)
select name,entry_date from tb_emp;
# 加个起别名的操作(AS),其实也可以不加as,效果一样的
select name as 姓名, entry_date as 入职日期 from tb_emp;
select name  姓名, entry_date  入职日期 from tb_emp;
# 去除重复distinct(会去除查询列都相同的行)
select distinct job from tb_emp;

# 2.条件查询(查询指定行)-where,这就解释查询大于50分人的全部信息
select * from tb_emp where gender=2;
# where后面可以跟很多条件语句
# 比较运算符 > < <= != =...  between and(范围)[是左闭右闭]
# in(set)(指定书集) like和not like(模糊查询) is null(判断是否为null)
# 逻辑运算符 and or not
# 注意:=null是等于字符串null,而想要查询是否为null 需要用 is null
select * from student where math between 80 and 100 and english in(88,98) and name is not null
                        and not(id is null);

条件查询

在这里插入图片描述

# 2.条件查询(查询指定行)-where,这就解释查询大于50分人的全部信息
select * from tb_emp where gender=2;
# where后面可以跟很多条件语句
# 比较运算符 > < <= != =...  between and(范围)[是左闭右闭]
# in(set)(指定书集) like和not like(模糊查询) is null(判断是否为null)
# 逻辑运算符 and or not
# 注意:=null是等于字符串null,而想要查询是否为null 需要用 is null
select * from student where math between 80 and 100 and english in(88,98) and name is not null
                        and not(id is null);
# 模糊匹配
# like (_匹配单个字符,%匹配任意个字符)
# 查询名字两个字符的员工
select * from tb_emp where name like '___';
# 查询姓张的员工
select * from tb_emp where name like '张%';

聚合函数

在这里插入图片描述

-- 聚合函数

-- 1. 统计该企业员工数量 -- count
-- A. count(字段)
select count(id) from emp;  # 29
select count(job) from emp;# 28(job里面有一个null) -- null值不参与聚合函数运算

-- B. count(*) -- 就直接查询有几行数据
select count(*) from emp;

-- C. count(值) -- 也是直接查询几行数据不过建议用上面那个
select count(1) from emp;

-- 2. 统计该企业员工 ID 的平均值
select avg(id) from emp;

-- 3. 统计该企业最早入职的员工的入职日期
select min(entrydate) from emp;

-- 4. 统计该企业最近入职的员工的入职日期
select max(entrydate) from emp;

-- 5. 统计该企业员工的 ID 之和
select sum(id) from emp;

分组查询

在这里插入图片描述
尤其是这个注意1,查询其他字段一般是会报错的


# 4.分组查询
-- 分组
-- 1. 根据性别分组 , 统计男性和女性员工的数量  -- count
select gender,count(*) from  tb_emp group by gender;

-- 2. 先查询入职时间在 '2015-01-01' (包含) 以前的员工 , 并对结果根据职位分组 , 获取员工数量大于等于2的职位 -- count
select job,count(*) from tb_emp where entry_date<='2015-01-01' group by job having count(*)>=2;

排序查询

在这里插入图片描述

# 5.排序查询
-- 1. 根据入职时间, 对员工进行升序排序  -- 排序条件
select * from tb_emp order by entry_date asc;
select * from tb_emp order by entry_date ;# 默认升序asc可以不写

-- 2. 根据入职时间, 对员工进行降序排序
select * from tb_emp order by entry_date desc ;# desc降序


-- 3. 根据 入职时间 对公司的员工进行 升序排序 , 入职时间相同 , 再按照 ID 进行降序排序
select * from tb_emp order by entry_date asc , id desc ;
#多个字段用,隔开,越前,优先级越高(第一个字段相同,才会用第二个字段排序)

分页查询

在这里插入图片描述

--  =================== 分页查询 ======================
limit 起始索引,查询记录数(这种语句可以实现了一个分页的效果,当然也可以不分页)
-- 1. 查询第1页员工数据, 每页展示10条记录
select * from emp limit 0,10;

select * from emp limit 10;


-- 2. 查询第2页员工数据, 每页展示10条记录
select * from emp limit 10,10;

-- 公式 : 页码 ---> 起始索引  ------->  起始索引 = (页码 - 1) * 每页记录数

案例练习(条件控制语句学习)

在这里插入图片描述

# 6.案例
# 1.姓 (含)张 性别 男 入职 在2000-01-01到2015-12-31之间
# 查第一页数据 每页十条,对查询的记录根据最后修改的时间进行倒序排序
select * from tb_emp where name like '%张%' and gender=1
                       and entry_date between '2000-01-01' and '2015-12-31'
order by update_time desc limit 10 ;
# 2.根据性别和男女划组,进行对应人数统计
select if(gender=1,'男士','女士') as '性别',count(*) as '总数' from tb_emp group by gender;
#IF(exp1,exp2,exp3),exp1为true返回exp2否则返回exp3

select case when job=1 then '班主任'
    when job=2 then '讲师'
        when job=3 then '学工主任'
            when  job=4 then '教研主管'  end as '职位'
    ,count(*) as 总数 from tb_emp group by job;
# case when exp1 then exp2 when .. else exp_n END(注意后面有个end)
# exp1成立返回exp2 .. 如果都不成功 返回else 后面的exp_n

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

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

相关文章

yarn与npm的区别(yarn的安装报错问题)

一、yarn 是什么&#xff0c;yarn 与 npm 的区别是什么&#xff1f; yarn 是一个软件包管理系统&#xff0c;Yarn 和 npm 都是包管理工具&#xff0c;用于管理用 JavaScript 编写的软件包&#xff0c;yarn的出现是为了弥补 npm的一些缺陷。yarn 与 npm 的区别 &#xff1a; 性能…

MongoDB复制集原理

复制集简介 Mongodb复制集由一组Mongod实例&#xff08;进程&#xff09;组成&#xff0c;包含一个Primary节点和多个Secondary节点&#xff0c;Mongodb Driver&#xff08;客户端&#xff09;的所有数据都写入Primary&#xff0c;Secondary从Primary同步写入的数据&#xff0…

3.springboot开发篇

SpringBoot开发实用篇 ​ KF-1.热部署 热部署是不用重启项目&#xff0c;项目自动更新 非springboot项目热部署实现原理 ​ 开发非springboot项目时&#xff0c;我们要制作一个web工程并通过tomcat启动&#xff0c;通常需要先安装tomcat服务器到磁盘中&#xff0c;开发的程序…

密码学证明方案寒武纪大爆发——扩容、透明性和隐私的变革潜力

1. 引言 前序博客有&#xff1a; ZKP大爆炸 本文主要参考&#xff1a; StarkWare 2023年6月博客 Cambrian Explosion of Cryptographic Proofs----The transformative potential for scalability, transparency, and privacy2023年3月Eli Ben-Sasson在The 13th BIU Winter …

vmware postgresql大杂烩

Vmware 窗口过界&#xff1a; https://blog.csdn.net/u014139753/article/details/111603882 vmware, ubuntu 安装&#xff1a; https://zhuanlan.zhihu.com/p/141033713 https://blog.csdn.net/weixin_41805734/article/details/120698714 centos安装&#xff1a; https://w…

形式化验证,QED: Quick Error Detection Tests for Effective Post-Silicon Validation(二)

目录 一、Article:文献出处&#xff08;方便再次搜索&#xff09; &#xff08;1&#xff09;作者 &#xff08;2&#xff09;文献题目 &#xff08;3&#xff09;文献时间 &#xff08;4&#xff09;引用 二、Data:文献数据&#xff08;总结归纳&#xff0c;方便理解&am…

抖音短视频矩阵系统源码:技术开发与实践

目录 一.短视频账号矩阵管理系统囊括的技术 1.开发必备的开发文档说明&#xff1a; 二.技术文档分享&#xff1a; 1.底层框架系统架构&#xff1a; 2.数据库接口设计 1.技术开发必备的开发文档说明&#xff1a; 1.1系统架构&#xff1a; 抖音SEO排名系统主要由以下几个模…

Spring Boot 属性加载原理解析

基于Spring Boot 3.1.0 系列文章 Spring Boot 源码阅读初始化环境搭建Spring Boot 框架整体启动流程详解Spring Boot 系统初始化器详解Spring Boot 监听器详解Spring Boot banner详解Spring Boot 属性配置解析Spring Boot 属性加载原理解析 在《Spring Boot 框架整体启动流程详…

【计算机视觉 | 图像分类】arxiv 计算机视觉关于图像分类的学术速递(6月 29 日论文合集)

文章目录 一、分类|识别相关(12篇)1.1 Pseudo-Bag Mixup Augmentation for Multiple Instance Learning Based Whole Slide Image Classification1.2 Improving Primate Sounds Classification using Binary Presorting for Deep Learning1.3 Challenges of Zero-Shot Recognit…

阿里云docker启动xxljob,部署自己的定时任务

本次安装版本xxl-job-admin:2.3.0 一&#xff1a;创建xxl-job数据库的各种表 作者官方地址 下载sql执行 二&#xff1a;docker拉取xxl-job镜像 docker pull xuxueli/xxl-job-admin:2.3.0 三&#xff1a;docker启动xxl-job服务 docker run -e PARAMS"--spring.datasour…

Tensorflow神经网络模型-鲜花种类识别

必应壁纸供图 Tensorflow神经网络模型-鲜花种类识别 数据集&#xff1a;https://download.csdn.net/download/weixin_53742691/87982215 导入相关依赖 import warnings import re from IPython.display import clear_output, display from tkinter import Tk, filedialog fro…

wampServer安装Redis 扩展

第一步&#xff1a;查看php版本信息 使用 phpinfo() 函数查看 PHP 的版本信息&#xff08;用于选择扩展包&#xff09; 版本信息&#xff1a;PHP版本为 8.0.26&#xff0c;编译器版本 Visual C 2019&#xff0c;CPU架构 x64 。 第二步&#xff1a;根据第一步信息的版本选择扩…

基于树莓派4B的YOLOv5-Lite目标检测的移植与部署(含训练教程)

前言&#xff1a;本文为手把手教学树莓派4B项目——YOLOv5-Lite目标检测&#xff0c;本次项目采用树莓派4B&#xff08;Cortex-A72&#xff09;作为核心 CPU 进行部署。该篇博客算是深度学习理论的初步实战&#xff0c;选择的网络模型为 YOLOv5 模型的变种 YOLOv5-Lite 模型。Y…

【AI底层逻辑】——篇章3(上):数据、信息与知识香农信息论信息熵

目录 引入 一、数据、信息、知识 二、“用信息丈量世界” 1、香农信息三定律 2、一条信息的价值 3、信息的熵 总结 引入 AI是一种处理信息的模型&#xff0c;我们把信息当作一种内容的载体&#xff0c;计算机发明以前很少有人思考它的本质是什么。随着通信技术的发展&a…

【ISO26262】汽车功能安全第3部分:概念阶段

GB/T34590《道路车辆 功能安全》分为以下部分: 需要文档的朋友,可以和我联系! tommi_wei@163.com GB/T34590的本部分规定了车辆在概念阶段的要求: ———相关项定义; ———安全生命周期启动; ———危害分析和风险评估;及 ———功能安全概念。 危害事件分类 对于每一个…

wsl子系统Ubuntu18.04,cuDNN安装

如果觉得本篇文章对您的学习起到帮助作用&#xff0c;请 点赞 关注 评论 &#xff0c;留下您的足迹&#x1f4aa;&#x1f4aa;&#x1f4aa; 本文主要wls子系统Ubuntu18.04安装cuDNN&#xff0c;安装cudnn坑巨多&#xff0c;因此记录以备日后查看&#xff0c;同时&#xff0…

GaussDB WDR报告分析

标题 问题描述问题现象告警业务影响原因分析处理方法步骤 1步骤 2步骤 3步骤 4步骤 6步骤 7步骤 8步骤9步骤 10步骤 11步骤 12 问题描述 CPU使用率高。 问题现象 出现CPU使用率超过阈值&#xff0c;CPU使用率快速上涨或短时间持续较高水平等现象。 告警 CPU使用率告警。 …

uniapp的表单校验方式整理

uniapp的表单校验方式整理 这里我使用的模板为&#xff1a; 第一种&#xff1a; uniapp本身自带表单校验的js文件&#xff0c;代码写的很简洁&#xff0c;也是比较全面的 只要按照规则校验即可&#xff0c;下面是对应的校验代码&#xff1a; /** 数据验证&#xff08;表…

PyQt中数据库的访问(一)

访问数据库的第一步是确保ODBC数据源配置成功&#xff0c;我接下来会写数据源配置的文章&#xff0c;请继续关注本栏&#xff01; &#xff08;一&#xff09;数据库连接 self.DBQSqlDatabase.addDatabase("QODBC") self.DB.setDatabaseName("Driver{sqlServer…

ModaHub AI模型开源社区——向量数据库Milvus存储操作教程

目录 存储操作 数据插入 数据落盘 定时触发 客户端触发 缓冲区达到上限触发 数据合并 建立索引 删除 删除集合 删除分区 删除实体 数据段整理 数据读取 常见问题 存储操作 阅读本文前&#xff0c;请先阅读 存储相关概念。 数据插入 客户端通过调用 insert 接…
最新文章