DQL-案例

一.题目:

1)分析:

1.有 姓名 ,性别,入职时间(需要开始时间和结束时间-->范围查询);

2.右下角有分页条-->需要分页展示

2)创建表的代码:

-- 员工管理
create table emp
(id          int unsigned primary key auto_increment comment 'ID',username    varchar(20)      not null unique comment '用户名',password    varchar(32) default '123456' comment '密码',name        varchar(10)      not null comment '姓名',gender      tinyint unsigned not null comment '性别, 说明: 1 男, 2 女',image       varchar(300) comment '图像',job         tinyint unsigned comment '职位, 说明: 1 班主任,2 讲师, 3 学工主管, 4 教研主管',entrydate   date comment '入职时间',create_time datetime         not null comment '创建时间',update_time datetime         not null comment '修改时间'
) comment '员工表';
​
INSERT INTO emp
(id, username, password, name, gender, image, job, entrydate, create_time, update_time)
VALUES (1, 'jinyong', '123456', '金庸', 1, '1.jpg', 4, '2000-01-01', now(), now()),(2, 'zhangwuji', '123456', '张无忌', 1, '2.jpg', 2, '2015-01-01', now(), now()),(3, 'yangxiao', '123456', '杨逍', 1, '3.jpg', 2, '2008-05-01', now(), now()),(4, 'weiyixiao', '123456', '韦一笑', 1, '4.jpg', 2, '2007-01-01', now(), now()),(5, 'changyuchun', '123456', '常遇春', 1, '5.jpg', 2, '2012-12-05', now(), now()),(6, 'xiaozhao', '123456', '小昭', 2, '6.jpg', 3, '2013-09-05', now(), now()),(7, 'jixiaofu', '123456', '纪晓芙', 2, '7.jpg', 1, '2005-08-01', now(), now()),(8, 'zhouzhiruo', '123456', '周芷若', 2, '8.jpg', 1, '2014-11-09', now(), now()),(9, 'dingminjun', '123456', '丁敏君', 2, '9.jpg', 1, '2011-03-11', now(), now()),(10, 'zhaomin', '123456', '赵敏', 2, '10.jpg', 1, '2013-09-05', now(), now()),(11, 'luzhangke', '123456', '鹿杖客', 1, '11.jpg', 2, '2007-02-01', now(), now()),(12, 'hebiweng', '123456', '鹤笔翁', 1, '12.jpg', 2, '2008-08-18', now(), now()),(13, 'fangdongbai', '123456', '方东白', 1, '13.jpg', 1, '2012-11-01', now(), now()),(14, 'zhangsanfeng', '123456', '张三丰', 1, '14.jpg', 2, '2002-08-01', now(), now()),(15, 'yulianzhou', '123456', '俞莲舟', 1, '15.jpg', 2, '2011-05-01', now(), now()),(16, 'songyuanqiao', '123456', '宋远桥', 1, '16.jpg', 2, '2010-01-01', now(), now()),(17, 'chenyouliang', '12345678', '陈友谅', 1, '17.jpg', NULL, '2015-03-21', now(), now()),(18, 'zhang1', '123456', '张一', 1, '2.jpg', 2, '2015-01-01', now(), now()),(19, 'zhang2', '123456', '张二', 1, '2.jpg', 2, '2012-01-01', now(), now()),(20, 'zhang3', '123456', '张三', 1, '2.jpg', 2, '2018-01-01', now(), now()),(21, 'zhang4', '123456', '张四', 1, '2.jpg', 2, '2015-01-01', now(), now()),(22, 'zhang5', '123456', '张五', 1, '2.jpg', 2, '2016-01-01', now(), now()),(23, 'zhang6', '123456', '张六', 1, '2.jpg', 2, '2012-01-01', now(), now()),(24, 'zhang7', '123456', '张七', 1, '2.jpg', 2, '2006-01-01', now(), now()),(25, 'zhang8', '123456', '张八', 1, '2.jpg', 2, '2002-01-01', now(), now()),(26, 'zhang9', '123456', '张九', 1, '2.jpg', 2, '2011-01-01', now(), now()),(27, 'zhang10', '123456', '张十', 1, '2.jpg', 2, '2004-01-01', now(), now()),(28, 'zhang11', '123456', '张十一', 1, '2.jpg', 2, '2007-01-01', now(), now()),(29, 'zhang12', '123456', '张十二', 1, '2.jpg', 2, '2020-01-01', now(), now());

二.书写条件语句:

条件如下:

案例1:按需求完成员工管理的条件分页查询 - 根据输入条件,查询第一页数据,每页展示10条记录

输入条件: ​ 姓名:张 ​ 性别:男 ​ 入职时间:2000-01-01 到 2015-12-31

  • 规则:

  • 代码实现:

    select *
    from emp
    where name like '张%'and gender = 1and entrydate between '2000-01-01' and '2015-12-31'
    order by update_time desc
    limit 0,10;

    案例2:根据需求,完成员工信息的统计

  • 案例2-1:根据需求,完成员工性别信息的统计

    代码实现:

    先查询出男性员工和女性员工的数量:

    select gender, count(*)
    from emp
    group by gender;

