Java初学笔记34-【数据库】【加密和系统函数、流程控制函数、单表增强、order by字句、分页查询、多表查询、自连接】

十二、加密和系统函数

1. 常用加密和系统函数

在这里插入图片描述

2. 示例

在这里插入图片描述

3. 细节

实际开发中,不能存放明文密码,需要加密后存放

十三、流程控制函数

1. 常用流程控制函数

在这里插入图片描述

2. 示例

在这里插入图片描述

3. 练习

在这里插入图片描述

十四、mysql单表查询 – 加强

1. 使用where子句

(1)如何查找1992.1.1后入职的员工?
【以下填充‘单表增强’代码】

2. 使用like操作符

%:表示0到多个字符
_:表示单个字符
(1)如何显示首字符为S的员工姓名和工资?
【以下填充‘单表增强’代码】
(2)如何显示第三个字符为大写O的所有员工的姓名和工资?
【以下填充‘单表增强’代码】

3. order by 子句

(1)如何按照工资的从低到高的顺序,显示雇员的信息?
【以下填充‘单表增强’代码】
(2)如何按照部门号升序而雇员的工资降序排列,显示雇员信息?
【以下填充‘单表增强’代码】

4. 分页查询

基本语法:

select...limit start, rows 

表示从start+1行开始取,取出rows行, start 从0开始计算。

公式:

#第n页
SELECT * FROM emp 
	ORDER BY empno ASC
	LIMIT (n-1)×每页的记录数,每页的记录数;

(1)Question:按雇员的id号升序取出,每页显示3条记录,请分别显示第1页,第2页,第3页
【以下填充‘分页查询’代码】
(2)Question:按雇员的empno号降序取出,每页显示5条记录。请分别显示第3页,第5页对应的sql语句
【以下填充‘分页查询’代码】

5. 使用分组函数和分组子句 group by

如果select语句同时包含有group by,having , limit,order by。那么他们的顺序是group by , having ,order by,limit

(1)显示每种岗位的雇员总数、平均工资。
【以下填充‘group by’代码】
(2)显示雇员总数,以及没有获得补助的雇员数。
【以下填充‘group by’代码】
(3)显示管理者的总人数。
【以下填充‘group by’代码】
(4)显示雇员工资的最大差额。
【以下填充‘group by’代码】
在这里插入图片描述
在这里插入图片描述

十五、mysql 多表查询

1. 说明

多表查询是指基于两个和两个以上的表查询。在实际应用中,查询单个表可能不能满足你的需求,(如下面的练习),需要使用到(dept表和emp表)

2. 练习

提示:多表查询的条件不能少于表的个数-1,否则会出现笛卡尔集
【‘多表查询’代码】
(2)如何显示部门号为10的部门名、员工名和工资
【‘多表查询’代码】
(3)显示各个员工的姓名,工资,及其工资的级别
【‘多表查询’代码】
(4)显示雇员名,雇员工资及所在部门的名字,并按
部门排序[降序排]
【‘多表查询’代码】

3. 注意

(1)多表查询时,默认情况下, (两张表为例)从第一张表中,取出一行和第二张表的每一行进行组合,返回结果[含有两张表的所有列].
(2)共返回的记录数第一张表行数 * 第二张表的行数
(3)这样多表查询默认处理返回的结果,称为笛卡尔集。
(4)解决这个多表的关键就是要写出正确的过滤条件where。
(5)多表查询的条件不能少于表的个数-1,否则会出现笛卡尔集

4. 自连接

自连接是指在同一张表的连接查询,即将一张表看做是完全相同的两张表。
【‘自连接’代码】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱吃凉拌辣芒果

不断学习,不断进步,共勉~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值