Using the borders like that, in my opinion, looks crappy and doesn't look the same on all browsers.
Here is another approach that I think looks a lot better.
Code:
<style type="text/css">
.table-border { background:#ff0000; }
.row { background:#000;color:#fff; }
</style>
<table border="0" cellspacing="0" cellpadding="0" width="500px">
<tr><td class="table-border">
<table border="0" cellspacing="1" cellpadding="2" width="100%">
<tr>
<td class="row">table data here</td>
<td class="row">more stuff here</td>
</tr>
</table>
</td></tr>
</table>
.table-border is, as you probably guessed, the table border color. In my example it is red.
.row is the background of the cells. In my example it is black, with white text. In this method, you have to set the background color of each cell because otherwise it will be the same color as the border color. But, it looks better and is consistent on other browsers.
EDIT: Also, the 'cellspacing="1"' on the second table controls the width of the border in px.