文章目录

  • 1. 子查询定义
  • 2. 子查询举例


1. 子查询定义

通过本系列前面几期MySQL教程:

  • MySQL数据库入门(1)——安装、启动和修改密码
  • MySQL数据库入门(2)——数据库操作基础
  • MySQL数据库入门(3)——数据库查询操作
  • MySQL数据库入门(4)——自关联

我们了解了MySQL的基本知识,并且对基本的MySQL语句有了一定了解,而且我们可以发现,基本所有的MySQL语句都以关键字select开头,于是自然地,我们会想到:以select开头的MySQL语句是否可以嵌套。

这就引入了子查询的概念,通俗的说,所谓子查询是指:在一条select语句中,嵌套了另一条select语句,从而实现将后者查询出来的结果作为参数传递给前者,实现最终结果查询的目的。

2. 子查询举例

在MySQL数据库入门(3)——数据库查询操作中,为了演示方便,我们创建了一个名为students的数据表,如果希望查询出该表中身高最高的学生信息,则可以使用以下子查询语句:

select * from students where height=(select max(height) from students);

mysql 子查询的结果作为where条件 mysql子查询语句举例_MySQL


再举另外一个例子,在MySQL数据库入门(4)——自关联中,为了实现查询数据表areas,确定安徽省的所有市级行政区域这一需求,我们采用了两种方式,在这里我们通过第三种方式实现该需求,即通过以下子查询语句实现相同目标:

-- 查询数据表areas,确定安徽省的所有市级行政区域
select * from areas where parent_id=(select id from areas where title="安徽省");

mysql 子查询的结果作为where条件 mysql子查询语句举例_MySQL_02