Minecraft wiki entry for Furniture, associated text: Place two stair blocks facing each other. Next, place two slab blocks of your taste on top of them. Some crafters believe that slab floors will make the table more aesthetically pleasing.
You could also try the piston table. The piston table looks cool with a cake on it! Again, some crafters believe that slab floors will make the table more aesthetically pleasing.
Another method utilizing stair blocks: Place stairs upside-down, and back-to-back. This table can be as small as 2 back-to-back stairs or as large as you like! Slabs and stairs can be used as chairs.
Place four blocks (e.g., wood planks) for the legs of your table. Then place some upside down slabs in the center of the four legs you just created. Next, place four upside down slabs between the legs to make an awesome table.
Place a dark block (e.g., such as nether bricks) in a 3×2 hole in your floor. On top of your dark blocks, place glass blocks.
For larger tables, you can place stone pressure plates or white carpet to serve as dishware. You can use empty flowerpots for cups and/or a chest with prepared food in the middle of the table, too!
For a simple table, with an actual use, simply use fence posts against your wall, then put wooden pressure plates on top. Once that is done, simply replace the blocks on the wall right above the table (on the same level as the pressure plates) with droppers (dispensers work too, but require a bow to make, unlike droppers). Now, fill the droppers with food, and then all you have to do is walk up to the table, and voila! you have food.
In later versions you can have fence posts over the whole area of the table and cover them with carpets.
For plates, you can use item frames (if your tabletop is made out of solid blocks) and put any item of food in them that you like.