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

如何编写SQL语句从profile表查询对应指定category_id的员工姓名?

解决方法:关联表查询员工姓名

嘿,这个需求其实用表关联或者子查询都能轻松实现,我给你分享两种常用的写法:

方法一:INNER JOIN(最常用的关联方式)

这是最直观的写法,通过关联profile和employee_belongs_to两张表,直接筛选出属于特定分类的员工姓名:

-- 替换其中的1为你需要的特定category_id
SELECT p.name
FROM profile p
INNER JOIN employee_belongs_to ebt 
    ON p.id = ebt.profile_id
WHERE ebt.category_id = 1;

补充:如果需要同时显示分类名称

要是你还想看到对应的分类名称,可以再关联category表:

-- 假设category表的分类名字段是category_name,按需替换字段名
SELECT p.name, c.category_name
FROM profile p
INNER JOIN employee_belongs_to ebt 
    ON p.id = ebt.profile_id
INNER JOIN category c 
    ON ebt.category_id = c.id
WHERE c.id = 1; -- 也可以用WHERE c.category_name = 'English'来指定分类名称

方法二:子查询写法

如果更习惯用子查询的逻辑,也可以先从关联表里找出目标分类对应的所有员工ID,再去profile表中匹配姓名:

SELECT name
FROM profile
WHERE id IN (
    SELECT profile_id
    FROM employee_belongs_to
    WHERE category_id = 1
);

小提示

记得根据你实际的表结构调整字段名哦,比如profile表的主键如果不是id、姓名字段不是name,要换成你数据库里的实际字段~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:33:46