Funciones de agrupamiento y JOIN de Tablas

Slides:



Advertisements
Presentaciones similares
SQL Y BASES DE DATOS A TRAVÉS DE LA WEB
Advertisements

Introducción Lenguaje de manipulación de datos (Data Manipulation Language) Permite a los usuarios llevar a cabo las tareas de consulta o manipulación.
integridad referencial
Vitrocar, S.A. de C.V. 1 Vitrocar. 2 Consultas Ventas Cotizaciones pendientes Facturas realizadas Consulta ordenes de servicio Facturas realizadas hist.
Repaso DBD!!! (Es ahora o nunca)
BASE DE DATOS OBJETO RELACIONAL
SQL BAJO EL ENTORNO PHP/MYSQL MI JUAN PABLO TORRES HERRERA UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA FACULTAD DE INGENIERÍA ENSENADA Mayo de 2005.
Maestría en Bioinformática Bases de Datos y Sistemas de Información SQL: SELECT Ing. Alfonso Vicente, PMP
Unidad IV Objetivo de la Unidad:
Teórico: Structured Query Language
Lenguaje de consulta de Hibernate
IBD Clase 15.
E.1 Obtener los detalles completos de todos los proyectos.
OPERACIONES DE RECUPERACIÓN. WHERE ciudad =‘Las Palmas’; de los suministradores Obtener el código y la situación de Las Palmas SELECT sn, situacion FROM.
Características Objeto Relacionales en Oracle Francisco Moreno Universidad Nacional.
SESIÓN 2. Completados por el tipo de objeto sobre el que actúan y el objeto concreto: CREATE DATABASE mibase ; Permite crear una base de datos llamada.
SQL.
CAPITULO 1 Escribiendo Sentencias SELECT Básicas
Universidad del Cauca – FIET – Departamento de Sistemas CAPITULO 5 Agregando Datos Usando Funciones de Grupo.
SQL Básico Prof. Nelliud D. Torres.
“Optimización de sentencias MySQL” jueves 26 de septiembre de 2013.
Reutilizando conocimiento en la versión Rocha
SQL el Structured Query Language no es mas que un lenguaje estándar de comunicación con bases de datos.
6 Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados. Visualización de Datos de Varias Tablas Utilizando Uniones.
Componentes sintácticos
Lenguaje Estructurado de Consultas
ALGEBRA RELACIONAL. Elementos  Operandos -> Relaciones  Operadores  Asignaciones.
Diseñando la arquitectura de aplicaciones empresariales. Acceso al SQL Server.- Autenticación de usuario:
Bases de datos con MYSQL
IBD CLASE 15. SQL Lenguaje de Consultas Estruturado (SQL) ◦Lenguaje de trabajo estándard para modelo relacional ◦Componentes ◦DDL: Data Definition Language.
Lenguaje Estructurado de Consultas
CAPITULO 4 Despliegue de Datos Desde Múltiples Tablas
Programación en Visual Basic Lección #8: SQL Por Antonio F. Huertas.
CONSULTAS SENCILLAS A LA BASE DE DATOS
Autora: Francisca Montañez Muñoz
Consultas SQL (Base de Datos)
1 Módulo 4 Sentencias SQL. 2 Objetivos Generales Implementar una base de datos Definir los campos, registros, tablas que se encuentran relacionadas en.
LENGUAJE SQL.
Bases de Datos Sql.
Más ejemplos en SQL Francisco Moreno. S sn snombre situacion ciudad S1 Salazar 20 Londres S2 Jaramillo 10 París S3 Bernal30 París S4 Caicedo 20 Londres.
Outer Joins Taller de Base de Datos.
Ingeniería de Sistemas y Modelamiento.
Uso de los JOINS en MYSQL
LENGUAJE ESTRUCTURADO DE CONSULTAS
Lenguaje Estructurado de Consulta
COMANDOS DML DML son las siglas de Data Manipulation Language y se refiere a los comandos que permiten a un usuario manipular los datos en un repositorio,
SQL Lenguaje Estructurado de Consulta MATERIA: diseñar sistemas de información ALUMNO: sarmiento flores Liliana Guadalupe GRUPO: 4° “A” TURNO: matutino.
 La sentencia SELECT recupera todas las columnas o un subconjunto de ellas de una tabla. Esto afecta a todas las filas de la tabla, a menos que especifiquemos.
