MySQL Query中的多个SELECT语句

时间:2016-03-23 19:54:32

标签: mysql

如果我有模式:

  

类型(A,B,C,d)

     

姓名(e,b,g)

我正在努力寻找所有由此产生的姓名' E'在哪里' D'类型的数量大于我们使用共享的' B'。

访问的数字

我试图了解如何使用多个SELECT语句,如:

SELECT e FROM Name WHERE b = (SELECT b FROM Type WHERE d > 1);

有人可以解释语法错误以及如何执行嵌套的SELECT语句,还是必须加入这两个表。

由于

2 个答案:

答案 0 :(得分:2)

这可以使用简单的INNER JOIN操作来完成:

SELECT DISTINCT n.e 
FROM Name AS n
INNER JOIN Type AS t ON n.b = t.b
WHERE t.d > 1

您还可以使用EXISTS

SELECT n.e 
FROM Name AS n
WHERE EXISTS (SELECT 1
              FROM Type AS t
              WHERE n.b = t.b AND t.d > 1)

答案 1 :(得分:0)

我认为您要使用IN代替=

SELECT e FROM Name WHERE b IN (SELECT b FROM Type WHERE d > 1);

=将一个值与另一个值进行比较 IN查看某个值是否存在多个值的列表。