You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

查询掌握ReactJS、MySQL、Express三种技术的人员姓名

找出同时掌握ReactJS、MySQL、Express的人员姓名

嘿,我来帮你搞定这个SQL查询问题!要找出同时掌握ReactJS、MySQL、Express这三项技术的人员,这里有两种实用的方法,咱们一步步来看:

方法一:使用GROUP BY + HAVING子句

这是最常用也最直观的方式,通过分组和条件筛选来实现:

SELECT name
FROM your_table_name  -- 替换成你的实际表名
WHERE technologies IN ('reactjs', 'mysql', 'express')
GROUP BY name
HAVING COUNT(DISTINCT technologies) = 3;

逻辑解释:

  • WHERE子句先过滤出只包含目标三项技术的记录,减少后续分组的数据处理量
  • GROUP BY name把同一个人的所有技术记录合并为一组
  • HAVING COUNT(DISTINCT technologies) = 3确保该组恰好包含全部三个不同的技术(用DISTINCT是为了避免同一个人多次记录同一技术的干扰)

方法二:使用自连接查询

如果你更习惯用连接的思路,也可以通过三次自连接来筛选出同时拥有三项技术的人员:

SELECT DISTINCT t1.name
FROM your_table_name t1
JOIN your_table_name t2 ON t1.name = t2.name AND t2.technologies = 'mysql'
JOIN your_table_name t3 ON t1.name = t3.name AND t3.technologies = 'express'
WHERE t1.technologies = 'reactjs';

逻辑解释:

  • 每次自连接都匹配同一个人对应的技术,三次连接后得到的就是同时拥有三项技术的人员集合
  • DISTINCT用来去除可能出现的重复姓名

查询结果

执行上述任意一种SQL语句后,得到的结果如下:

name
shashin

内容的提问来源于stack exchange,提问作者Shashin Bhayani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 09:23:10