运行结果为:

但题目要求的是男性员工和女性员工的数量,所以要把gender下面的信息中1改为男性员工,2改为女性员工

此时需要用到流程控制函数if 即

if(条件表达式,条件表达式结果为true取该值,条件表达式结果为false取该值)

代码实现:

select if(gender = 1, '男性员工', '女性员工'), count(*) -- gender为1时1改为男性员工,不为1时改为女性员工
from emp
group by gender;

运行结果为:

简化if(gender = 1, '男性员工', '女性员工'):

代码实现:

select if(gender = 1, '男性员工', '女性员工') 性别, count(*) -- gender为1时1改为男性员工,不为1时改为女性员工
from emp
group by gender;

运行结果为:

  • 案例2-2:根据需求,完成员工职位信息的统计

代码实现:

先查询职位数量:

select job, count(*)
from emp
group by job;

运行结果为:

根据题目需求,需要把job下面的1改为班主任,2改为讲师,3改为学工主管,4改为教研主管

(创建表时1代表班主任,2代表讲师,3代表学工主管,4代表教研主管)

由于此时需要修改的数据大于2,因此无法用if语句,要用到

另外一个流程控制函数 case

case 表达式 when 值1 then 结果1 when 值2 then 结果2 ...(后面可加多个修改方案) else ... end

(case 表达式 when 值1 then 结果1 when 值2 then 结果2 ...(后面可加多个修改方案) else ... end) 别名 即把case整个语句用括号括住后再在后面加一个别名即可把case后面的表达式改为别名

代码实现:

select (case jobwhen 1 then '班主任'when 2 then '讲师'when 3 then '学工主管'when 4 then '教研主管'else '未分配职位' end) 职位, count(*)
from emp
group by job;

运行结果为:


三.总结:

1.流程控制函数:

2.DQL:


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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux知识

内核是操作系统的核心部分,它是基于硬件的第一层软件扩充,提供操作系统的最基本功能,是操作系统工作的基础。内核的主要职责包括管理系统的进程、内存、设备驱动程序、文件和网络系统等,这些功能共同决定了系统的性能和稳定性。 …

武汉流星汇聚:西班牙时尚消费高涨,中国商家借亚马逊平台拓商机

在2024年第二季度的亚马逊西班牙站,一场前所未有的时尚盛宴正悄然上演。销售额同比高增长TOP10品类榜单的揭晓,不仅揭示了西班牙消费者对于时尚品类的狂热追求,更为亚马逊平台上的中国商家开启了一扇通往新蓝海的大门。其中,男士拳…

极速闪存启动:SD与SPI模式的智能初始化指南

最近很多客户朋友在询问我们 CS 创世 SD NAND 能不能使用 SPI 接口,两者使用起来有何区别,下面为大家详细解答。 SD MODE: CS 创世 SD NAND 支持 SD 模式和 SPI 模式,SD NAND 默认为 SD 模式,上电后,其初始化过程如下…

系统架构:分而治之

系统架构:分而治之 引言“分而治之”在架构中的应用模块化设计分层化架构微服务架构 分而治之的优势降低复杂性提高灵活性和可扩展性增强可维护性促进团队协作 分而治之的劣势复杂性转移性能开销开发和运维的复杂性数据一致性挑战 结论 引言 “分而治之”是一种分析…

python开发--乌龟对对碰实现(一)

文章目录 前言规则解析代码实现代码解析问题总结与思考 前言 "乌龟对对碰"是一种近期在网络直播平台上非常流行的盲盒玩法,消费者购买盲袋或盲盒,每个包含一个不同颜色的树脂乌龟玩具。玩家在购买时会许愿一个特定颜色的乌龟,卖家…

虚幻5|AI视力系统,听力系统,预测系统(1)视力系统

继宠物伴随系统初步篇后续 虚幻5|AI巡逻宠物伴随及定点巡逻—初步篇-CSDN博客 一,听力系统 1.打开宠物ai的角色蓝图 2.选中ai感知组件 右侧细节,找到ai感知,添加感知配置,我们需要的是ai视力配置 3.选中左侧创建的ai感知组件&…

分组汇总时保留不变列

Excel表格的ID列是分类,Value1和Value2是数值,ID相同时Descr 1和Descr 2保持不变。 ABCDE1IDValue 1Value 2Descr 1Descr 22112.51.8ax13112.31.1ax14111.91.6ax15123.73.5bx26123.91.5bx27132.50.2cx38132.64.1cx391324.8cx310132.71.8cx3 要求&#…

科创中心“核”动力|趋动科技:AI算力界的领跑者

近日,趋动科技与深信服正式推出联合解决方案。联合解决方案将深信服EDS的高性能存储与趋动科技OrionX AI算力资源池化软件、以及GeminiAI训练平台有机结合,整合存力与算力资源的同时,帮助用户建好AI平台、管好AI资源、用好AI服务。 双方已完成…

