MYSQL mysql | Page 23

Manual de MySQL uniones Se trata de consultas realizadas sobre datos de varias tablas. para ello esas tablas deben estar relacionadas por al menos un campo. Ejemplo clásico: select nombre, apellidos, fecha_alquiler from cliente, alquiler where cliente.dni=alquiler.dni; A veces el nombre de los campos es ambiguo (porque el mismo nombre se emplea es más de una de las tablas implicadas en la consulta) y entonces se debe indicar la tabla junto al nombre del campo, separados por un punto: select cliente.nombre, cliente.apellidos, fecha_alquiler from cliente, alquiler where cliente.dni=alquiler.dni; Se puede poner un alias a las tablas con la palabra as: select c.nombre, c.apellidos, fecha_alquiler from cliente as c, alquiler where cliente.dni=alquiler.dni; Eso muestra las fechas de cada alquiler junto con nombre y apellidos del cliente que alquiló. Para ello ambas tablas deben estar relacionadas por el DNI. Esta misma consulta se puede hacer en el formato SQL ANSI-92 (totalmente soportado por MySQL) de esta forma: select nombre, apellidos, fecha_alquiler from clientes join alquiler on clientes.dni=alquiler.dni; Es más recomendable esta segunda forma ya que permite realizar asociaciones avanzadas. De hecho es posible usar estas formas de unión en el apartado join € cross join. Producto cruzado. Combina cada registro de la primera tabla con cada registro de la tabla relacionada. € inner join. Unión normal. Muestra sólo registros de ambas tablas que estén relacionados. € left join. Muestra todos los registros de la primera tabla y sólo los registros relacionados en la segunda. € right join. Muestra todos los registros de la segunda tabla y sólo los registros relacionados en la primera. 21