Muchas consultas útiles solicitan datos procedentes de dos o más tablas en la base de datos.
Por ejemplo, las siguientes consultas extraen los datos de varias tablas:
- Lista los productos y la categoría a la que pertenecen (tablas PRODUCTOS y CATEGORIAS).
- Lista los pedidos mostrando el importe del pedido, el nombre del cliente que lo ordenó y el nombre del producto solicitado (tablas PEDIDOS, CLIENTES, DETALLES DEL PEDIDO y PRODUCTOS).
- Muestra todas los pedidos aceptados enviados a Alemania, mostrando la descripción del producto y el vendedor (tablas PEDIDOS, DETALLES DEL PEDIDO, EMPLEADOS y PRODUCTOS).
SQL permite recuperar datos que responden a estas peticiones mediante consultas multitabla que componen (JOIN) datos procedentes de dos o más tablas. Por ejemplo, la consulta “lista todos los pedidos, mostrando su número, nombre del cliente, producto vendido e importe" se realiza de cualquiera de las siguientes formas:
SELECT IdPedido, NombreCompañía, Producto, Cargo FROM pedidos, clientes WHERE clie=num_clie
SELECT IdPedido, NombreCompañía, Producto, Cargo FROM pedidos INNER JOIN clientes ON clie=num_clie;
Luego se pueden utilizar todo lo aprendido hasta ahora para filtrar los resultados que se desean obtener.