12 marzo, 2020

Consultas de Unión Internas (INNER)

¡Hola mis coders! El objetivo de este pequeño post es aprender a generar consultas sencillas de unión interna mediante la cláusula INNER: INNER JOIN, LEFT JOIN y RIGHT JOIN. Recordemos que en el tema pasado aprendimos a generar consultas sencillas a la base de datos con el comando SELECT y aprendimos también a utilizar algunas funciones para el manejo de fechas: DAY(), MONTH(), YEAR(), DATEDIFF() y DATEPART(), si eres nuevo en el blog y aún no lo has visto, dale clic al siguiente enlace: Consultas y manejo de fechas.

CONSULTAS DE UNIÓN INTERNAS (INNER)

Las vinculaciones entre tablas se realizan mediante la cláusula INNER que combina registros de dos tablas siempre que haya concordancia de valores en un campo común. Su sintaxis es de la siguiente forma:


Se puede utilizar una operación INNER JOIN en cualquier cláusula FROM. Esto crea una combinación por equivalencia, conocida también como unión interna. 

Las combinaciones aquí son las más comunes; éstas combinan los registros de dos tablas siempre que haya concordancia de valores en un campo común a ambas tablas. 

Por ejemplo, se puede utilizar INNER JOIN con las tablas DEPARTAMENTOS y EMPLEADOS para seleccionar todos los empleados de cada departamento. Por el contrario, para seleccionar todos los DEPARTAMENTOS (incluso si alguno de ellos no tiene ningún empleado asignado) se emplea LEFT JOIN o todos los empleados (incluso si alguno no está asignado a ningún departamento), en este caso RIGHT JOIN.

INNER JOIN


1. Clientes que han efectuado consumos.

El ejemplo siguiente muestra cómo se podría combinar las tablas CLIENTES y COMPROBANTES basándose en el campo “COD_CLI.”:



LEFT JOIN


2. Clientes que han y que no han efectuado consumos.



Los registros encerrados en rojo son los clientes que no nunca han consumido, están registrados pero nunca han realizado un consumo.



3. Mostramos únicamente los clientes que no han efectuado consumos.



Cuando vamos a incluir en una consulta de varias tablas el campo con el mismo nombre, tenemos que especificar de que tabla es

SELECT A.COD_CLI, NOM_CLI, …

COD_CLI es el campo en común, lo tenemos tanto en CLIENTES como en COMPROBANTES

RIGHT JOIN


4. Muestre los ingredientes que han y que no han sido utilizados en una comida.


Estos ingredientes nunca han sido utilizados en ninguna comida



5. Muestre únicamente los ingredientes que no han sido utilizados en una comida.



También, se pueden enlazar varias cláusulas ON en una instrucción JOIN, utilizando la sintaxis siguiente:


También, se puede anidar instrucciones JOIN utilizando la siguiente sintaxis:


Resumen

  • La instrucción Select se utiliza para expresar una consulta SQL. Toda sentencia Select produce una tabla de resultados que contiene una o más columnas y cero o más filas.
  • La cláusula From especifica la(s) tabla(s) que contiene(n) los datos a recuperar de una consulta.
  • La cláusula Where selecciona las filas a incluir en los resultados aplicando una condición de búsqueda a las filas de la base de datos.
  • La cláusula Order by especifica que los resultados de la consulta deben ser ordenados en sentido ascendente o descendente, basándose en los valores de una o más columnas.
ACTIVIDAD

Usando TRANSACT/SQL, realice las siguientes actividades:

De la base de datos VENTAS que creamos en el temas de Creación de Tablas

  1. Muestre los 5 primeros productos más caros.
  2. Muestre todos los datos del 40% de los clientes del tipo persona jurídica registrada, ordenada por su razón social de manera ascendente.
  3. Muestre la descripción de todos los empleados registrados y la descripción del distrito donde residen.
  4. Muestre la descripción de todos los empleados que hayan nacido entre los meses de febrero y marzo.
  5. Muestre los datos de las boletas con sus detalles emitidos entre los años 2019 y 2020.
  6. Muestre los datos de todos los clientes que tienen correo electrónico, ordenados por el apellido paterno del cliente que residen en los distritos de Miraflores, San Miguel y Jesús Maria. 

SOLUCIÓN




SI NO TIENES EL SQL SERVER INSTALADO, HAZ CLIC EN EL SIGUIENTE ENLACE Y EJECUTA EL QUERY.

RexTexter: https://rextester.com/OTCA73725

¡Acabas de ver el tema Consultas de Unión Internas del curso de Base de Datos en SQL Server! ¡Fácil verdad! Ir al índice.

Asimismo, si deseas saber más acerca de estos temas, recuerda que puedes comprar la guía completa con todos los temas, ejercicios, evaluaciones resueltas, proyectos, aplicaciones, banco de datos y más; para ello, tienes que ingresar al siguiente enlace. Y si eres seguidor de la comunidad Aprendec puedes acceder a un descuento del -%50.

¡Quiero esto!

No hay comentarios, ¡cuéntame algo!

Me gustaría saber tu opinión. ¡Saludos!