I'm using material table inside angular material card. Here is my code:
<mat-card style="margin: 5px;font-family:Arial, Helvetica, sans-serif!important;font-size:10px !important;" class="mat-elevation-z15"
fxFlex>
<mat-card-content fxLayout="column" fxLayoutAlign="space-between" fxFlex>
<h4>Incidents</h4>
<mat-table #table [dataSource]="dataSource" matSort class="mat-elevation-z8">
<ng-container matColumnDef="number">
<th mat-header-cell *matHeaderCellDef mat-sort-header>Number</th>
<td mat-cell *matCellDef="let element">{{ element.number }}</td>
</ng-container>
<ng-container matColumnDef="desc">
<th mat-header-cell *matHeaderCellDef mat-sort-header>Description</th>
<td mat-cell *matCellDef="let element">{{ element.desc }}</td>
</ng-container>
<ng-container matColumnDef="assn_group">
<th mat-header-cell *matHeaderCellDef mat-sort-header>Group</th>
<td mat-cell *matCellDef="let element">{{ element.assn_group }}</td>
</ng-container>
<ng-container matColumnDef="product">
<th mat-header-cell *matHeaderCellDef mat-sort-header>Product</th>
<td mat-cell *matCellDef="let element">{{ element.product }}</td>
</ng-container>
<ng-container matColumnDef="state">
<th mat-header-cell *matHeaderCellDef mat-sort-header>State</th>
<td mat-cell *matCellDef="let element">{{ element.state }}</td>
</ng-container>
<ng-container matColumnDef="opened">
<th mat-header-cell *matHeaderCellDef mat-sort-header>Opened</th>
<td mat-cell *matCellDef="let element">{{ element.opened }}</td>
</ng-container>
<ng-container matColumnDef="sla_group">
<th mat-header-cell *matHeaderCellDef mat-sort-header>SLA Group</th>
<td mat-cell *matCellDef="let element">{{ element.sla_group }}</td>
</ng-container>
<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
<tr mat-row *matRowDef="let row; columns: displayedColumns;"></tr>
</mat-table>
</mat-card-content>
</mat-card>
And the table width set to 100%. it gets extended fully in the code but the columns not fully using the 100% of the table width
Attaching table screenshot

I know that this question is old, but I had the same problem, and this worked for me.
mat-table contains a class name mat-table where you can specify some styles, adding the property of "table", you can add some style in this case
table.mat-table {
display: table;
}
Style that worked for me is as below:
table-layout: fixed;
width: 100%;
display: table;
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With