Mysql 使用左联接的SQL查询,从特定日期开始按降序获取行

Mysql 使用左联接的SQL查询,从特定日期开始按降序获取行,mysql,sql,sql-server,sqlite,Mysql,Sql,Sql Server,Sqlite,我有两张桌子: 产品 productID、productName、productPrice 购买的 productID,creationDate 查询-返回自6月2日以来购买的独特产品列表,其中最昂贵的产品返回第一次 为此,我写了以下查询: SELECT Product.productID, Product.productName, Product.productPrice, Purchased.creationDate FROM Product

我有两张桌子:

产品

productID、productName、productPrice

购买的

productID,creationDate

查询-返回自
6月2日以来购买的
独特产品
列表,其中
最昂贵的产品
返回
第一次

为此,我写了以下查询:

SELECT Product.productID,
       Product.productName,
       Product.productPrice,
       Purchased.creationDate
FROM   Product
       LEFT JOIN Purchased
              ON Product.productID = Purchased.productID
ORDER BY Product.productPrice DESC
WHERE  Purchased.creationDate > 02 / 06 / 2014 
请您确认上述书面询问是否正确,或者我是否有任何错误

试试这个:

SELECT p.productID, p.productName, p.productPrice, pp.creationDate
FROM Product p
LEFT JOIN Purchased pp ON p.productID = pp.productID
WHERE pp.creationDate > '2014-06-02'
ORDER BY p.productPrice DESC;

并使用
alises将其缩短

SELECT pr.productID,
       pr.productName,
       pr.productPrice,
       pu.creationDate
FROM   Product pr
       LEFT JOIN Purchased pu
              ON pr.productID = pu.productID
WHERE  pu.creationDate > 02 / 06 / 2014
ORDER  BY pr.productPrice DESC 

如果我根本不需要购买那些从未购买过的产品(也就是说,在purchased表中没有条目),我会使用内部连接而不是左连接

最后一件事应该是下订单

SELECT Product.productID, Product.productName, Product.productPrice, Purchased.creationDate
FROM Product
INNER JOIN Purchased
ON Product.productID=Purchased.productID
WHERE  Purchased.creationDate > '2014-06-02'
ORDER BY Product.productPrice DESC

对不起,我可以知道我的问题和你的不同吗?谢谢