TAP lets you upload your own tables into the server for the duration of the query.
Note that not all servers already support uploads. If one doesn’t, politely ask the operators for it.
Example: Take a subset of tgas_source with positions and proper motions and crossmatch it with sdss to get colors. First we make the subset with:
SELECT TOP 200 source_id, ra, dec, pmra, pmdec FROM gaiadr1.tgas_source WHERE 1=CONTAINS(POINT('ICRS', raj2000, dej2000), CIRCLE('ICRS', 18.02, 9.281, 4.0 ))