Consultas SQL. SQL SQL es un lenguaje de consulta estructurado (Structured Query Languague). Se utiliza para: Eliminar Modificar Consultar La base de.
JOIN EN MYSQL Bueno en esta presentación mostrare cosas acerca de los usos de la sentencia JOIN en mysql , mediante esta presentación planeo mostrar los.
MSSQL SERVER CURSO BÁSICO 1. CONCEPTOS BASICOS DE SQL. DESCRIPCIÓN DEL CURSO. Sesión 3: Índices Uso, Creación, Tipos, Eliminación LENGUAJE DE CONSULTAS.
HINTS ¿Cómo afectar el plan de ejecución? Por defecto, el SGBD tomará en cuenta el camino de ejecución (Execution Path) determinado por el optimizador.
SQL es el lenguaje de comunicación entre el programa cliente y programa servidor; Oracle es un programa servidor, en el que está la base de datos propiamente.
AA Gerardo Morgade Donato AA Isnel Leyva Herbella.
Unidad 6. Tema 4. Lenguaje de consultas SQL
Structure Query Languaje SQL. Introducción a SQL El lenguaje de consulta estructurado (SQL) es un lenguaje de base de datos normalizado, utilizado por.
DLM Transact SQL Sesión II Recuperación de información.
Querys a bases de datos con MS ACCESS. DEFINAMOS LOS TERMINOS: DML=Lenguaje de manipulación de datos Las sentencias DML permiten generar consultas para.
DML Transact SQL Sesión III Agrupando y resumiendo información.
Base de Datos Introducción
Paul Leger Ejercicios En SQL Paul Leger
CONSULTAS SQL POSTGRES.
Structure Query Languaje
SQL Lenguaje de Consulta Estructurado
SQL AVANZADO saregune CC 2009.
ESTADÍSTICA Y BASES DE DATOS.
Orígenes Funciones Condicionales
Join en MySQL.
Prof. Daniel Obando Fuentes
Structure Query Languaje
Transcripción de la presentación:

Funciones de agrupamiento y JOIN de Tablas Bases de datos Funciones de agrupamiento y JOIN de Tablas

Agenda Funciones de agrupamiento. Uso del GROUP BY. Teoría del uso de JOIN. SELECT con JOIN de tablas.

Funciones de Agrupación MAX SELECT MAX(PRECIO) FROM ARTICULO MIN SELECT MIN(PRECIO) FROM ARTICULO SUM SELECT SUM(PRECIO) FROM ARTICULO COUNT SELECT COUNT(*) FROM ARTICULO AVG SELECT AVG(PRECIO) FROM ARTICULO

Uso del GROUP BY SELECT CAMPO1, CAMPO2, FUNCION(CAMPO3) El uso de GROUP BY sirve hacer agrupaciones de datos dentro de una instrucción SELECT. Sintaxis: SELECT CAMPO1, CAMPO2, FUNCION(CAMPO3) FROM NOMBRETABLA GROUP BY CAMPO1, CAMPO2;

Uso del GROUP BY SELECT CED_CLIENTE, SUM(MONTO) FROM ENC_FACTURA GROUP BY CED_CLIENTE Es importante no confundir el Group By del Order By, ya que uno es para agrupar el otro para ordenar. SELECT MARCA, COUNT(DESCRIPCION) FROM ARTICULO GROUP BY MARCA ORDER BY MARCA

Uso del GROUP BY Se pueden usar varios campos y varias funciones. SELECT MARCA, MIN(PRECIO) AS MAXIMO ,MAX(PRECIO) AS MINIMO FROM ARTICULO GROUP BY MARCA

Uso del HAVING SELECT MARCA, MIN(PRECIO) FROM ARTICULO GROUP BY MARCA El HAVING es una instrucción similar al WHERE solo que nos sirve para condicionar datos dentro de una agrupación. A diferencia de WHERE en el HAVING se pueden usar funciones de agrupamiento. SELECT MARCA, MIN(PRECIO) FROM ARTICULO GROUP BY MARCA HAVING COUNT(MARCA)>1

Ejercicios Realizar un SELECT que muestre el código de articulo y una suma con la cantidad de unidades que se han vendido. Realizar un SELECT que muestre la marca y el promedio de precio, de los artículos donde la marca tenga mas de un producto en el catálogo.

Resolución 1. SELECT COD_ARTICULO,SUM(CANTIDAD) AS 'TOTAL VENDIDO' FROM DET_FACTURA GROUP BY COD_ARTICULO 2. SELECT MARCA, AVG(PRECIO) AS 'PROMEDIO PRECIO' FROM ARTICULO GROUP BY MARCA HAVING COUNT( MARCA ) > 1

Dudas

JOIN La sentencia JOIN en SQL permite combinar registros de dos o más tablas en una base de datos relacional. En un JOIN lo ideal es siempre hacer la relaciones por las llaves foráneas entre las tablas.

INNER JOIN Con el INNER JOIN sólo se muestran los registros que coinciden entre dos tablas A y B. Sintaxis: SELECT campo1, campo2, campo3 FROM TablaA INNER JOIN TablaB ON TablaA.campo = TablaB.campo

INNER JOIN Ejemplo: SELECT DET_FACTURA.NUM_FACTURA, DET_FACTURA.CANTIDAD, ARTICULO.DESCRIPCION, ARTICULO.MARCA FROM DET_FACTURA INNER JOIN ARTICULO ON DET_FACTURA.COD_ARTICULO=ARTICULO.CODIGO

