INSERT con un SELECT en MySQL

Que pasa si necesitamos insertar un registro en una tabla y  tenemos que sacar algún valor de de otra tabla para complementar, no se me ocurre una buena forma de explicarlo, mejor vayamos a un ejemplo:

Sabemos que “Fulano” es un vendedor y nos dice para que tienda trabaja. tendríamos por ejemplo:

Fulano, Tiendita X.

Lo complicado viene cuando necesitamos obtener de la tabla “Tiendas” la dirección del establecimiento, por poner un ejemplo, esto se puede hacer buscando manualmente en la tabla y copiando el id, pero imaginen que tienen que hacerlo para 3000 vendedores y la cosa cambia.

Para lograrlo, utilizamos un INSERT combinado con un SELECT, tomando como ejemplo lo anterior, armaremos la siguiente consulta:

Para explicar un poco esto, la clave es ver en la parte del SELECT como estamos introduciendo valores estáticos como Fulano y Tiendita, pero para la dirección estamos haciendo una búsqueda en otra tabla e ingresando el id resultante, esto es algo muy útil. Como siempre, hay que adaptarlo a nuestras necesidades!