MySQL- WHERE 子句在此处的相关子查询中的作用是什么
MySQL- what does the WHERE clause do in the correlated subquery here
引用自here:
"在下面的查询中,我们 select 个产品的购买价格大于每个产品系列中所有产品的平均购买价格。
SELECT
productname,
buyprice
FROM
products p1
WHERE
buyprice > (SELECT
AVG(buyprice)
FROM
products
WHERE
productline = p1.productline)
您可以在编辑器中找到可执行代码here。如果我只是省略 WHERE
子句,结果似乎是相同的,除了最后 2 行没有出现在输出结果中。
WHERE
子句的左右两边在这里究竟做了什么,即它们每次得到什么值,比较是如何进行的等等?
此查询 return 产品名称的购买价格高于同一产品系列中所有产品的平均购买价格。
SELECT
productname,
buyprice
FROM
products p1
WHERE
buyprice > (
SELECT AVG(buyprice) --return the average buyprice of all products
FROM products
WHERE productline = p1.productline -- same productline
)
AVG() 计算平均价格。将您的商品购买价格与平均价格进行比较,并仅列出那些比较昂贵的商品,
引用自here:
"在下面的查询中,我们 select 个产品的购买价格大于每个产品系列中所有产品的平均购买价格。
SELECT
productname,
buyprice
FROM
products p1
WHERE
buyprice > (SELECT
AVG(buyprice)
FROM
products
WHERE
productline = p1.productline)
您可以在编辑器中找到可执行代码here。如果我只是省略 WHERE
子句,结果似乎是相同的,除了最后 2 行没有出现在输出结果中。
WHERE
子句的左右两边在这里究竟做了什么,即它们每次得到什么值,比较是如何进行的等等?
此查询 return 产品名称的购买价格高于同一产品系列中所有产品的平均购买价格。
SELECT
productname,
buyprice
FROM
products p1
WHERE
buyprice > (
SELECT AVG(buyprice) --return the average buyprice of all products
FROM products
WHERE productline = p1.productline -- same productline
)
AVG() 计算平均价格。将您的商品购买价格与平均价格进行比较,并仅列出那些比较昂贵的商品,