MySQL基础教程——查询操作(下)

@


书接上回,我们来继续介绍MySQL的查询操作。

二、内置函数

在继续学习MySQL的函数之前我们需要了解一些基本的MySQL内置函数。

(1)日期函数

在这里插入图片描述

(2)字符串函数

在这里插入图片描述

(3)数学函数

在这里插入图片描述

(4)其它函数

函数名称 描述
user() 查询当前用户
md5(str) 对一个字符串进行md5摘要,摘要后得到一个32位字符串
database() 显示当前正在使用的数据库
password() MySQL数据库使用该函数对用户加密
ifnull(val1, val2) 如果val1为null,返回val2,否则返回val1的值

三、复合查询

(1)自连接

自连接是指在同一张表连接查询。

实现方式与案例:

# 子查询方法
select empno,ename from emp where emp.empno=(select mgr from emp where
ename='FORD');
# 多表查询方法
elect leader.empno,leader.ename from emp leader, emp worker where
leader.empno = worker.mgr and worker.ename='FORD';

(2)子查询

子查询是指嵌入在其他sql语句中的select语句,也叫嵌套查询。

1、单行子查询

select * from EMP WHERE deptno = (select deptno from EMP where
ename='smith');

2、多行子查询

在这其中将会使用到一些关键字。
in 关键字

# 查询和10号部门的工作岗位相同的雇员的名字,岗位,工资,部门号,但是不包含10自己的
select ename,job,sal,deptno from emp where job in (select distinct job from
emp where deptno=10) and deptno<>10;

all 关键字

# 显示工资比部门30的所有员工的工资高的员工的姓名、工资和部门号
select ename, sal, deptno from EMP where sal > all(select sal from EMP where
deptno=30);

any关键字

# 显示工资比部门30的任意员工的工资高的员工的姓名、工资和部门号(包含自己部门的员工)
select ename, sal, deptno from EMP where sal > any(select sal from EMP where
deptno=30);

3、多列子查询

单行子查询是指子查询只返回单列,单行数据;多行子查询是指返回单列多行数据,都是针对单列而言的,而多列子查询则是指查询返回多个列数据的子查询语句。

# 查询和SMITH的部门和岗位完全相同的所有雇员,不含SMITH本人
select ename from EMP where (deptno, job)=(select deptno, job from EMP
where ename='SMITH') and ename <> 'SMITH';

4、在from子句中使用子查询

# 显示每个高于自己部门平均工资的员工的姓名、部门、工资、平均工资
# 获取各个部门的平均工资,将其看作临时表
select ename, deptno, sal, format(asal,2) from EMP,
(select avg(sal) asal, deptno dt from EMP group by deptno) tmp
where EMP.sal > tmp.asal and EMP.deptno=tmp.dt;

5、合并查询

为了合并多个select的执行结果,可以使用集合操作符 union,union all。

union

# 将工资大于2500或职位是MANAGER的人找出来
select ename, sal, job from EMP where sal>2500 union select ename, sal, job from EMP where job='MANAGER';--去掉了重复记录

union all

# 将工资大于25000或职位是MANAGER的人找出来
select ename, sal, job from EMP where sal>2500 union all select ename, sal, job from EMP where job='MANAGER';

结语

以上就是我们关于MySQL的基本查询操作内容啦。如果喜欢我的内容,请点赞、收藏加关注,多多支持我这个编程小白啊,以及欢迎各位在评论区讨论交流,并指出我的不足,谢谢大家。

posted @ 2026-08-19 15:47  _梦影  阅读(2)  评论(0)    收藏  举报