Я должен сделать оператор SELECT, который похож или точно соответствует ожидаемому результату. Что я делаю не так?
Я должен интерпретировать план обработки запросов и выписать инструкцию SELECT, которая даст мне указанный план. План выглядит так:

Утверждение, которое я попробовал, было:
EXPLAIN PLAN FOR
SELECT * FROM LINEITEM RIGHT JOIN ORDERS ON L_ORDERKEY = ORDERS.O_ORDERKEY
INNER JOIN CUSTOMER ON ORDERS.O_CUSTKEY = CUSTOMER.C_CUSTKEY
WHERE L_TAX NOT IN (SELECT L_TAX FROM LINEITEM WHERE L_TAX>20);
Мои результаты:

Я впервые использую анти-соединение, поэтому я не уверен, что прав. Я не знаю, похоже ли HASH JOIN RIGHT ANTI SNA на HASH JOIN RIGHT ANTI. Кроме того, почему он говорит "L_TAX" = "L_TAX"? Разве это не избыточно? И почему он выполняет внешнее хеш-соединение, а затем другое хеш-соединение?