当前位置: 首页 > article >正文

SQL相关子查询

之前了解过一点相关子查询概念,还不熟悉;

相关子查询:先执行主查询,再针对主查询返回的每一行数据执行子查询,如果子查询能够返回行,则这条记录就保留,否则就不保留。

看一下;查询所有是领导的员工信息;

 select * from emp e1 where exists (select * from emp e2 where e1.empno=e2.mgr);

    这句是相关子查询;看上去应该是它的子查询里面包括2个表的一个字段的比较,要使用exists;

 

这个相关子查询也可以写为非相关子查询;

select * from emp where EMPNO in (select mgr from emp);

insert into emp (ename, job, mgr, hiredata, salary, deptno) values ('李一','技术部经理', 0, '',22000, 1);
insert into emp (ename, job, mgr, hiredata, salary, deptno) values ('李二','工程师', 1, '',12000, 1);
insert into emp (ename, job, mgr, hiredata, salary, deptno) values ('李三','初级工程师', 1, '',2000, 1);
insert into emp (ename, job, mgr, hiredata, salary, deptno) values ('李四','市场部经理', 0, '',18000, 2);
insert into emp (ename, job, mgr, hiredata, salary, deptno) values ('王一','业务员', 4, '',8000, 2);

select * from emp;

select * from emp e1 where exists (select * from emp e2 where e1.empno=e2.mgr);

select * from emp where EMPNO in (select mgr from emp);

应该是除了相关子查询之外的子查询都是非相关子查询; 

 


http://www.kler.cn/a/460815.html

相关文章:

  • 嵌入式学习(21)-正点原子脱机下载器Mini-Pro的使用
  • ubuntu常用快捷键和变量记录
  • parquet文件数据格式介绍以及python pandas对parquet常见操作
  • Git的.gitignore文件详解与常见用法
  • 2、pycharm常用快捷命令和配置【持续更新中】
  • JavaWeb开发(五)Servlet-ServletContext
  • 【数据分析】基于GEE的2000-2023年逐年归一化差值水分指数(NDMI)获取-以成都市为例
  • neo4j图数据库简介
  • AI的未来?华为仓颉编程语言与人工智能的接轨
  • 【网络协议】什么是 BGP? | 解释 BGP 路由
  • 【算法题解】B. President‘s Office - Python实现
  • 如何利用小程序高效获客,小程序引流怎么样
  • 大语言模型提示词工程 - ReACT 推理模式
  • [.闲于修.]Autosar_UDS_笔记篇_ISO14229-1
  • odoo17 4模型视图理解
  • 小程序组件 —— 21组件案例演示 - 划分页面结构
  • 小米自研vela系统kvdb数据库的使用(一)
  • 微信小程序Uniapp
  • 基于Spark的共享单车数据存储系统的设计与实现_springboot+vue
  • UniApp 状态管理:Vuex 在 UniApp 中的实践
  • 【Linux】linux 清空文件内容命令和方法
  • 2024年总结与展望
  • 汽车打气泵方案|智能充气泵工作原理
  • vulnhub ica1
  • 论文略读: TransTab: Learning Transferable Tabular Transformers Across Tables
  • Datawhale AI冬令营(第二期)动手学AI Agent task2--学Prompt工程,优化Agent效果