

Ключевое слово TABLE сообщает Oracle, что вы выбираете не из стандартной таблицы или представления, а скорее функцию, которая возвращает результаты в виде структуры, подобной таблице.
Затем результаты функции обрабатываются так же, как если бы они были таблицей, насколько это касается остальной части запроса.
Чтобы это работало, функция должна быть определена особым образом.
https://docs.oracle.com/cd/B19306_01/appdev.102/b14289/dcitblfns.htm
Теперь это имеет смысл, спасибо! Также спасибо за ссылку, прочитаю.
Это выражение коллекции таблиц:
The table_collection_expression lets you inform Oracle that the value of collection_expression should be treated as a table for purposes of query and DML operations. The collection_expression can be a subquery, a column, a function, or a collection constructor. Regardless of its form, it must return a collection value—that is, a value whose type is nested table or varray. This process of extracting the elements of a collection is called collection unnesting.
Это может быть функция, как сказал @James, когда вы встретили ее в коде в своем вопросе, но также могут быть другие вещи. Примеры в документации, ссылки на которую приведены выше, показывают, что он применяется, например, к столбцам вложенной таблицы в таблице. И вы можете использовать и отключать свой собственный тип коллекции или встроенный, например:
select *
from table (sys.odcinumberlist(1,2,3,4,5));
Result Sequence
---------------
1
2
3
4
5
Он распознает функции с табличным значением.