ALIAS DE TABLAS El uso de alias en las tablas se usa para hacer mas sencillo el manejo de relaciones entre tablas. Y se realiza poniendo un nombre a la par de la tabla (de la misma manera que con los alias de los campos). Ejemplo: SELECT A.NUM_FACTURA, A.CANTIDAD, B.DESCRIPCION, B.MARCA FROM DET_FACTURA A INNER JOIN ARTICULO AS B ON A.COD_ARTICULO=B.CODIGO

INNER JOIN El caso del INNER JOIN es en el único donde ponemos omitir el tipo de JOIN que se está haciendo, en este caso omitiendo la palabra INNER. SELECT A.NUM_FACTURA, A.CANTIDAD, B.DESCRIPCION, B.MARCA FROM DET_FACTURA A INNER JOIN ARTICULO B ON A.COD_ARTICULO=B.CODIGO JOIN ARTICULO B

FULL JOIN Sintaxis: SELECT campo1, campo2, campo3 FROM TablaA Muestra el conjunto de todos los registros en las tablas A y B, con registros coincidentes en ambos lados cuando sea posible. Si no hay coincidencia, el lado que falta contendrá null. Sintaxis: SELECT campo1, campo2, campo3 FROM TablaA FULL JOIN TablaB ON TablaA.campo = TablaB.campo

FULL JOIN SELECT A.NUM_FACTURA, A.CANTIDAD, B.DESCRIPCION, B.MARCA Ejemplo: SELECT A.NUM_FACTURA, A.CANTIDAD, B.DESCRIPCION, B.MARCA FROM DET_FACTURA A FULL JOIN ARTICULO B ON A.COD_ARTICULO=B.CODIGO

LEFT JOIN Sintaxis: SELECT campo1, campo2, campo3 FROM TablaA Muestra el conjunto completo de registros de la tabla A, con los registros coincidentes (si están disponibles) en la tabla B. Si no hay coincidencia, el lado derecho contendrá null. Sintaxis: SELECT campo1, campo2, campo3 FROM TablaA LEFT JOIN TablaB ON TablaA.campo = TablaB.campo

LEFT JOIN SELECT A.NOMBRE, A.APELLIDO1, A.APELLIDO2,B.NUMERO, B.MONTO Ejemplo: SELECT A.NOMBRE, A.APELLIDO1, A.APELLIDO2,B.NUMERO, B.MONTO FROM CLIENTE A LEFT JOIN ENC_FACTURA B ON A.CEDULA = B.CED_CLIENTE

JOIN con mas de una tabla Sintaxis: SELECT campo1, campo2, campo3 FROM TablaA [INNER, LEFT, FULL] JOIN TablaB ON TablaA.campo = TablaB.campo [INNER, LEFT, FULL] JOIN TablaC ON TablaA.campo = TablaC.campo

Función ISNULL SELECT ISNULL(CAMPO, VALOR_X_DEFECTO) FROM TABLA La función ISNULL lo que nos permite es asignar un valor en especifico a un campo que almacena un valor NULO. Sintaxis: SELECT ISNULL(CAMPO, VALOR_X_DEFECTO) FROM TABLA

Función ISNULL Ejemplo: SELECT A.CEDULA, A.NOMBRE, A.APELLIDO1, SUM(ISNULL(B.MONTO,0)) FROM CAJERO A LEFT JOIN ENC_FACTURA B ON A.CEDULA=B.CED_CAJERO GROUP BY A.CEDULA, A.NOMBRE, A.APELLIDO2

Dudas

Ejercicio #1 Realice un SELECT utilizando un JOIN entre las tablas DET_FACTURA y ARTICULO, para mostrar el siguiente resultado:

Resolución SELECT A.NUM_FACTURA, A.LINEA, A.CANTIDAD, A.PRECIO_UNITARIO, B.MARCA, B.DESCRIPCION FROM DET_FACTURA A INNER JOIN ARTICULO B ON A.COD_ARTICULO=B.CODIGO

Ejercicio #2 Realice un SELECT utilizando un JOIN entre las tablas ARTICULO y DET_FACTURA, para mostrar la marca, la descripción y la suma de artículos facturados, independientemente si se ha vendido o no:

Resolución SELECT A.MARCA, A.DESCRIPCION, SUM(B.CANTIDAD) FROM ARTICULO A LEFT JOIN DET_FACTURA B ON A.CODIGO=B.COD_ARTICULO GROUP BY A.MARCA, A.DESCRIPCION

Ejercicio #3 Realice un SELECT utilizando un JOIN para mostrar el nombre del cliente concatenado, y la cuenta de facturas que tiene asociadas. Pero solamente de los clientes que tengan al menos una factura y que el correo del cliente esté en NULO.

Resolución

¿Vamos bien?

Ejercicio #4 Realice un SELECT utilizando JOIN’s para mostrar el nombre concatenado del cliente, las iniciales del cajero, el numero de factura, la fecha de la factura, el numero de línea del detalle de la factura, la marca del articulo, la descripción del artículo, la cantidad y el precio unitario con que se facturó. Y que el monto total de la factura esté entre 400,000 y 500,000.

Resolución