# Un ejemplo de consulta multitabla

<span style="color: #000000;">Vamos a ver cómo sacaríamos los nombres de las recetas que llevan ternera usando solo una consulta sobre arias tablas a la vez.</span>

**La manera de hacerlo consultando las tablas por separado**

Los ingredientes están en la tabla **ingrediente**, la unión de recetas con ingredientes está en la tabla **receta\_tiene\_ingrediente**, pero el nombre de las recetas está en la tabla **receta**.

Primero hay que buscar cuál es el identificador del ingrediente 'Ternera' para buscarlo en la tabla **receta\_tiene\_ingrediente**. Así esta tabla nos dará los identificadores de las recetas que llevan ternera y con ese identificador podremos ir a buscar las recetas en la tabla **receta**.

Identificador del ingrediente 'Ternera':<textarea readonly="readonly" spellcheck="false" style="position: absolute; bottom: -1em; padding: 0px; width: 1px; height: 1em; min-height: 1em; outline: currentcolor none medium;" tabindex="0" wrap="off"></textarea>

```SQL
select id_ingrediente from ingrediente where nombre like 'Ternera';
```

Identificador de las recetas que llevan 'Ternera':

```SQL
select id_receta from receta_tiene_ingrediente where id_ingrediente=1;
```

Recetas que llevan 'Ternera':

```SQL
select nombre from receta where id_receta=9 or id_receta=1;
```

##### Consulta multitabla

El modo básico de hacerlo es poniendo en la cláusula **from** las tablas separadas por comas, y en la cláusula **where** indicar cómo se relacionan esas tablas, es decir, indicando qué columnas son las que deben ser iguales en cada fila.

En el ejemplo anterior sería:

```SQL
SELECT receta.nombre
FROM ingrediente, receta_tiene_ingrediente, receta
WHERE ingrediente.id_ingrediente = receta_tiene_ingrediente.id_ingrediente 
	and receta_tiene_ingrediente.id_receta = receta.id_receta
    and ingrediente.nombre like 'Ternera';
```

<p class="callout warning">Fíjate que se están indicando las columnas con el nombre de la tabla delante seguidos por un punto. Esto es necesario cuando en una consulta multitabla hay columnas en diferentes tablas con el mismo nombre, como es este caso, para saber a la columna de qué tabla se está haciendo referencia.</p>

{{@5685}}