Se nos puede dar un caso muy habitual en el que tengamos que obtener campos de distintas tablas para operar con ellos. Para este caso debemos hacer mención a las distintas tablas de donde se van a sacar los datos. En el caso de que algun campo se llame igual en ambas, utilizamos el nombre de la tabla seguido de un punto y el nombre del campo. Por ejemplo: empleados.departamento.
Sintaxis
SELECT tabla1.campo, tabla2.campo
FROM tabla1, tabla2
WHERE tabla1.campo1 = tabla2.campo2;
FROM tabla1, tabla2
WHERE tabla1.campo1 = tabla2.campo2;
Más adelante veremos otra forma de obtención de datos de varias tablas mediante la cláusula JOIN.
Nota: Al unir dos tablas hay que relacionarlas con un campo común, que en estos ejemplos es departamento. Normalmente suelen ser claves extranjeras.
Ejemplo 1:
Obtener el apellido, trabajo, departamento y localidad de todos los empleados de la empresa.
SELECT apellido, trabajo, e.departamento, nombre, localidad
FROM empleados AS e, departamentos AS d
WHERE e.departamento = d.departamento;
Ejemplo 2:
Seleccionar el nombre, trabajo, departamento, localidad y salario de los empleados que tengan un salario superior a 2000 Euros.
SELECT apellido, trabajo, d.departamento, localidad, salario
FROM empleados AS e, departamentos AS d
WHERE salario > 2000 AND d.departamento = e.departamento;
Ejemplo 3:
Recuperar el nombre, descripción, precio y nombre de la categoría a la que pertenecen los productos.
SELECT p.nombre, p.descripcion, p.precio, c.nombre
FROM productos AS p, categorias AS c
WHERE p.idcategoria = c.id;
No hay comentarios:
Publicar un comentario