Autor: Daniela Muñoz Muñoz
Competencia: Comunicación Oral.
Palabras Clave: Base de datos, My SQL.
Descripción de la Actividad: A continuación les daré a conocer mi grata experiencia como estudiante de primer año de ingeniería civil en informática, en una de mis presentaciones ( disertaciones) sobre el capitulo 10 de My SQL.
El propósito de la presentación consiste en entender los conceptos Outer Join, Self Join, y Unions y como se aplica en My SQL.
Solución:
La solución es tomar cada uno de estos conceptos y analizarlos, tomando en cuenta su respectivas sentencias.
OUTER JOIN
Anteriormente, hemos visto una unión izquierda, o interna, donde seleccionamos filas comunes a las tablas que participan en la unión.
¿Qué sucede en los casos donde estamos interesados en la selección de elementos en una tabla sin importar si se encuentran presentes en la segunda tabla?
Ahora necesitaremos utilizar el comando SQL OUTER JOIN.
Ejemplo OUTER JOIN
Queremos saber la suma de las ventas de todas las Ciudades. Si realizamos una unión regular, no podríamos obtener lo que deseamos debido a que habríamos omitido “Iquique" ya que no aparece en la tabla Ciudades.
Ciudades
Ciudad | Ventas | Fecha |
Puerto Montt | 1500 € | 05-Jan-1999 |
Temuco | 250 € | 07-Jan-1999 |
Puerto Montt | 300 € | 08-Jan-1999 |
Arica | 700 € | 08-Jan-1999 |
Geografia
Zona | Ciudad |
Norte | Arica |
Norte | Iquique |
Sur | Puerto Montt |
Sur | Temuco |
Por lo tanto, necesitamos realizar una unión externa respecto de las dos tablas anteriores:
sintaxis
SELECT A1.Ciudad, SUM(A2.Ventas)VENTAS
FROM Geografia A1, CiudadesA2
WHERE A1.Ciudad = A2.Ciudad (+)
GROUP BY A1.Ciudad
WHERE A1.Ciudad = A2.Ciudad (+)
GROUP BY A1.Ciudad
SELF JOIN
SELF JOIN es una técnica empleada para conseguir el producto cartesiano de una tabla consigo misma. Su utilización no es muy frecuente, pero pongamos algún ejemplo de su utilización
Supongamos la siguiente tabla (El campo autor es numérico, aunque para ilustrar el ejemplo utilice el nombre):
Código (Código del libro) | Autor (Nombre del Autor) |
B0012 | 1. Francisco López |
B0012 | 2. Javier Alonso |
B0012 | 3. Marta Rebolledo |
C0014 | 1. Francisco López |
C0014 | 2. Javier Alonso |
D0120 | 2. Javier Alonso |
D0120 | 3. Marta Rebolledo |
Queremos obtener, para cada libro, parejas de autores:
SELECT A.Codigo, A.Autor, B.Autor FROM
SELF JOIN Autores A, Autores B
ON
A.Codigo = B.Codigo
UNION
El propósito del comando SQL UNION es combinar los resultados de dos consultas juntas. En este sentido, UNION es parecido a Join , ya que los dos se utilizan para información relacionada en múltiples tablas. Una restricción de UNION es que todas las columnas correspondientes necesitan ser del mismo tipo de datos. También, cuando utilizamos UNION, sólo se seleccionan valores distintos (similar a SELECT DISTINCT).
Ejemplo UNION
La sintaxis es la siguiente:
[Instrucción SQL 1]
UNION
[Instrucción SQL 2]
Local | Ventas | Fecha |
Tabla Ventas Sucursal | 1500 € | 05-Jan-1999 |
Santiago | 250 € | 07-Jan-1999 |
Temuco | 300 € | 08-Jan-1999 |
Putre | 700 € | 08-Jan-1999 |
Fecha | Ventas |
07-Jan-1999 | 250 € |
10-Jan-1999 | 535 € |
11-Jan-1999 | 320 € |
12-Jan-1999 | 750 € |
SELECT Fechas FROM Ventas Locales
UNION
SELECT Fechas FROM Ventas Internet
UNION
SELECT Fechas FROM Ventas Internet
Resultado:
Fechas |
05-Jan-1999 |
07-Jan-1999 |
08-Jan-1999 |
10-Jan-1999 |
11-Jan-1999 |
12-Jan-1999 |
Reflexión
Para tener claro alguna sentencia My SQL, debemos averiguar y tener claro de que se trata, ademas de sus sentencias que es lo principal para poder usarlas.
Las sentencias explicadas, nos ayudan mucho ya que al no tenerlas algunas de las acciones que estas realizan no se podrían realizar o al poder realizar-las el proceso serias doblemente mas largo.