OERE et JOIN ordre d'opération

Ma question est similaire à ce SQL ordre des opérations mais avec un petit twist, donc je pense qu'il est juste de demander.

Je suis l'aide de Teradata. Et j'ai 2 tables: table1table2.

table1 n'a qu'une id colonne.
table2 comporte les colonnes suivantes: idval

J'ai peut-être tort, mais je pense que ces deux déclarations donnent les mêmes résultats.

Déclaration 1.

SELECT table1.id, table2.val
FROM table1
INNER  JOIN table2
ON table1.id = table2.id
WHERE table2.val<100

Déclaration 2.

SELECT table1.id, table3.val
FROM table1
INNER JOIN (
    SELECT *
    FROM table2
    WHERE val<100
)  table3
ON table1.id=table3.id

À mes questions, l'optimiseur de requête doit être assez intelligent pour
- exécuter la clause where d'abord, puis, plus tard, REJOINDRE dans l'état 1
- vous savez que le tableau 3 n'est pas nécessaire dans l'état 2

Je suis assez nouveau à SQL, donc veuillez m'instruire si je ne suis malentendu quoi que ce soit.

source d'informationauteur Russell