SQL interno une dos tablas con los mismos nombres de columna

Tengo dos tablas con una cantidad variable de columnas. (No sé cuántas columnas o qué nombres habrá), por ejemplo, la Tabla A y la Tabla B.

Tabla A:

ID | B_ID | {variable} 

TableB

ID | {variable} 

Consulta:

SELECT TableA.*, TableB.* FROM TableA INNER JOIN TableB ON TableA.B_ID= TableB.id;

Cuando TableA y TableB tienen una columna con el mismo nombre, no puedo distinguir entre las dos columnas diferentes. Por ejemplo, en ambas tablas la columna "Nombre" esta consulta daría como resultado:

ID | ID | B_ID | NAME | NAME |
 1 | 35 | 35   | bob  | jim  |

Lo que estoy buscando es una forma de diferenciar entre las dos tablas. Preferiblemente con un prefijo para los nombres de columna como.

TableA_ID | TableB_ID | TableA_B_ID | TableA_NAME | TableB_NAME |
        1 |        35 |          35 |         bob |         jim |

Sé de la palabra clave "AS", pero el problema es que no sé cuáles serán los nombres de las columnas de antemano. (No sé si TableA o TableB van a tener el nombre de la columna)

Entonces mi pregunta es

¿Cómo diferencia las columnas entre las dos tablas con una UNIÓN INTERNA cuando las tablas pueden tener los mismos nombres de columna?

Estoy usando SQLite3.

Respuestas a la pregunta(2)

Su respuesta a la pregunta