【Day07】

2024-09-03 02:44
文章标签 day07

本文主要是介绍【Day07】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

MySQL-DQL- 基本查询

MySQL-DQL- 条件查询

MySQL-DQL- 聚合函数

MySQL-DQL- 分组查询

MySQL-DQL- 排序查询

MySQL-DQL- 分页查询

MySQL-DQL- 案例

MySQL-多表设计-一对多

MySQL-多表设计-一对多-外键约束

MySQL-多表设计-一对一&多对多

MySQL-多表设计-案例-关系分析

MySQL-多表设计-案例-表结构


MySQL-DQL- 基本查询

-- DQL : 基本查询 --
-- 1.查询指定字段name,entrydate
select name,entrydate from tb_emp;-- 2.查询返回所有字段
select id, username, password, name, gender, image, job, entrydate, create_time, update_time from tb_emp;
-- 不推荐(不直观、性能低)
select * from tb_emp;-- 3.查询所有员工的name, entrydate,并起别名(姓名、入职时间)
select name '姓 名', entrydate 入职日期 from tb_emp;-- 4.查询已有的员工关联了几种职位(不要重复)
select distinct job from tb_emp;

MySQL-DQL- 条件查询

-- DQL : 条件查询 --
-- 1.查询 姓名 为 杨逍 的员工
select * from tb_emp where name = '杨逍' ;-- 2.查询 id小于等于5 的员工信息
select * from tb_emp where id <= 5;-- 3.查询 没有分配职位 的员工信息
select * from tb_emp where job is null;-- 4.查询 有职位 的员工信息
select * from tb_emp where job is not null;-- 5.查询密码不等于‘123456’ 的员工信息
select * from tb_emp where password != '123456';-- 6.查询 入职日期 在‘2000-01-01’(包含)到‘2010-01-01’(包含)之间的员工信息
select * from tb_emp where entrydate between '2000-01-01' and '2010-01-01';-- 7.查询 入职时间  在‘2000-01-01’(包含)到‘2010-01-01’(包含)之间 且 性别为女 的员工信息
select * from tb_emp where entrydate between '2000-01-01' and '2010-01-01' && gender = 1;-- 8.查询 职位是2(讲师),3(学工主管),4(教研主管) 的员工信息
select  * from tb_emp where job = 2 || job = 3 || job =4;
select  * from tb_emp where job in(2,3,4);-- 9.查询 姓名 为两个字的员工
select * from tb_emp where name like '__';-- 10.查询 姓‘张’ 的员工信息
select * from tb_emp where name like '张%';

 MySQL-DQL- 聚合函数

-- DQL : 分组查询 --
-- 聚合函数 : 不对null值进行运算的
-- 1.统计该企业员工数量 -- count
-- A.count(字段)
select count(name) from tb_emp;
select count(job) from tb_emp;-- B.count(常量)
select count(1) from tb_emp;-- C.count(*) -- 推荐
select count(*) from tb_emp;-- 2.统计该企业最早入职的员工
select min(entrydate) from tb_emp;-- 3.统计该企业最迟入职的员工
select max(entrydate) from tb_emp;-- 4.统计该企业员工 ID 的平均值
select avg(id) from tb_emp;-- 5.统计该企业员工的 ID 之和
select sum(id) from tb_emp;

 MySQL-DQL- 分组查询

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

 MySQL-DQL- 排序查询

-- 排序查询 --
-- 1.根据入职时间,对员工进行升序排序
select * from tb_emp order by entrydate asc;-- 2.根据入职时间,对员工进行降序排序
select * from tb_emp order by entrydate desc;-- 3.根据 入职时间 对公司员工进行 升序排序, 入职时间相同,再按照 更新时间进行降序排序
select * from tb_emp order by entrydate asc, update_time desc;

 MySQL-DQL- 分页查询

-- 分页查询 --
-- 1.从 起始索引0 开始查询员工数据,每页展示5条数据
select * from tb_emp limit 0, 5;-- 2.查询 第1页 员工数据,每页展示5条记录
select * from tb_emp limit 0, 5;-- 3.查询 第2页 员工数据,每页展示5条记录
select * from tb_emp limit 5, 5;-- 4.查询 第3页 员工数据,每页展示5条记录
select * from tb_emp limit 10, 5;-- 起始索引 = (页码-1)*每页展示记录数

 MySQL-DQL- 案例

