我需要进行查询。 例如,我有产品和子产品。子产品可以与产品相关联,因此我需要一个查询,以便向我提供与某个产品无关的子产品的结果。 我做了一个内部联接,但是不对。
SELECT *
FROM subProducts
INNER JOIN products on subProducts.id != products.idSubProduct
WHERE products.id = $idProduct
感谢的
答案 0 :(得分:1)
使用outer join
代替null
支票:
SELECT *
FROM subProducts
LEFT JOIN products on subProducts.id = products.idSubProduct
AND products.id = $idProduct
WHERE products.id IS NULL
还有其他方法可以执行此操作 - not in
和not exists
可以类似地工作。这是使用not exists
:
SELECT *
FROM subProducts s
WHERE NOT EXISTS (
SELECT 1
FROM products p
WHERE p.idSubProduct = s.id AND p.id = $idProduct
)