Mysql 如何根据条件中的值仅显示行?

Mysql 如何根据条件中的值仅显示行?,mysql,sql,Mysql,Sql,我如何只向库尔特所在部门的人员展示 SELECT * FROM sample_table WHERE (name= 'kurt' OR department IN (select department from sample_table where name = 'kurt' group by department having count(*) > 1)); 从这一点: 名称 部门 库尔特 2. 厕所 1. 做记号 1. 玫瑰 2. 安娜 2. 一种方法使用现有逻辑: 选

我如何只向库尔特所在部门的人员展示

SELECT * FROM sample_table 
WHERE (name= 'kurt' OR department IN (select department from sample_table
where name = 'kurt'
group by department 
having count(*) > 1));
    
从这一点:

名称 部门 库尔特 2. 厕所 1. 做记号 1. 玫瑰 2. 安娜 2.
一种方法使用现有逻辑:

选择s1.name,s1.department 来自样本_表s1 如果存在,则从样本表格s2中选择1 其中s2.department=s1.department,s2.name='kurt';
一种方法使用现有逻辑:

选择s1.name,s1.department 来自样本_表s1 如果存在,则从样本表格s2中选择1 其中s2.department=s1.department,s2.name='kurt'; 试试这个:

SELECT *
FROM
    sample_table
WHERE
    department = (
        SELECT
            department
        FROM
            sample_table
        WHERE
            name = 'kurt'
        LIMIT 1
    )
试试这个:

SELECT *
FROM
    sample_table
WHERE
    department = (
        SELECT
            department
        FROM
            sample_table
        WHERE
            name = 'kurt'
        LIMIT 1
    )
答复如下

SELECT
    name, department
FROM
    sample_table
where
    department in (
        select distinct department
    from
        sample_table
    where
        name = 'kurt')
即使kurt在许多部门,这种情况也会出现

回答如下

SELECT
    name, department
FROM
    sample_table
where
    department in (
        select distinct department
    from
        sample_table
    where
        name = 'kurt')

即使kurt在许多部门,这也会返回

我甚至不知道EXISTS子句。谢谢你让我知道!我甚至不知道EXISTS子句。谢谢你让我知道!