Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql子查询问题_Sql_Mysql_Subquery - Fatal编程技术网

Mysql子查询问题

Mysql子查询问题,sql,mysql,subquery,Sql,Mysql,Subquery,鉴于这两个表格: Foo (id, name) -- PK = id Bar (fooId, value) -- PK = composite, fooId + value -- value is a non-negative int 在0以上没有相应的条、值的情况下,如何找到所有Foo.names 例如: 此查询和zodeus发布的查询执行时间大致相同,但是此查询不包括任何未被Bar表引用的Foo记录。例如,如果您还有Foo(4,d)

鉴于这两个表格:

Foo (id, name)       -- PK = id
Bar (fooId, value)   -- PK = composite, fooId + value
                     -- value is a non-negative int
在0以上没有相应的
条、值
的情况下,如何找到所有
Foo.name
s

例如:

此查询和zodeus发布的查询执行时间大致相同,但是此查询不包括任何未被Bar表引用的Foo记录。例如,如果您还有Foo(4,d)记录,那么此查询仍将返回“b”,其中as zodeus的查询将返回“b”和“d”


此查询和zodeus发布的查询执行时间大致相同,但是此查询不包括任何未被Bar表引用的Foo记录。例如,如果您也有Foo(4,d)记录,此查询仍将返回“b”,而zodeus的查询将返回“b”和“d”。

我发现以下内容最容易阅读和理解

SELECT foo.name
FROM foo
WHERE NOT EXISTS (SELECT 'x'
                  FROM bar
                  WHERE bar.fooid = foo.id
                    AND bar.value > 0)

我发现以下内容最容易阅读和理解

SELECT foo.name
FROM foo
WHERE NOT EXISTS (SELECT 'x'
                  FROM bar
                  WHERE bar.fooid = foo.id
                    AND bar.value > 0)
SELECT Name
FROM Bar
INNER JOIN Foo ON Foo.Id = Bar.fooId
GROUP BY fooId, name
HAVING SUM(Value) = 0
SELECT foo.name
FROM foo
WHERE NOT EXISTS (SELECT 'x'
                  FROM bar
                  WHERE bar.fooid = foo.id
                    AND bar.value > 0)
select Foo.name 
from Foo
where Foo.id not in 
(select Bar.fooid from Bar
where value > 0)