首页 > 数据库 >MySQL之多表查询—行子查询

MySQL之多表查询—行子查询

时间:2024-06-09 23:31:06浏览次数:26  
标签:managerid emp 行子 之多表 查询 WHERE SELECT

一、引言

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


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

  • 行子查询

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 后面跟的字段用括号就可以是字段列表了,然后用操作符 "=" 来与子查询相等。

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

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

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

标签:managerid,emp,行子,之多表,查询,WHERE,SELECT
From: https://blog.csdn.net/m0_74363339/article/details/139565938

相关文章

  • 数据库多表查询
    在对数据库进行多表查询时,我们需要将多个数据表联结起来,多表的联结主要有以下几种类型:1.左联结(leftjoin):联结结果保留左表中的全部数据2.右联结(rightjoin):联结结果保留右表中的全部数据3.内联结(innerjoin):取两个表中的共同数据使用好以上三种联结类型,我们将能够写出许多精彩复......
  • jmeter性能优化之mysql监控sql慢查询语句分析
    接上次博客:基础配置多用户登录并退出jmx文件:百度网盘提取码:0000一、练习jmeter脚本检测mysql慢查询随意找一个脚本(多用户登录并退出),并发数设置300、500后分别查看mysql监控平台启动后查看,主要查看mysql连接情况下图查看:MaxUsedConnections最大176,分析查看:设置......
  • 《物料清单汇总查询》二开增加自定义字段
    业务需求增加文本,显示物料清单的替代编码。 说明BomQueryIntegration继承了BomQueryForward。具体步骤1、新建cs类BomQueryIntegrationExtend,继承BomQueryIntegration,重写获取子项信息GetBomChildData。protectedoverrideList<DynamicObject>GetBomChildData(List<Dynami......
  • spring和Mybatis的各种查询
    目录六、MyBatis的各种查询功能6.1、查询一个实体类的对象6.2、查询一个list集合6.3、查询单个数据6.4、查询一条数据为Map集合6.5、查询多条数据为Map集合七、特殊SQL的执行7.1、模糊查询7.2、批量删除7.3、动态设置表名7.4、添加功能获取自增的主键八、自定义映射resultMap一......
  • postgresql 基本查询
    建表语句--========sys_dict_typecreatetablesys_dict_type(idbigintprimarykey,namevarchar(100),typevarchar(100),group_codevarchar(100),statuschar(1));commentontablesys_dict_typeis'系统字典类型表';commentoncolumnsys_dict_type.nam......
  • 从零手写实现 nginx-11-文件处理逻辑与 range 范围查询合并
    前言大家好,我是老马。很高兴遇到你。我们为java开发者实现了java版本的nginxhttps://github.com/houbb/nginx4j如果你想知道servlet如何处理的,可以参考我的另一个项目:手写从零实现简易版tomcatminicat手写nginx系列如果你对nginx原理感兴趣,可以阅读:从零......
  • Postgres 查询中的宏/元编程
    如果我拥有与本问题中相同的示例数据,并另外声明了以下两个函数:创建或替换函数example.markout_666_example_666_price_table_666_price(_symboltext,_time_oftimestamptz,_startinterval,_durationinterval)返回float8LANGUAGEsqlSTABLESTRICTPARA......
  • 数据库(28)——联合查询
    对于union查询,就是把多次查询的结果合并起来,形成一个新的查询结果集。语法SELECT字段列表FROM表A...UNION[ALL]SELECT字段列表FROM表B...; 演示select*fromuserwhereage>22unionallselect*fromuserwhereage<50;unionall相当于把两次查询......
  • 【一百一十】【算法分析与设计】[SDOI2009] HH的项链,树状数组应用,查询区间的种类数,
    P1972[SDOI2009]HH的项链[SDOI2009]HH的项链题目描述HH有一串由各种漂亮的贝壳组成的项链。HH相信不同的贝壳会带来好运,所以每次散步完后,他都会随意取出一段贝壳,思考它们所表达的含义。HH不断地收集新的贝壳,因此,他的项链变得越来越长。有一天,他突然提出了一个问......
  • 基础篇04——多表查询
    多表关系一对多多对多多对多是通过中间表实现的--创建学生表createtablestudent(idintauto_incrementprimarykeycomment'ID',namevarchar(10)comment'姓名',novarchar(3)comment'学号')comment'学生表';insertintost......