Когда использовать подзапрос - PullRequest
0 голосов
/ 23 февраля 2020

Я в значительной степени следую концепции подзапроса. Но в то же время я немного туманно понимаю, когда это абсолютно необходимо. Я тренируюсь на https://www.mysqltutorial.org/tryit/query/mysql-subquery/#1. У меня есть запрос, который я думал, что вернет тот же набор результатов, но он не полностью.

Я следую этому:

SELECT 
    customerNumber, 
    checkNumber, 
    amount
FROM
    payments
WHERE
    amount = (SELECT MAX(amount) FROM payments);

, который производит это:

+----------------+-------------+------------+
| customerNumber | checkNumber |   amount   |
+----------------+-------------+------------+
| 141            | JE105477    | 120166.58  |
+----------------+-------------+------------+

Я знаю, что это правильно. Но я не уверен, почему подзапрос был бы абсолютно необходим, чтобы получить этот результат. Я думал, что этот запрос будет работать так же. На самом деле, он получает правильную сумму, но customerNumber и checkNumber неверны.

SELECT
     customerNumber,
     checkNumber,
     MAX(amount) amount
FROM 
    payments;
+----------------+-------------+------------+
| customerNumber | checkNumber |   amount   |
+----------------+-------------+------------+
|103             | HQ336336    | 120166.58  |
+----------------+-------------+------------+
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...