Как сравнить две строки из одной и той-же таблице без дополнительного join или from?

В SQL есть несколько способов сравнить две строки из одной и той же таблицы без дополнительного join или from. Вот самые распространенные:

1. Использование подзапроса:
Можно написать подзапрос, который выбирает значения двух строк, которые вы хотите сравнить, и затем сравнить эти значения в основном запросе. Например:

SELECT *
FROM (
SELECT column1, column2
FROM table
WHERE condition1
LIMIT 2
) AS t
WHERE t.column1 = t.column2;

В этом примере подзапрос выбирает значения из таблицы "table" с условием "condition1" и ограничением 2 записи. Затем основной запрос сравнивает значения столбцов "column1" и "column2".

2. Использование псевдонимов столбцов:
Вы также можете использовать псевдонимы столбцов для сравнения двух строк в одной таблице. Например:

SELECT t1.column1, t1.column2
FROM table t1, table t2
WHERE t1.column1 = t2.column1
AND t1.column2 = t2.column2
AND t1.condition1
AND t2.condition2
LIMIT 2;

В этом примере основной запрос использует два псевдонима столбцов "t1" и "t2" для ссылки на одну и ту же таблицу "table". Затем он сравнивает значения столбцов "column1" и "column2" в обоих псевдонимах столбцов.

3. Использование клавишей EXISTS:
Если вам нужно просто проверить, существует ли совпадение между двумя строками, вы можете использовать клавишу EXISTS вместе с подселектом, который выбирает значения двух строк. Например:

SELECT *
FROM table t1
WHERE EXISTS (
SELECT *
FROM table t2
WHERE t1.column1 = t2.column1
AND t1.column2 = t2.column2
AND t1.condition1
AND t2.condition2
)
LIMIT 2;

В этом примере основной запрос выбирает все столбцы из таблицы "table", где существует совпадение значений столбцов "column1" и "column2" в подзапросе.

В зависимости от конкретных требований и структуры вашей базы данных вы можете выбрать наиболее подходящий способ для сравнения двух строк из одной и той же таблицы без дополнительного join или from.