select ATC.OWNER,
atC.TABLE_NAME,
utc.comments,
ATC.COLUMN_NAME,
ATC.DATA_TYPE,
ATC.DATA_LENGTH,
ATC.NULLABLE,
ucc.comments
from
(select ATC.OWNER,
atC.TABLE_NAME,
ATC.COLUMN_NAME,
ATC.DATA_TYPE,
ATC.DATA_LENGTH,
ATC.NULLABLE
from all_tab_columns ATC
where ATC.owner in ('test') ) atc
leftouterjoin user_col_comments ucc
on atc.table_name=ucc.table_name and
atc.column_name=ucc.column_name
leftouterjoin user_tab_comments utc
on atc.table_name=utc.table_name
orderby atc.table_name,atc.column_name