Поток операторов SQL немного странный, пока вы к нему не привыкнете.
Сначала вы называете источник данных, в вашем случае виртуальная таблица, созданная с помощью этого.
FROM T1
JOIN T2 ON T1.C1 = T2.C1
Далее вы фильтруете источник данных.
WHERE T1.C2 IN (2, 4)
Далее вы выбираете нужные столбцы в наборе результатов вывода:
SELECT T1.C1, T1.C2, T2.C1, T2.C2
Затем вы агрегируете данные, вставляя предложение DISTINCT
или предложение GROUP BY
.
Затем вы сортируете его с помощью предложения ORDER BY
. У тебя его нет. Это нормально.
Это логическая структура SQL-запроса, подобного вашему. Но имейте в виду, что MySQL и другие серверы таблиц SQL имеют тысячи программистских лет, посвященных оптимизации этого материала.