MySQL之多表查询—行子查询

一、引言

上篇博客学习了列子查询。


接下来学习子查询中的第三种——行子查询。

  • 行子查询

1、概念

子查询返回的结果是一行(当然可以是多列),这种子查询称为行子查询。

2、常用的操作符

= <> (不等于) 、IN NOT IN

接下来通过一个需求去演示和学习行子查询的用法。

二、实操

打开图形可视化工具:DataGrip 进行操作。

(0)员工表 emp ,部门表 dept 。

emp

dept

(1)查询与 “ 张无忌 ” 的薪资及直属领导相同的员工信息。

1、分析(拆解需求)

先查询张无忌的薪资和直属领导,再查询满足需求的人

如果是两个SQL语句,分开查询

第一步

SELECT salary,managerid FROM emp WHERE name='张无忌';

第二步

SELECT * FROM emp WHERE salary=12500 AND managerid=1;

2、实操

下面展示新的写法(合并成一条SQL语句进行查询)

SELECT * FROM emp WHERE (salary,managerid) = (SELECT salary,managerid FROM emp WHERE name='张无忌');


把 WHERE 后面跟的字段用括号就可以是字段列表了,然后用操作符 "=" 来与子查询相等。

因为内部子查询返回结果就是一个一行多列的(行子查询),刚好和前面两个字段匹配。

这种案例就是关于行子查询,因为子查询返回的结果是一行多列

这篇博客的学习就到这了。

相关推荐

  1. SQL语法(DQL):SELECT 查询查询

    2024-06-10 06:24:04       10 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-10 06:24:04       5 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-10 06:24:04       5 阅读
  3. 在Django里面运行非项目文件

    2024-06-10 06:24:04       4 阅读
  4. Python语言-面向对象

    2024-06-10 06:24:04       6 阅读

热门阅读

  1. Docker面试整理-Docker Swarm与Kubernetes有什么区别?

    2024-06-10 06:24:04       17 阅读
  2. EF Core Model-First

    2024-06-10 06:24:04       13 阅读
  3. SOA的设计模式_1.服务注册表模式

    2024-06-10 06:24:04       15 阅读
  4. 209. 长度最小的子数组

    2024-06-10 06:24:04       14 阅读
  5. 主从式光伏并网发电系统体系结构

    2024-06-10 06:24:04       14 阅读
  6. ICESat-2 ATL08 数据批量读取

    2024-06-10 06:24:04       24 阅读
  7. 发布自己的 npm 插件包:步骤与最佳实践

    2024-06-10 06:24:04       21 阅读