The query below lists table (and view) indexes.
Query
select schema_name(t.schema_id) + '.' + t.[name] as table_view,
    case when t.[type] = 'U' then 'Table'
        when t.[type] = 'V' then 'View'
    end as [object_type],
    i.index_id,
    case when i.is_primary_key = 1 then 'Primary key'
        when i.is_unique = 1 then 'Unique'
        else 'Not unique' end as [type],
    i.[name] as index_name,
    substring(column_names, 1, len(column_names)-1) as [columns],
    case when i.[type] = 1 then 'Clustered index'
        when i.[type] = 2 then 'Nonclustered unique index'
        when i.[type] = 3 then 'XML index'
        when i.[type] = 4 then 'Spatial index'
        when i.[type] = 5 then 'Clustered columnstore index'
        when i.[type] = 6 then 'Nonclustered columnstore index'
        when i.[type] = 7 then 'Nonclustered hash index'
    end as index_type
from sys.objects as t
    inner join sys.indexes as i
        on t.object_id = i.object_id
    cross apply (select col.[name] + ', '
                from sys.index_columns as ic
                    inner join sys.columns as col
                    on ic.object_id = col.object_id
                    and ic.column_id = col.column_id
                where ic.object_id = t.object_id
                    and ic.index_id = i.index_id
                order by col.column_id
                for xml path ('') ) as D (column_names)
where t.is_ms_shipped <> 1
and index_id > 0
order by schema_name(t.schema_id) + '.' + t.[name], i.index_id
Columns
- table_view - name of table or view index is defined for
- object_type - type of object that index is defined for:
- Table
- View
 
- index_id - id of index (unique in table)
- type
- Primary key
- Unique
- Not unique
 
- index_name - index name
- columns - list of index columns separated with ","
- index_type - index type:
- Clustered index
- Nonclustered unique index
- XML index
- Spatial index
- Clustered columnstore index
- Nonclustered columnstore index
- Nonclustered hash index
 
Rows
- One row: represents an index
- Scope of rows: all indexes (unique and non-unique) in databases
- Ordered by: schema, table name, index id
Sample results

 
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                 
                                                             
                                                             
                                                             
                                                             
                                                                 
                                                             
                                                             
                                                                 
                                                             
                                                             
                                                             
                                                             Rene Castro
                                                                        Rene Castro
                                 Azure SQL Database
                                                                Azure SQL Database
                                 SQL Server
                                                                                                SQL Server
                                             Oracle database
                                                                                                Oracle database
                                             IBM Db2
                                                                                                IBM Db2
                                             Teradata
                                                                                                Teradata
                                             MySQL
                                                                                                MySQL
                                             MariaDB
                                                                                                MariaDB