Не получить такую ​​же интерпретацию, как ожидаемые результаты - PullRequest
0 голосов
/ 16 января 2019

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

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

Expected outcome

Утверждение, которое я попробовал, было:

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);

Мои результаты: My outcome

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...