Mysql 从一个表中选择行,该表中的行位于另一个具有多个条件的表中

Mysql 从一个表中选择行,该表中的行位于另一个具有多个条件的表中,mysql,Mysql,我有3个表应用程序,概念和应用程序到概念 应用程序表 app_id | app_name ================= 1 | foo 2 | bar 3 | foobar 4 | barfoo concept_id | concept_name ========================= 1 | english 2 | math

我有3个表应用程序概念应用程序到概念

应用程序表

app_id |    app_name

=================

1      |    foo
2      |    bar
3      |    foobar
4      |    barfoo
concept_id    |    concept_name
=========================
1              |    english
2              |    math
3              |    science
4              |    Fun
concept_id    |    app_id
=========================
1              |    1
2              |    1
3              |    2
4              |    3
2              |    2
2              |    4
概念表

app_id |    app_name

=================

1      |    foo
2      |    bar
3      |    foobar
4      |    barfoo
concept_id    |    concept_name
=========================
1              |    english
2              |    math
3              |    science
4              |    Fun
concept_id    |    app_id
=========================
1              |    1
2              |    1
3              |    2
4              |    3
2              |    2
2              |    4
应用到概念表

app_id |    app_name

=================

1      |    foo
2      |    bar
3      |    foobar
4      |    barfoo
concept_id    |    concept_name
=========================
1              |    english
2              |    math
3              |    science
4              |    Fun
concept_id    |    app_id
=========================
1              |    1
2              |    1
3              |    2
4              |    3
2              |    2
2              |    4
我想获得所有
应用程序列表
,其中包含概念
英语
数学
(例如)

我怎样才能做到这一点

编辑 让我更具体一点

我有一些复选框对概念有价值。当我选中复选框时,它返回与选中概念相关的应用程序详细信息。现在,我的案例正在举例说明

如果我选中了
english
math
concept复选框,那么它将显示具有concept
english
math
的应用程序详细信息,类似地,还有
science
fun
。 现在,当我检查
english
math
science
时,结果应该显示应用程序详细信息有
english
math
science
。意味着应用程序拥有

英语
科学


数学
科学
基础
加入
就行了

select a.app_name
from app_to_concept ac 
    INNER JOIN app_table a ON ac.app_id = a.app_id
    INNER JOIN concept_table c ON ac.concept_id = c.concept_id
WHERE c.concept_name IN ('english', 'math');

基本
JOIN
即可

select a.app_name
from app_to_concept ac 
    INNER JOIN app_table a ON ac.app_id = a.app_id
    INNER JOIN concept_table c ON ac.concept_id = c.concept_id
WHERE c.concept_name IN ('english', 'math');

你想要的输出是什么?当我检查
english
math
概念时,它应该给我
foo
,因为
foo
有两个概念你想要的输出是什么?当我检查
english
math
概念时,它应该给我
foo
,因为
foo
有两个概念