SQL101 - BD Modulo 5
SQL101 - BD Modulo 5
1
Ignacio Despujol Zabala
Objetivos
Al final de este vídeo serás capaz de:
• Presentar en una consulta datos de varias tablas en el mismo registro
• Hacer un JOIN implícito de dos o más tablas
• Conocer los tipos de JOIN disponibles
Join implícito
SELECT * FROM Products,Categories
https://www.w3schools.com/sql/trysql.asp?filename=trysql_asc
Estructura base de datos de ejemplo
Join implícito con relación
SELECT * FROM Products,Categories WHERE Products.CategoryID=Categories.CategoryID
10
Introducción a SQL y bases de datos relacionales
11
Ignacio Despujol Zabala
Objetivos
Al final de este vídeo serás capaz de:
• Realizar comandos INNER, LEFT, RIGHT y OUTER JOIN de dos o más
tablas
Estructura base de datos de ejemplo
INNER JOIN
SELECT P.ProductName, C.CategoryName FROM Products P INNER JOIN Categories C
ON P.CategoryID=C.CategoryID
https://www.w3schools.com/sql/trysql.asp?filename=trysql_asc
Ejemplo (tabla de objetivos de venta)
https://www.w3schools.com/sql/sql_join_full.asp
FULL JOIN / FULL OUTER JOIN
SELECT Customers.CustomerName, Orders.OrderID FROM Customers FULL OUTER JOIN
Orders ON Customers.CustomerID=Orders.CustomerID ORDER BY
Customers.CustomerName;
https://www.w3schools.com/sql/sql_join_full.asp
JOIN de varias tablas
SELECT O.OrderDetailID,O.OrderID,P.ProductName, C.CategoryName, O.Quantity, P.Price,
O.Quantity*P.Price AS Total FROM OrderDetails O LEFT JOIN Products P ON
P.ProductID=O.ProductID LEFT JOIN Categories C ON P.CategoryID=C.CategoryID
Operadores aritméticos: +, -, *, /, %
Resumen
Ahora puedes:
• Realizar comandos INNER, LEFT, RIGHT y OUTER JOIN de dos o más
tablas, seleccionando el más adecuado a tus necesidades
Atribución
La fuentes de las imágenes son:
24
Introducción a SQL y bases de datos relacionales
Unión de Consultas
25
Ignacio Despujol Zabala
Objetivos
Al final de este vídeo serás capaz de:
• Unir los datos de dos SELECT con el comando UNION
Estructura base de datos de ejemplo
SELECT UNION
• El comando UNION concatena los resultados de dos o más SELECTS
• Deben tener el mismo número de campos
• Las columnas deben estar en el mismo orden
• Deben tener tipos similares, aunque intenta acoplar los tipos
• Coge el nombre de los campos de la primera tabla
• Por defecto selecciona valores únicos, si los queremos repetidos usar
UNION ALL
Ejemplo
SELECT City FROM Customers UNION SELECT City FROM Suppliers ORDER BY City
https://www.w3schools.com/sql/trysql.asp?filename=trysql_asc
Ejemplo
SELECT O.OrderDetailID,O.OrderID,P.ProductName, C.CategoryName, O.Quantity, P.Price,
O.Quantity*P.Price AS Total FROM OrderDetails O LEFT JOIN Products P ON P.ProductID=O.ProductID
LEFT JOIN Categories C ON P.CategoryID=C.CategoryID WHERE CategoryName="Dairy Products" AND
TOTAL>175
UNION ALL
SELECT O.OrderDetailID,O.OrderID,P.ProductName, C.CategoryName, O.Quantity, P.Price,
O.Quantity*P.Price AS Total FROM OrderDetails O LEFT JOIN Products P ON P.ProductID=O.ProductID
LEFT JOIN Categories C ON P.CategoryID=C.CategoryID WHERE CategoryName="Produce" AND
TOTAL>200
ORDER BY O.OrderDetailID
Ejemplo
Resumen
Ahora puedes:
• Unir los datos de dos SELECT con el comando UNION
Atribución
La fuentes de las imágenes son:
33