mysql如何嵌套查询

mysql如何嵌套查询,第1张

描述的太模糊,我以下列假设为前提给你解答

员工表(t1):前提有 员工id,身份z号,是否在职标识,入职、离职时间

打卡记录表(t2):打卡人身份z号,打卡时间

select t1.员工ID,t1.员工姓名,t1.员工身份z号码,t2.打卡时间

from t1 join t2 on t1.员工身份z号码 = t2.员工身份z号码

where t1.在职标识 = '在职' 

AND  t2.打卡时间 >= t1.入职时间

根据是否引用外部查询,可以将子查询分为相关子查询和非相关子查询

非相关子查询,这种子查询的查询结果与外部查询无关,可以单独执行的.例如

update newtable set name='max' where id = (select max(id) from oldtable)

这里需要注意的是:使用=号时,子查询必须只有一个值,这个叫做单值子查询.

相关子查询,就以你的查询语句为例

update newtable set id=(select id from oldtable where name=newtable.name)

逻辑运行过程,是将newtable中的一行数据中的name取出,传入到子查询中,这是子查询的查询结果返回给外部查询,再更新id.然后使用同样的方法,处理下一行.


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8661204.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-19
下一篇 2023-04-19

发表评论

登录后才能评论

评论列表(0条)

保存