The correct answer is D. Directory tables can be joined with other tables in Snowflake .
A directory table stores file-level metadata for files in a stage. This metadata can be queried using SQL, which means it can also be filtered, selected from, and joined with other Snowflake tables.
Why D is correct:
Because directory table metadata can be queried like table data, users can join that metadata with other Snowflake tables. This is useful for workflows where file metadata needs to be compared with control tables, audit tables, or processing logs.
Example concept:
SELECT d.relative_path, l.load_status
FROM DIRECTORY(@my_stage) d
LEFT JOIN load_log l
ON d.relative_path = l.file_name;
Why the other options are incorrect:
A. Directory tables store file-level metadata, but not in a temporary table. They are associated with stages.
B. Directory tables do not have their own independent privilege model. Access is controlled through privileges on the associated stage.
C. Any user cannot configure directory table privileges independently.
Official Snowflake documentation reference:
Snowflake documentation explains that directory tables store file-level metadata about staged files and that users can query this metadata with SQL, enabling joins with other tables.
[Reference: Snowflake Documentation — Directory tables; Snowflake Documentation — Stages; SnowPro Core Study Guide — Data Loading and Unloading., ==]