MySQL子查询详细教程

 更新时间:2022年10月28日 08:39:11   作者:腹白  
这篇文章主要介绍了MySQL子查询详细教程的相关资料,需要的朋友可以参考下

定义:select语句中嵌套select语句,被嵌套的select语句是子查询。

子查询可以出现在:

select 
	....(select)..
from 
	....(select)..
where 
	....(select)..

1.where后面嵌套子查询

select * from emp where sal > (select avg(sal) from emp) ; 

2.from后面嵌套子查询*

SELECT d.dname,AVG(s.grade) '部门平均薪资' 
FROM emp e
JOIN salgrade s ON e.sal BETWEEN s.losal AND s.hisal 
JOIN dept d ON e.deptno = d.deptno
GROUP BY d.dname

3.在select 后面嵌套子查询

找出每个员工所在的部门名称

写法一:看作临时表
SELECT t.ename,d.dname
FROM dept d JOIN (SELECT e.ename,e.deptno FROM emp e) t ON t.deptno = d.deptno   

写法二:连接查询
SELECT e.ename,d.dname FROM emp e JOIN dept d ON e.deptno = d.deptno

写法三:select后嵌套子查询
SELECT e.ename,(SELECT d.dname FROM dept d WHERE d.deptno = e.deptno) AS dept FROM emp e ;

4.union

可将查询结果集相加

SELECT ename,job FROM emp e WHERE job = 'CLERK'
UNION
SELECT ename,job FROM emp e WHERE job = 'SALESMAN'

而且两张不相干的表中数据也能够因此拼接在一起。(但是列数保持一致)

SELECT ename FROM emp 
UNION
SELECT dname FROM dept

5.*limit

重点中的重点,分页查询全靠它

1)limit是mysql中特有的,其他数据库中没有,但是Oracle中有一个相同的机制叫rownum。

2)limit取结果集中的部分数据

3)语法机制:limit startIndex,length

​ startindex表示起始位置,从0开始,0表示第一条数据。

​ length表示取几个。

4)limit是sql语句中最后一个执行的环节。

(当前页数-1)* 页的大小 = 当前页起始下标

到此这篇关于MySQL子查询详细教程的文章就介绍到这了,更多相关MySQL子查询内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 深入Mysql,SqlServer,Oracle主键自动增长的设置详解

    深入Mysql,SqlServer,Oracle主键自动增长的设置详解

    本篇文章是对Mysql,SqlServer,Oracle主键自动增长的设置进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • mysql查询语句join、on、where的执行顺序

    mysql查询语句join、on、where的执行顺序

    这篇文章主要介绍了mysql查询语句join、on、where的执行顺序,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • mysql4.0升级到mysql5(4.1),解决字符集问题

    mysql4.0升级到mysql5(4.1),解决字符集问题

    软件升级部分就不说了,光说数据库迁移。
    2009-09-09
  • clickhouse中Nullable与非空字段的建表与类型互转方式

    clickhouse中Nullable与非空字段的建表与类型互转方式

    这篇文章主要介绍了clickhouse中Nullable与非空字段的建表与类型互转方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • 详解 MySQL的FreeList机制

    详解 MySQL的FreeList机制

    这篇文章主要介绍了MySQL的FreeList机制的相关资料,帮助大家更好的理解和使用MySQL 数据库,感兴趣的朋友可以了解下
    2020-11-11
  • 一文搞懂MySQL索引页结构

    一文搞懂MySQL索引页结构

    本文主要介绍了MySQL索引页结构,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • Mysql查询优化之IN子查询优化方法详解

    Mysql查询优化之IN子查询优化方法详解

    项目中有需要,使用MySQL的in子查询,查询符合in子查询集合中条件的数据,但是没想到的是,MySQL的in子查询会如此的慢,让人无法接受,下面这篇文章主要给大家介绍了关于Mysql查询优化之IN子查询优化的相关资料,需要的朋友可以参考下
    2023-02-02
  • MySQL中如何查询某年某月的数据

    MySQL中如何查询某年某月的数据

    这篇文章主要介绍了MySQL中如何查询某年某月的数据问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • mysql5.7.10开启慢查询详解

    mysql5.7.10开启慢查询详解

    下面小编就为大家带来一篇mysql5.7.10开启慢查询详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-09-09
  • Mysql数据库时间与系统时间不一致问题排查及解决

    Mysql数据库时间与系统时间不一致问题排查及解决

    最近忽然发现个问题,Mysql数据库时间与系统时间不一致,通过查找相关资料终于解决了,下面这篇文章主要给大家介绍了关于Mysql数据库时间与系统时间不一致问题排查及解决的相关资料,需要的朋友可以参考下
    2023-06-06

最新评论