【嵌入式烧录刷写文件】-2.10-为一个Intel Hex文件计算校验和Checksum

案例背景(共6页精讲): 有如下一段Intel Hex文件,为其创建Checksum校验和:CRC16,CRC32(CVN),SHA-256 Hash算法…, 将Checksum Value填充到指定地址。 :2091000058595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767…

Unity 求坐标点在扇形区域内的投影

视频效果&#xff1a; 代码: /// <summary>/// 投影在扇形区域内的点/// </summary>/// <param name"targetPos">目标点</param>/// <param name"fanRadius">扇形半径</param>/// <param name"fanAngle"…

【C语言】【Linux】如何在Linux终端中进行彩色输出——C语言篇

&#x1f41a;作者简介&#xff1a;花神庙码农&#xff08;专注于Linux、WLAN、TCP/IP、Python等技术方向&#xff09;&#x1f433;博客主页&#xff1a;花神庙码农 &#xff0c;地址&#xff1a;https://blog.csdn.net/qxhgd&#x1f310;系列专栏&#xff1a;C语言编程&…

超越Midjourney的AI绘画神器,Flux文生图究竟强在哪里?测评攻略来咯|附生成咒语

最近&#xff0c;AI绘画界又掀起了一阵热潮。Flux大模型现在真的已经是火遍了Al圈&#xff0c;都说生图的质感媲midjourney&#xff1f;但是对于大多数人来说配置要求太高了&#xff0c;今天就带大家用国产的AI绘画软件进行测评&#xff0c;感兴趣的就一起往下看看吧&#xff0…

eNSP 华为交换机链路聚合

华为交换机链路聚合 链路聚合好处&#xff1a; 1、提高带宽 2、链路冗余 SW_2&#xff1a; <Huawei>sys [Huawei]sys SW_2 [SW_2]vlan batch 10 20 [SW_2]int g0/0/4 [SW_2-GigabitEthernet0/0/4]port link-type access [SW_2-GigabitEthernet0/0/4]port default vl…

知识改变命运 数据结构【栈和队列面试题】

1.最小栈 class MinStack {Stack <Integer>stack;Stack <Integer>minStack; public MinStack() {stacknew Stack<>();minStacknew Stack<>();}public void push(int val) {stack.push(val);if(minStack.empty()) {minStack.push(val);} else {int top…

解决旧版CMS内容管理无法登录的问题

最近遇到了输入正确的账户密码&#xff0c;旧版的CMS内容管理的平台提示登录成功却无法跳转的问题 遇到这种情况请不要慌&#xff01;&#xff01;&#xff01; 请按照下面的步骤解决问题&#xff1a; 1.点击账号管理 2.点击右上角的返回旧版控制台 3.点击cloud1环境 4.点击扩…

武林外传书生版单机安装教程+GM工具+虚拟机一键端

今天给大家带来一款单机游戏的架设&#xff1a;武林外传书生版。 另外&#xff1a;本人承接各种游戏架设&#xff08;单机联网&#xff09; 本人为了学习和研究软件内含的设计思想和原理&#xff0c;带了架设教程仅供娱乐。 教程是本人亲自搭建成功的&#xff0c;绝对是完整…

代码随想录算法训练营第二十一天| 669. 修剪二叉搜索树 108.将有序数组转换为二叉搜索树 538.把二叉搜索树转换为累加树

目录 一、LeetCode 669. 修剪二叉搜索树思路&#xff1a;C代码 二、LeetCode 108.将有序数组转换为二叉搜索树思路C代码 三、LeetCode 538.把二叉搜索树转换为累加树思路反中序遍历变量传参递归&#xff08;野路子&#xff09; 总结 一、LeetCode 669. 修剪二叉搜索树 题目链接…

javaweb学习之HTML(一)

推荐学习使用网站 w3school 在线教程 认识HTML HTML&#xff08;HyperText Markup Language&#xff09;是超文本标记语言&#xff0c;它是一个用于创建网页和网页应用程序的标准标记语言。HTML文档由一系列的元素&#xff08;elements&#xff09;组成&#xff0c;这些元素通…

Unity 麦扣 x 勇士传说 全解析 之 怪物基类与野猪(附各模块知识的链接,零基础也包学会的牢弟)(案例难度:★★☆☆☆)

通过一阵子的学习&#xff0c;我是这么认为的&#xff0c;因为该教程是难度两星的教程 &#xff0c;也就是适合学了一阵子基础组件以后的学习者 &#xff08;什么都不会的学习者要是学这套课程会困难重重&#xff0c;如果你什么都不会那么需要学习一星教程&#xff09; 所以该…

SQL-事务与并发问题

在数据库管理系统中&#xff0c;事务是一个重要的概念&#xff0c;它确保了一组数据库操作要么全部成功&#xff0c;要么全部失败&#xff0c;从而维护数据的完整性和一致性。随着多个用户同时访问数据库&#xff0c;事务的并发处理变得尤为重要。 1. 事务的定义 事务是指一组…