You can do it by telling wget to output its payload to stdout (with the flag -O-) and suppress its own output (with the flag -q). The output is then made the input (via stdin) to the tar command by a pipe (|):
wget -qO- your_link_here | gunzip | tar xvf -
f - tells tar the archive is to be read from stdin. With some tar implementations, that's the default, in others, that's often a tape device.
Some tar implementations can detect compressions and decompress by themselves in which case you can remove the | gunzip, some support a z option to decompress gzip-compressed archives on the fly by themselves (often by invoking gunzip themselves).
To specify a target directory, if your tar supports -C:
wget -qO- your_link_here | gunzip | tar xvf - -C /target/directory
If not:
(cd /target/directory && wget -qO- your_link_here | gunzip | tar xvf -)
If you happen to have GNU tar, you can also rename the output dir:
wget -qO- your_link_here | tar --transform 's/^dbt2-0.37.50.3/dbt2/' -xvzf -
In libarchive's tar (bsdtar), or star, the equivalent is with the -s/pattern/replacement/ option like in the standard pax command.