-- 案例1 : 按需求完成对员工管理的条件分页查询 - 根据输入条件 , 查询第一页数据,每页展示10条记录
-- 输入条件 :-- 姓名 : 张-- 性别 : 男-- 入职时间 : 2000-01-01  2015-12-31
select *
from tb_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-1 : 根据需求,完成对员工性别信息的统计【统计出男性和女性员工各自多少人】 -- count(*)
-- if(条件表达式, true取值, false取值)
select if(gender = 1, '男性员工', '女性员工') 性别, count(*) from tb_emp group by gender;-- 案例2-2 : 根据需求,完成员工职位信息统计
-- case 表达式 when 值1 then 结果1 when 值2 then 结果2 ......
select (case jobwhen 1 then '班主任'when 2 then '讲师'when 3 then '学工主管'when 4 then '教研主管'else '未分配职位' end )职位, count(*)
from tb_emp
group by job;

MySQL-多表设计-一对多

 MySQL-多表设计-一对多-外键约束

 MySQL-多表设计-一对一&多对多

 MySQL-多表设计-案例-关系分析

 MySQL-多表设计-案例-表结构

这篇关于【Day07】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1131800

相关文章

python进阶篇-day07-高级语法与正则

day07-python其他高级语法 一. with(上下文管理) 介绍 概述 一个类只要实现了__ enter __ () 和 __ exit __ ()方法, 这个类就是一个上下文管理器类, 该类的对象 = 上下文管理器对象 目的 节约资源, 提高效率, 避免手动释放资源, 且出bug的时候, 也会自动尝试释放资源 特点 上下文管理器对象, 可以结合with语句使用

JAVA学习知识点1.24之SpringMVC学习Day07

SpringMVC获取Controller中的JSON数据 传递数据到界面 request.setAttribute("userName", user.getUserName()); SpringMVC传递JSON数据到界面有多中方式 1.SpringMVC传递JSON数据到界面   改HTTP协议头,改为JSON类型response.setContentType("applicatio

IO进程day07(信号灯集、消息队列)

【1】信号灯集 semaphore 1》概念 信号灯(semaphore),也叫信号量,信号灯集是一个信号灯的集合。它是不同进程间或一个给定进程内部不同线程间同步的机制; 而Posix信号灯指的是单个计数信号灯:无名信号灯、有名信号灯。(咱们学的是无名信号灯) System V的信号灯是一个或者多个信号灯的一个集合。其中的每一个都是单独的计数信号灯。 通过信号灯集实现共享内存的同步操作

Vue——day07之条件渲染、列表渲染以及监测数据

目录 1.template标签 2.条件渲染 3.列表渲染 4.v-for中的key的作用以及原理 5.列表过滤 placeholder 前端空字符串 使用数据监视watch实现 使用计算属性实现 6.列表排序 7.Vue更新数据检测失败 原因 总结 1.template标签         template标签是Vue.js中的一个特殊元素,

云计算第二阶段---DBA Day05-DAY07

DBA   Day05         这周的内容涉及到的是各类数据库的服务配置与数据的备份与恢复操作. 环境准备: 设置   ip 地址 和主机名   安装mysql,mysql-server --->启动 yum -y install mysql mysql-server #装mysql环境包systemclt start mysqld #启动服务

cgb2105-day07

文章目录 一,表格标签--1,概述--2,总结 二,表单标签--1,测试--2,总结--3,form提交数据 三,form表单的练习四,CSS-1,概述-2,语法-3,入门案例 五,选择器六,常用属性 一,表格标签 向网页中加入表格 –1,概述 <!DOCTYPE html><html><head><meta charset="utf-8"><title>测试 表格标签<

Python学习打卡:day07

day7 笔记来源于:黑马程序员python教程,8天python从入门到精通,学python看这套就够了 目录 day753、列表的常用操作课后练习题54、列表的循环遍历列表的遍历—— while 循环列表的遍历—— for 循环while 循环和 for 循环的对比练习 55、元组的定义与操作元组的定义元组的相关操作元组的相关操作——注意事项元组的遍历元组的特点 56、字符串的定义和

day07--454.四数相加II+383. 赎金信+ 15. 三数之和+ 18. 四数之和

一、454.四数相加II 题目链接:https://leetcode.cn/problems/4sum-ii/ 文章讲解:https://programmercarl.com/0454.%E5%9B%9B%E6%95%B0%E7%9B%B8%E5%8A%A0II.html#%E7%AE%97%E6%B3%95%E5%85%AC%E5%BC%80%E8%AF%BE 视频讲解:https://www

【LC刷题】DAY07:344 541 54

【LC刷题】DAY07:344 541 54 文章目录 【LC刷题】DAY07:344 541 54344. 反转字符串 [link](https://leetcode.cn/problems/reverse-string/description/)541. 反转字符串 II [link](https://leetcode.cn/problems/reverse-string-ii/des

oop_day07_多态_20150815

oop_day07_多态_20150815 1.多态:多种形态    1)多态的意义:       1.1)同一类型的引用指向不同的对象时,有不同的实现             ---------cut()、run()-----行为的多态       1.2)同一个对象被造型为不同的类型时,有不同的功能             ---------我、水---------对象的多态