SlideShare une entreprise Scribd logo
1  sur  34
Bases de Datos Unidad VIII Lenguaje SQL “ Lenguaje de Manipulación de Datos (DML) –  Consultas Avanzadas” Sergio Sánchez Rios. Ingeniero en Informática – Licenciado en Informática Docente Jornada Parcial Universidad Viña del Mar
Lenguaje de Manipulación de Datos (DML) Operadores Especiales   Concatenación Permite concatenar en una sola salida varios campos. Los campos deben ser String, sino lo son se pueden trasformar utilizando la operación  convert (tipo dato, campo) Ejemplo 1: Utilizando la base de datos  Northwind . Genere una lista de selección de la tabla Employees (Empleado) donde solo se genere una columna de salida y esta contenga los campos: EmployeeID, LastName y FirstName. Select  convert(nvarchar(2),EmployeeID) + ‘’ + LastName + ‘’ + FirstName as Nombre from Employees
Lenguaje de Manipulación de Datos (DML) Operadores Especiales   Literales Es cualquier cosa que no sea ni alias ni nombre de columna. Existen dos formas para colocar estos valores anexados a la Lista de Selección. Se puede colocar el mensaje entre  comillas simples (‘’)  o Colocar el nombre de la columna de salida entre corchetes [ ] = valor de salida. Ejemplo 2: Utilizando la tabla Employees liste las columnas EmployeeID, LastName, FirstName, además envié dos mensajes  en conjunto con cada fila utilizando para cada uno una de las opciones de literales. Select EmployeeID, LastName as Apellido, FirstName as Nombre, 'ESTOS SON EMPLEADOS' as Literal,  [Otra Forma] = 'Esta es otra forma' from Employees
Lenguaje de Manipulación de Datos (DML) Operadores Especiales   Between … AND …… Este operador se utiliza en la cláusula where, para poder restringir una lista de selección según un rango de valores. NOMENCLATURA: WHERE  Nombre_Columna  BETWEEN  parametro1  AND  parametro2 NOTA: parametro1 (Mínimo) y parametro2 (Máximo) Ejemplo 4: Suponga que queremos ver aquellos productos (Tabla Products) cuyos valores se encuentran entre los 4 y 20 Dólares.  Select *  from  Products where UnitPrice Between 5.0 and 20.0
Lenguaje de Manipulación de Datos (DML) Operadores Especiales   IN (Lista)  Este operador permite verificar si el campo se encuentra en una lista determinada o subconsulta. Retorna verdadero si el campos se encuentra en la lista.  NOMENCLATURA: WHERE campo_tabla IN (Lista de datos o Subconsulta) Ejemplo 5: Liste los campos de la tabla productos que tengan exactamente  un precio de 18, 19 y 10 dolares. Select * from Products where UnitPrice in (10.0,18.0,19.0)
Lenguaje de Manipulación de Datos (DML) Operadores Especiales   Like Esta palabra clave indica el patrón de ajuste con una condición de búsqueda. La coincidencia de patrones significa analizar una coincidencia entre una expresión y el patrón especificado en la condición de búsqueda. NOMENCLATURA: Columna_Tabla LIKE Patron_de_Busqueda Si la expresión coincide con el patrón se devuelve un valor booleano TRUE. En caso contrario se devuelve FALSO. La expresión (COLUMNA_TABLA) debe ser de tipo carácter. Los patrones son realmente expresiones de cadena. Y van acompañados de caracteres de comodín, que colocados en a expresión toman un significado especial.
Lenguaje de Manipulación de Datos (DML) Operadores Especiales   Like Carácter comodín no en rango, coincide con cualquier carácter distinto de m, n, o, p (según ejemplo anterior [ ^ mnop ]. [^ ] Carácter comodín en rango, coincide con cualquier carácter único en el rango o conjunto, tales como [m – p] o [ mnop ], significando que cualquiera de los caracteres puede ser m, n, o ,p. [ ] Subrayado, coincide con un único carácter. _ Símbolo de porcentaje, coincide con una cadena de cero o más caracteres.  % Descripción Carácter Comodín
Lenguaje de Manipulación de Datos (DML) Operadores Especiales   Like Ejemplo 7: Encontrar todos los apellidos (LastName) en la tabla Employees que comiencen con la letra <<S>>. Use el carácter comodín %. SELECT LastName FROM Employees WHERE LastName LIKE 'S%'  – Acá se arma la frase con el comodín Ejemplo 8: Para recuperar el apellido de los Empleados cuya primera letra comienza entre <<A>> y <<M>>. Utilice el comodín [ ]. SELECT LastName FROM Employees WHERE LastName LIKE '[A-M ]%'
Lenguaje de Manipulación de Datos (DML) Operadores Especiales   Like Ejemplo 9: Usar Base de Datos  Pubs . Para recuperar la información de un autor cuyo ID comienza con el numero 724, sabiendo que cada ID tiene el formato de tres dígitos seguidos por un guión, seguido por dos dígitos, otro guión y finalmente cuatro dígitos. Utilizar el comodín _ .  Select *  from authors  where au_id LIKE '724-__-____'
Lenguaje de Manipulación de Datos (DML) Operadores Especiales   IS NULL Realiza un testeo para valores que son Nulos. Retorna True si la columna es NULL sino retorna FALSE. NOMENCLATURA: WHERE Columna IS NULL Ejemplo 10: Usar base de datos  Northwind . Liste todos los campos de la tabla Suppliers cuya columna Región sea NULL. Select * from Suppliers where Region is null
Lenguaje de Manipulación de Datos (DML) Operadores de Agregado Las funciones de agregado son: SUM, AVG, COUNT, COUNT(*), MAX y MIN  Estas funciones generan valores de resumen en los conjuntos de resultados de las consultas. Una función de agregado (con la excepción de COUNT(*)) procesa todos los valores seleccionados en una única columna para generar un único resultado.  Las funciones de agregado se pueden aplicar a todas las filas de una tabla, a un subconjunto de la tabla especificado por una cláusula WHERE o a uno o varios grupos de filas de la tabla. Cuando se aplica una función de agregado, se genera un valor individual por cada conjunto de filas.
Lenguaje de Manipulación de Datos (DML) Operadores de Agregado Valor menor de la expresión. MIN ( expression ) Valor mayor de la expresión. MAX ( expression ) Número de filas seleccionadas. COUNT (*) Número de valores en la expresión. COUNT ( [ALL | DISTINCT]  expression ) Promedio de los valores de la expresión numérica. AVG ( [ALL | DISTINCT]  expression ) Total de los valores de la expresión numérica. SUM ( [ALL | DISTINCT]  expression ) Resultado Función de agregado
Lenguaje de Manipulación de Datos (DML) Operadores de Agregado SUM, AVG, COUNT, MAX y MIN omiten los valores NULL; COUNT(*) no lo hace. La palabra clave opcional DISTINCT se puede usar con SUM, AVG y COUNT para eliminar los valores duplicados antes de que se establezca la función de agregado. SUM y AVG se pueden usar sólo con columnas numéricas, como, por ejemplo, las de los tipos de datos  int ,  smallint ,  tinyint ,  decimal ,  numeric ,  float ,  real ,  money  y  smallmoney . MIN y MAX no se pueden usar con tipos de datos  bit . El resto de las funciones de agregado que no sean COUNT(*) no se puede usar con los tipos de datos  text  e  image .
Lenguaje de Manipulación de Datos (DML) Operadores de Agregado SUM Retorna:  Total de los valores de la expresión numérica. NOMENCLATURA: SUM (Columna para la suma) Ejemplo: Usando la base de dato PUBS. Calcula la suma de las ventas del año hasta la fecha (ytd_sales) de todos los libros de la tabla titles .   USE pubs  SELECT SUM(ytd_sales)  FROM titles
Lenguaje de Manipulación de Datos (DML) Operadores de Agregado AVG Retorna:  Promedio de los valores de la expresión numérica. NOMENCLATURA: AVG (Columna a Promediar) Ejemplo: Usando la base de datos PUBS.  Puede averiguar el precio promedio de todos los libros si se duplicaran los precios ( tabla titles ). SELECT avg (price * 2)  FROM titles
Lenguaje de Manipulación de Datos (DML) Operadores de Agregado MAX Retorna:  Valor mayor de la expresión. NOMENCLATURA: MAX (Columna a obtener el Máximo valor) Ejemplo:  Usando la base de dato PUBS. Muestre el mayor valor de las  las ventas del año (ytd_sales) de todos los libros de la tabla titles. USE pubs SELECT MAX(ytd_sales) FROM titles
Lenguaje de Manipulación de Datos (DML) Operadores de Agregado MIN Retorna:  Valor menor de la expresión. NOMENCLATURA: MIN (Columna a obtener el Mínimo valor) Ejemplo:  Usando la base de dato PUBS. Muestre el mínimo valor de las  ventas del año (ytd_sales) de todos los libros de la tabla titles. USE pubs SELECT MIN (ytd_sales) FROM titles
Lenguaje de Manipulación de Datos (DML) Operadores de Agregado COUNT Retorna:  Número de valores en la expresión. En el caso de utilizar (*) retorna el numero de filas. NOMENCLATURA: COUNT (expresión) o COUNT (*) Ejemplo: Usando la base de datos PUBS. Cuente las filas de la tabla titles. Use Pubs SELECT COUNT(*) FROM titles
Lenguaje de Manipulación de Datos (DML) Operadores de Agregado COUNT Ejemplo: Usando la base de datos PUBS. Cuente los datos de la tabla titles, cuyo tipo (TYPE) sea business . Use Pubs SELECT COUNT(TYPE) FROM titles WHERE TYPE = ‘business’
Lenguaje de Manipulación de Datos (DML) Sentencia GROUP BY Esta sentencia no permite dividir el resultado de una lista de selección en grupos más pequeños.  Para poder listar otras columnas con las funciones de agregación se debe utilizar esta sentencia. NOMENCLATURA: SELECT lista _de_seleccion FROM Tablas [WHERE  OPCIONAL] GROUP BY Nombre_columnas_de_grupo
Lenguaje de Manipulación de Datos (DML) Sentencia GROUP BY Ejemplo: Utilizando la base de datos PUBS. Liste las suma de las ventas por año ( ytd_sales ) hasta la fecha, clasificándolas por tipo (TYPE) de titulo (titles). Use Pubs SELECT TYPE,SUM(ytd_sales) FROM titles GROUP BY TYPE –Resultados mostrados por TYPE   Ejemplo: (GRUPOS DENTRO DE GRUPOS). Liste las sumas de las ventas por año (ydt_sales) hasta la fecha, clasificándolas por tipo (TYPE) y pub_id. Use Pubs SELECT TYPE, pub_id,SUM(ytd_sales) from titles Group by TYPE, pub_id - -  El orden de evaluación es TYPE, pub_id
Lenguaje de Manipulación de Datos (DML) Sentencia GROUP BY – CLAUSULA HAVING Esta cláusula se utiliza si se desea especificar cuales grupos van a ser desplegados, o sea, restringir los grupos que retornan. NOMENCLATURA: SELECT columnas FROM Tablas [WHERE OPCIONAL] GROUP BY columnas_para_grupos HAVING condiciones_para_grupos  Ejemplo: Utilizando el ultimo ejemplo. Liste solamente los grupos cuyo pub_id sea igual a 0877. Utilice HAVING SELECT TYPE, pub_id,SUM(ytd_sales) from titles Group by TYPE,pub_id HAVING pub_id = '0877‘  --ACA SE HACE RESTRICCION PARA LOS GRUPOS
Lenguaje de Manipulación de Datos (DML) TABLAS COMBINADAS Una tabla combinada es el resultado de una operación de combinación realizada sobre dos o más tablas. Se pueden realizar varios tipos de combinaciones de tablas: combinaciones internas (inner), externa completa (full outer), externa por la izquierda (left outer), externa por la derecha (rigth outer) y cruzada (cross). Combinación Interna (Inner Join):  Es el tipo de combinación predeterminado; especifica que solamente se han de incluir en el resultado filas de la tabla que satisfagan la condición ON. Para especificar una combinación hay que utilizar la palabra clave JOIN. Se utiliza la palabra clave ON para identificar la condición de búsqueda sobre la cual se basa la combinación. NOMENCLATURA: SELECT  columnas_de_las_tablas FROM  tabla1  JOIN  tabla2  ON  condiciones
Lenguaje de Manipulación de Datos (DML) TABLAS COMBINADAS Combinación Interna (Inner Join) Ejemplo: De la base de datos PUBS. Combine las tablas stores y discounts para mostrar que tienda (stor_id) ofrece un descuento y el tipo de descuento (discounttype).  Use Pubs SELECT s.stor_id as ALMACEN, d.discounttype as DESCUENTO FROM stores s JOIN discounts d  ON s.stor_id = d.stor_id    SELECT s.stor_id as ALMACEN, d.discounttype as DESCUENTO FROM stores as s,discounts as d  WHERE s.stor_id = d.stor_id
Lenguaje de Manipulación de Datos (DML) TABLAS COMBINADAS Combinación externas Completas (full Outer Join) Especifica que se debería incluir en el resultado las filas no coincidentes (filas que no cumplen con la condición ON) así como las filas que coincidan (filas que cumplen la condición ON). En el campo donde no es coincidente la condición se coloca NULL. Ejemplo: Utilice el mismo ejemplo anterior solo utilice en el from la instrucción FULL OUTER JOIN. Use Pubs SELECT s.stor_id as ALMACEN, d.discounttype as DESCUENTO FROM stores s FULL OUTER JOIN discounts d ON s.stor_id = d.stor_id
Lenguaje de Manipulación de Datos (DML) TABLAS COMBINADAS Combinación externa por la izquierda (Left Outer Join) Devuelve las filas coincidentes más todas las filas de la tabla que se especifican a la izquierda de la palabra clave JOIN. Ejemplo: Utilice el mismo ejemplo anterior solo utilice en el from la instrucción LEFT OUTER JOIN. Use Pubs SELECT s.stor_id as ALMACEN, d.discounttype as DESCUENTO FROM stores s  LEFT OUTER JOIN  discounts d ON s.stor_id = d.stor_id
Lenguaje de Manipulación de Datos (DML) TABLAS COMBINADAS Combinación externa por la derecha (Right Outer Join) Es lo contrario a Left Outer Join Ejemplo: Utilice el mismo ejemplo anterior solo utilice en el from la instrucción RIGHT OUTER JOIN. Use Pubs SELECT s.stor_id as ALMACEN, d.discounttype as DESCUENTO FROM stores s  RIGHT OUTER JOIN  discounts d ON s.stor_id = d.stor_id
Lenguaje de Manipulación de Datos (DML) SELECT ANIDADOS En algunas situaciones es necesario utilizar SELECT anidados para resolver cierta necesidades de consultas que no pueden ser resueltas utilizando un único SELECT.  Recordar que al realizar un SELECT se genera una tabla temporal de la lista de selección, esto es lo que realmente hace posible que se puedan generar consultas sobre consultas o condiciones sobre listas de selección. NOMENCLATURA: SELECT Lista_de_selección FROM Tablas o Otros Select. WHERE condiciones [JOIN | SUBCONSULTAS | etc. ]
Lenguaje de Manipulación de Datos (DML) SELECT ANIDADOS Ejemplo: Usando base de datos  Northwind . Muestre los Productos (ID del Producto, Nombre y Precio Unitario) que tengan un precio unitario igual al Máximo.  SELECT ProductID as ID,ProductName as Nombre, UnitPrice as Precio_Unitario  FROM Products WHERE UnitPrice = (SELECT MAX (UnitPrice) FROM Products) Ejemplo: Usando base de datos  Northwind . Muestre los Productos (ID del Producto, Nombre y Precio Unitario) que tengan un precio unitario igual al Mínimo. SELECT ProductID as ID,ProductName as Nombre, UnitPrice as Precio_Unitario  FROM Products WHERE UNITPRICE = (SELECT MIN(UNITPRICE) FROM Products)
Lenguaje de Manipulación de Datos (DML) Operador UNION Este operador mezcla los resultados de dos o más consultas en un solo conjunto de resultados que contiene todas las filas que pertenecen a las consultas de la unión.  Como restricción las columnas que se obtienen por la UNION en ambas consultas deben ser del mismo tipo de datos. NOMENCLATURA: SELECT * FROM TABLAS UNION [ ALL ] SELECT * FROM TABLAS
Lenguaje de Manipulación de Datos (DML) Operador UNION NOTA: Al usar el operador opcional ALL se listan como resultados todas las filas de ambas consultas. Sino no se utiliza ALL se lista la UNION es decir no se listan datos duplicados. Ejemplo: Realice una unión de las consultas anidadas vistas anteriormente. Usando ambas opciones de unión (Con y Sin ALL).  SELECT ProductID as ID,ProductName as Nombre, UnitPrice as Precio_Unitario  FROM Products WHERE UNITPRICE = (SELECT MIN(UNITPRICE) FROM Products) UNION SELECT ProductID as ID,ProductName as Nombre, UnitPrice as Precio_Unitario  FROM Products WHERE UNITPRICE = (SELECT MIN(UNITPRICE) FROM Products)
Lenguaje de Manipulación de Datos (DML) Operador UNION SELECT ProductID as ID,ProductName as Nombre, UnitPrice as Precio_Unitario  FROM Products WHERE UNITPRICE = (SELECT MIN(UNITPRICE) FROM Products) UNION ALL SELECT ProductID as ID,ProductName as Nombre, UnitPrice as Precio_Unitario  FROM Products WHERE UNITPRICE = (SELECT MIN(UNITPRICE) FROM Products)
Lenguaje de Manipulación de Datos (DML) Ejercicio USE BASE DE DATOS PUBS Obtenga la suma de los Precios Unitarios, cuyos productos tengan un precio igual al Máximo precio unitario o al Mínimo precio unitario de la lista de productos.
Bibliografía ,[object Object],[object Object],[object Object],[object Object],[object Object]

Contenu connexe

Tendances

Sql Commands
Sql CommandsSql Commands
Sql Commands
Sachin MK
 
Comandos ddl y dml
Comandos ddl y dmlComandos ddl y dml
Comandos ddl y dml
Gerardo
 

Tendances (20)

Consultas básicas en sql server
Consultas básicas en sql serverConsultas básicas en sql server
Consultas básicas en sql server
 
Proyecto Final Base De Datos
Proyecto Final Base De DatosProyecto Final Base De Datos
Proyecto Final Base De Datos
 
SENTENCIAS DE SQL SERVER
SENTENCIAS DE SQL SERVERSENTENCIAS DE SQL SERVER
SENTENCIAS DE SQL SERVER
 
Ejemplo ddl dml
Ejemplo ddl dmlEjemplo ddl dml
Ejemplo ddl dml
 
introdution to SQL and SQL functions
introdution to SQL and SQL functionsintrodution to SQL and SQL functions
introdution to SQL and SQL functions
 
SQL Overview
SQL OverviewSQL Overview
SQL Overview
 
Normalización de la base de datos (3 formas normales)
Normalización de la base de datos (3 formas normales)Normalización de la base de datos (3 formas normales)
Normalización de la base de datos (3 formas normales)
 
Creación de tablas y relaciones en mysql workbench
Creación de tablas y relaciones en mysql workbenchCreación de tablas y relaciones en mysql workbench
Creación de tablas y relaciones en mysql workbench
 
Vistas
VistasVistas
Vistas
 
Sql Consultas MáS Complejas
Sql Consultas MáS ComplejasSql Consultas MáS Complejas
Sql Consultas MáS Complejas
 
Lista circulares doblemente enlazadas
Lista circulares doblemente enlazadasLista circulares doblemente enlazadas
Lista circulares doblemente enlazadas
 
Vistas en SQL
Vistas en SQLVistas en SQL
Vistas en SQL
 
Modelo Entidad Relación Extendido.
Modelo Entidad Relación Extendido.Modelo Entidad Relación Extendido.
Modelo Entidad Relación Extendido.
 
Normalización de Base de Datos
Normalización de Base de DatosNormalización de Base de Datos
Normalización de Base de Datos
 
Sql Commands
Sql CommandsSql Commands
Sql Commands
 
Manual sql server parte 1
Manual sql server parte 1Manual sql server parte 1
Manual sql server parte 1
 
Comandos ddl y dml
Comandos ddl y dmlComandos ddl y dml
Comandos ddl y dml
 
Comandos SQL
Comandos SQLComandos SQL
Comandos SQL
 
Estructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busquedaEstructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busqueda
 
Introduction to structured query language (sql)
Introduction to structured query language (sql)Introduction to structured query language (sql)
Introduction to structured query language (sql)
 

Similaire à Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)

Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2
Sergio Sanchez
 
Tipos de funciones
Tipos de funcionesTipos de funciones
Tipos de funciones
Pauly778
 
Tipos de funciones
Tipos de funcionesTipos de funciones
Tipos de funciones
Pauly778
 

Similaire à Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado) (20)

Sentencia select
Sentencia selectSentencia select
Sentencia select
 
Consultas de resumen
Consultas de resumenConsultas de resumen
Consultas de resumen
 
Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2
 
SQL Parte 1.pdf
SQL Parte 1.pdfSQL Parte 1.pdf
SQL Parte 1.pdf
 
SQL Parte 1.pdf
SQL Parte 1.pdfSQL Parte 1.pdf
SQL Parte 1.pdf
 
Fundamentos de BD - Unidad 6 lenguaje sql
Fundamentos de BD - Unidad 6 lenguaje sqlFundamentos de BD - Unidad 6 lenguaje sql
Fundamentos de BD - Unidad 6 lenguaje sql
 
Informatica
InformaticaInformatica
Informatica
 
5 utn frba manual access 2010 funciones campos calculados
5  utn frba manual access 2010   funciones   campos calculados5  utn frba manual access 2010   funciones   campos calculados
5 utn frba manual access 2010 funciones campos calculados
 
FORMATO DIAPOSITIVAS - dart y flutter.pptx
FORMATO DIAPOSITIVAS - dart y flutter.pptxFORMATO DIAPOSITIVAS - dart y flutter.pptx
FORMATO DIAPOSITIVAS - dart y flutter.pptx
 
EXCEL
EXCELEXCEL
EXCEL
 
Tipos de funciones
Tipos de funcionesTipos de funciones
Tipos de funciones
 
Tipos de funciones
Tipos de funcionesTipos de funciones
Tipos de funciones
 
Consultas condicionales en sq server
Consultas condicionales en sq serverConsultas condicionales en sq server
Consultas condicionales en sq server
 
8 Guía_Fundamentos de Base de Datos (2).docx
8 Guía_Fundamentos de Base de Datos (2).docx8 Guía_Fundamentos de Base de Datos (2).docx
8 Guía_Fundamentos de Base de Datos (2).docx
 
Ejemploddl dml-ok
Ejemploddl dml-okEjemploddl dml-ok
Ejemploddl dml-ok
 
Que es una consulta
Que es una consultaQue es una consulta
Que es una consulta
 
Unidad III
Unidad IIIUnidad III
Unidad III
 
Apunte practico 1
Apunte practico 1Apunte practico 1
Apunte practico 1
 
Teoria sql
Teoria sqlTeoria sql
Teoria sql
 
LibreOffice Calc Básico
LibreOffice Calc BásicoLibreOffice Calc Básico
LibreOffice Calc Básico
 

Plus de Sergio Sanchez

Unidad 5 TransformacióN Er A Relacional NormalizacióN
Unidad 5 TransformacióN Er A Relacional   NormalizacióNUnidad 5 TransformacióN Er A Relacional   NormalizacióN
Unidad 5 TransformacióN Er A Relacional NormalizacióN
Sergio Sanchez
 
Unidad 4 Modelo De Datos Para La ImplementacióN
Unidad 4 Modelo De Datos Para La ImplementacióNUnidad 4 Modelo De Datos Para La ImplementacióN
Unidad 4 Modelo De Datos Para La ImplementacióN
Sergio Sanchez
 
Unidad 3.1 Prueba De Sistemas
Unidad 3.1 Prueba De SistemasUnidad 3.1 Prueba De Sistemas
Unidad 3.1 Prueba De Sistemas
Sergio Sanchez
 
Unidad 2.3 Prueba De Programas
Unidad 2.3 Prueba De ProgramasUnidad 2.3 Prueba De Programas
Unidad 2.3 Prueba De Programas
Sergio Sanchez
 
Unidad 2.2 Escribiendo El Programa
Unidad 2.2 Escribiendo El ProgramaUnidad 2.2 Escribiendo El Programa
Unidad 2.2 Escribiendo El Programa
Sergio Sanchez
 
Unidad 2.1 DiseñO De Sistemas
Unidad 2.1 DiseñO De SistemasUnidad 2.1 DiseñO De Sistemas
Unidad 2.1 DiseñO De Sistemas
Sergio Sanchez
 
Unidad 1.3 Analisis De Requerimientos
Unidad 1.3 Analisis De RequerimientosUnidad 1.3 Analisis De Requerimientos
Unidad 1.3 Analisis De Requerimientos
Sergio Sanchez
 
Unidad 1.2 B Metodos Agiles 1
Unidad 1.2 B Metodos Agiles  1Unidad 1.2 B Metodos Agiles  1
Unidad 1.2 B Metodos Agiles 1
Sergio Sanchez
 
Unidad 1.2 A IntroduccióN A Los Proceso De Software Modelos Tradicionales
Unidad 1.2 A IntroduccióN A Los Proceso De Software   Modelos TradicionalesUnidad 1.2 A IntroduccióN A Los Proceso De Software   Modelos Tradicionales
Unidad 1.2 A IntroduccióN A Los Proceso De Software Modelos Tradicionales
Sergio Sanchez
 
Unidad 1.1 Que Es La Ing. De Software
Unidad 1.1 Que Es La Ing. De SoftwareUnidad 1.1 Que Es La Ing. De Software
Unidad 1.1 Que Es La Ing. De Software
Sergio Sanchez
 
Unidad 10 Mad Diagrama De Clases
Unidad 10 Mad Diagrama De ClasesUnidad 10 Mad Diagrama De Clases
Unidad 10 Mad Diagrama De Clases
Sergio Sanchez
 
Unidad 9 Patrones De DiseñO
Unidad 9 Patrones De DiseñOUnidad 9 Patrones De DiseñO
Unidad 9 Patrones De DiseñO
Sergio Sanchez
 
Unidad 8 Diagramas De InteraccióN
Unidad 8 Diagramas De InteraccióNUnidad 8 Diagramas De InteraccióN
Unidad 8 Diagramas De InteraccióN
Sergio Sanchez
 
Unidad 7 Mad Modelado DiseñO Contratos Y Casos De Uso Reales
Unidad 7 Mad Modelado DiseñO    Contratos Y Casos De Uso RealesUnidad 7 Mad Modelado DiseñO    Contratos Y Casos De Uso Reales
Unidad 7 Mad Modelado DiseñO Contratos Y Casos De Uso Reales
Sergio Sanchez
 
Unidad 6 Mad Modelado Analsis Diagrama De Secuencia Del Sistema
Unidad 6 Mad Modelado Analsis    Diagrama De Secuencia Del SistemaUnidad 6 Mad Modelado Analsis    Diagrama De Secuencia Del Sistema
Unidad 6 Mad Modelado Analsis Diagrama De Secuencia Del Sistema
Sergio Sanchez
 
Unidad 5 Mad Modelado Analisis Modelo Conceptual
Unidad 5 Mad Modelado Analisis   Modelo ConceptualUnidad 5 Mad Modelado Analisis   Modelo Conceptual
Unidad 5 Mad Modelado Analisis Modelo Conceptual
Sergio Sanchez
 

Plus de Sergio Sanchez (20)

Unidad 6 Lenguaje Sql
Unidad 6 Lenguaje SqlUnidad 6 Lenguaje Sql
Unidad 6 Lenguaje Sql
 
Unidad 5 TransformacióN Er A Relacional NormalizacióN
Unidad 5 TransformacióN Er A Relacional   NormalizacióNUnidad 5 TransformacióN Er A Relacional   NormalizacióN
Unidad 5 TransformacióN Er A Relacional NormalizacióN
 
Unidad 4 Modelo De Datos Para La ImplementacióN
Unidad 4 Modelo De Datos Para La ImplementacióNUnidad 4 Modelo De Datos Para La ImplementacióN
Unidad 4 Modelo De Datos Para La ImplementacióN
 
Unidad 3 Modelamiento De Datos Conceptual
Unidad 3 Modelamiento De Datos ConceptualUnidad 3 Modelamiento De Datos Conceptual
Unidad 3 Modelamiento De Datos Conceptual
 
Unidad 2 Modelo De Datos
Unidad 2 Modelo De DatosUnidad 2 Modelo De Datos
Unidad 2 Modelo De Datos
 
Unidad 1 IntroduccióN A Las Bases De Datos
Unidad 1 IntroduccióN A Las Bases De DatosUnidad 1 IntroduccióN A Las Bases De Datos
Unidad 1 IntroduccióN A Las Bases De Datos
 
Unidad 3.1 Prueba De Sistemas
Unidad 3.1 Prueba De SistemasUnidad 3.1 Prueba De Sistemas
Unidad 3.1 Prueba De Sistemas
 
Unidad 2.3 Prueba De Programas
Unidad 2.3 Prueba De ProgramasUnidad 2.3 Prueba De Programas
Unidad 2.3 Prueba De Programas
 
Unidad 2.2 Escribiendo El Programa
Unidad 2.2 Escribiendo El ProgramaUnidad 2.2 Escribiendo El Programa
Unidad 2.2 Escribiendo El Programa
 
Unidad 2.1 DiseñO De Sistemas
Unidad 2.1 DiseñO De SistemasUnidad 2.1 DiseñO De Sistemas
Unidad 2.1 DiseñO De Sistemas
 
Unidad 1.3 Analisis De Requerimientos
Unidad 1.3 Analisis De RequerimientosUnidad 1.3 Analisis De Requerimientos
Unidad 1.3 Analisis De Requerimientos
 
Unidad 1.2 B Metodos Agiles 1
Unidad 1.2 B Metodos Agiles  1Unidad 1.2 B Metodos Agiles  1
Unidad 1.2 B Metodos Agiles 1
 
Unidad 1.2 A IntroduccióN A Los Proceso De Software Modelos Tradicionales
Unidad 1.2 A IntroduccióN A Los Proceso De Software   Modelos TradicionalesUnidad 1.2 A IntroduccióN A Los Proceso De Software   Modelos Tradicionales
Unidad 1.2 A IntroduccióN A Los Proceso De Software Modelos Tradicionales
 
Unidad 1.1 Que Es La Ing. De Software
Unidad 1.1 Que Es La Ing. De SoftwareUnidad 1.1 Que Es La Ing. De Software
Unidad 1.1 Que Es La Ing. De Software
 
Unidad 10 Mad Diagrama De Clases
Unidad 10 Mad Diagrama De ClasesUnidad 10 Mad Diagrama De Clases
Unidad 10 Mad Diagrama De Clases
 
Unidad 9 Patrones De DiseñO
Unidad 9 Patrones De DiseñOUnidad 9 Patrones De DiseñO
Unidad 9 Patrones De DiseñO
 
Unidad 8 Diagramas De InteraccióN
Unidad 8 Diagramas De InteraccióNUnidad 8 Diagramas De InteraccióN
Unidad 8 Diagramas De InteraccióN
 
Unidad 7 Mad Modelado DiseñO Contratos Y Casos De Uso Reales
Unidad 7 Mad Modelado DiseñO    Contratos Y Casos De Uso RealesUnidad 7 Mad Modelado DiseñO    Contratos Y Casos De Uso Reales
Unidad 7 Mad Modelado DiseñO Contratos Y Casos De Uso Reales
 
Unidad 6 Mad Modelado Analsis Diagrama De Secuencia Del Sistema
Unidad 6 Mad Modelado Analsis    Diagrama De Secuencia Del SistemaUnidad 6 Mad Modelado Analsis    Diagrama De Secuencia Del Sistema
Unidad 6 Mad Modelado Analsis Diagrama De Secuencia Del Sistema
 
Unidad 5 Mad Modelado Analisis Modelo Conceptual
Unidad 5 Mad Modelado Analisis   Modelo ConceptualUnidad 5 Mad Modelado Analisis   Modelo Conceptual
Unidad 5 Mad Modelado Analisis Modelo Conceptual
 

Dernier

Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
241521559
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
silviayucra2
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 

Dernier (10)

Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 

Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)

  • 1. Bases de Datos Unidad VIII Lenguaje SQL “ Lenguaje de Manipulación de Datos (DML) – Consultas Avanzadas” Sergio Sánchez Rios. Ingeniero en Informática – Licenciado en Informática Docente Jornada Parcial Universidad Viña del Mar
  • 2. Lenguaje de Manipulación de Datos (DML) Operadores Especiales Concatenación Permite concatenar en una sola salida varios campos. Los campos deben ser String, sino lo son se pueden trasformar utilizando la operación convert (tipo dato, campo) Ejemplo 1: Utilizando la base de datos Northwind . Genere una lista de selección de la tabla Employees (Empleado) donde solo se genere una columna de salida y esta contenga los campos: EmployeeID, LastName y FirstName. Select convert(nvarchar(2),EmployeeID) + ‘’ + LastName + ‘’ + FirstName as Nombre from Employees
  • 3. Lenguaje de Manipulación de Datos (DML) Operadores Especiales Literales Es cualquier cosa que no sea ni alias ni nombre de columna. Existen dos formas para colocar estos valores anexados a la Lista de Selección. Se puede colocar el mensaje entre comillas simples (‘’) o Colocar el nombre de la columna de salida entre corchetes [ ] = valor de salida. Ejemplo 2: Utilizando la tabla Employees liste las columnas EmployeeID, LastName, FirstName, además envié dos mensajes en conjunto con cada fila utilizando para cada uno una de las opciones de literales. Select EmployeeID, LastName as Apellido, FirstName as Nombre, 'ESTOS SON EMPLEADOS' as Literal, [Otra Forma] = 'Esta es otra forma' from Employees
  • 4. Lenguaje de Manipulación de Datos (DML) Operadores Especiales Between … AND …… Este operador se utiliza en la cláusula where, para poder restringir una lista de selección según un rango de valores. NOMENCLATURA: WHERE Nombre_Columna BETWEEN parametro1 AND parametro2 NOTA: parametro1 (Mínimo) y parametro2 (Máximo) Ejemplo 4: Suponga que queremos ver aquellos productos (Tabla Products) cuyos valores se encuentran entre los 4 y 20 Dólares. Select * from Products where UnitPrice Between 5.0 and 20.0
  • 5. Lenguaje de Manipulación de Datos (DML) Operadores Especiales IN (Lista) Este operador permite verificar si el campo se encuentra en una lista determinada o subconsulta. Retorna verdadero si el campos se encuentra en la lista. NOMENCLATURA: WHERE campo_tabla IN (Lista de datos o Subconsulta) Ejemplo 5: Liste los campos de la tabla productos que tengan exactamente un precio de 18, 19 y 10 dolares. Select * from Products where UnitPrice in (10.0,18.0,19.0)
  • 6. Lenguaje de Manipulación de Datos (DML) Operadores Especiales Like Esta palabra clave indica el patrón de ajuste con una condición de búsqueda. La coincidencia de patrones significa analizar una coincidencia entre una expresión y el patrón especificado en la condición de búsqueda. NOMENCLATURA: Columna_Tabla LIKE Patron_de_Busqueda Si la expresión coincide con el patrón se devuelve un valor booleano TRUE. En caso contrario se devuelve FALSO. La expresión (COLUMNA_TABLA) debe ser de tipo carácter. Los patrones son realmente expresiones de cadena. Y van acompañados de caracteres de comodín, que colocados en a expresión toman un significado especial.
  • 7. Lenguaje de Manipulación de Datos (DML) Operadores Especiales Like Carácter comodín no en rango, coincide con cualquier carácter distinto de m, n, o, p (según ejemplo anterior [ ^ mnop ]. [^ ] Carácter comodín en rango, coincide con cualquier carácter único en el rango o conjunto, tales como [m – p] o [ mnop ], significando que cualquiera de los caracteres puede ser m, n, o ,p. [ ] Subrayado, coincide con un único carácter. _ Símbolo de porcentaje, coincide con una cadena de cero o más caracteres. % Descripción Carácter Comodín
  • 8. Lenguaje de Manipulación de Datos (DML) Operadores Especiales Like Ejemplo 7: Encontrar todos los apellidos (LastName) en la tabla Employees que comiencen con la letra <<S>>. Use el carácter comodín %. SELECT LastName FROM Employees WHERE LastName LIKE 'S%' – Acá se arma la frase con el comodín Ejemplo 8: Para recuperar el apellido de los Empleados cuya primera letra comienza entre <<A>> y <<M>>. Utilice el comodín [ ]. SELECT LastName FROM Employees WHERE LastName LIKE '[A-M ]%'
  • 9. Lenguaje de Manipulación de Datos (DML) Operadores Especiales Like Ejemplo 9: Usar Base de Datos Pubs . Para recuperar la información de un autor cuyo ID comienza con el numero 724, sabiendo que cada ID tiene el formato de tres dígitos seguidos por un guión, seguido por dos dígitos, otro guión y finalmente cuatro dígitos. Utilizar el comodín _ . Select * from authors where au_id LIKE '724-__-____'
  • 10. Lenguaje de Manipulación de Datos (DML) Operadores Especiales IS NULL Realiza un testeo para valores que son Nulos. Retorna True si la columna es NULL sino retorna FALSE. NOMENCLATURA: WHERE Columna IS NULL Ejemplo 10: Usar base de datos Northwind . Liste todos los campos de la tabla Suppliers cuya columna Región sea NULL. Select * from Suppliers where Region is null
  • 11. Lenguaje de Manipulación de Datos (DML) Operadores de Agregado Las funciones de agregado son: SUM, AVG, COUNT, COUNT(*), MAX y MIN Estas funciones generan valores de resumen en los conjuntos de resultados de las consultas. Una función de agregado (con la excepción de COUNT(*)) procesa todos los valores seleccionados en una única columna para generar un único resultado. Las funciones de agregado se pueden aplicar a todas las filas de una tabla, a un subconjunto de la tabla especificado por una cláusula WHERE o a uno o varios grupos de filas de la tabla. Cuando se aplica una función de agregado, se genera un valor individual por cada conjunto de filas.
  • 12. Lenguaje de Manipulación de Datos (DML) Operadores de Agregado Valor menor de la expresión. MIN ( expression ) Valor mayor de la expresión. MAX ( expression ) Número de filas seleccionadas. COUNT (*) Número de valores en la expresión. COUNT ( [ALL | DISTINCT] expression ) Promedio de los valores de la expresión numérica. AVG ( [ALL | DISTINCT] expression ) Total de los valores de la expresión numérica. SUM ( [ALL | DISTINCT] expression ) Resultado Función de agregado
  • 13. Lenguaje de Manipulación de Datos (DML) Operadores de Agregado SUM, AVG, COUNT, MAX y MIN omiten los valores NULL; COUNT(*) no lo hace. La palabra clave opcional DISTINCT se puede usar con SUM, AVG y COUNT para eliminar los valores duplicados antes de que se establezca la función de agregado. SUM y AVG se pueden usar sólo con columnas numéricas, como, por ejemplo, las de los tipos de datos int , smallint , tinyint , decimal , numeric , float , real , money y smallmoney . MIN y MAX no se pueden usar con tipos de datos bit . El resto de las funciones de agregado que no sean COUNT(*) no se puede usar con los tipos de datos text e image .
  • 14. Lenguaje de Manipulación de Datos (DML) Operadores de Agregado SUM Retorna: Total de los valores de la expresión numérica. NOMENCLATURA: SUM (Columna para la suma) Ejemplo: Usando la base de dato PUBS. Calcula la suma de las ventas del año hasta la fecha (ytd_sales) de todos los libros de la tabla titles . USE pubs SELECT SUM(ytd_sales) FROM titles
  • 15. Lenguaje de Manipulación de Datos (DML) Operadores de Agregado AVG Retorna: Promedio de los valores de la expresión numérica. NOMENCLATURA: AVG (Columna a Promediar) Ejemplo: Usando la base de datos PUBS. Puede averiguar el precio promedio de todos los libros si se duplicaran los precios ( tabla titles ). SELECT avg (price * 2) FROM titles
  • 16. Lenguaje de Manipulación de Datos (DML) Operadores de Agregado MAX Retorna: Valor mayor de la expresión. NOMENCLATURA: MAX (Columna a obtener el Máximo valor) Ejemplo: Usando la base de dato PUBS. Muestre el mayor valor de las las ventas del año (ytd_sales) de todos los libros de la tabla titles. USE pubs SELECT MAX(ytd_sales) FROM titles
  • 17. Lenguaje de Manipulación de Datos (DML) Operadores de Agregado MIN Retorna: Valor menor de la expresión. NOMENCLATURA: MIN (Columna a obtener el Mínimo valor) Ejemplo: Usando la base de dato PUBS. Muestre el mínimo valor de las ventas del año (ytd_sales) de todos los libros de la tabla titles. USE pubs SELECT MIN (ytd_sales) FROM titles
  • 18. Lenguaje de Manipulación de Datos (DML) Operadores de Agregado COUNT Retorna: Número de valores en la expresión. En el caso de utilizar (*) retorna el numero de filas. NOMENCLATURA: COUNT (expresión) o COUNT (*) Ejemplo: Usando la base de datos PUBS. Cuente las filas de la tabla titles. Use Pubs SELECT COUNT(*) FROM titles
  • 19. Lenguaje de Manipulación de Datos (DML) Operadores de Agregado COUNT Ejemplo: Usando la base de datos PUBS. Cuente los datos de la tabla titles, cuyo tipo (TYPE) sea business . Use Pubs SELECT COUNT(TYPE) FROM titles WHERE TYPE = ‘business’
  • 20. Lenguaje de Manipulación de Datos (DML) Sentencia GROUP BY Esta sentencia no permite dividir el resultado de una lista de selección en grupos más pequeños. Para poder listar otras columnas con las funciones de agregación se debe utilizar esta sentencia. NOMENCLATURA: SELECT lista _de_seleccion FROM Tablas [WHERE OPCIONAL] GROUP BY Nombre_columnas_de_grupo
  • 21. Lenguaje de Manipulación de Datos (DML) Sentencia GROUP BY Ejemplo: Utilizando la base de datos PUBS. Liste las suma de las ventas por año ( ytd_sales ) hasta la fecha, clasificándolas por tipo (TYPE) de titulo (titles). Use Pubs SELECT TYPE,SUM(ytd_sales) FROM titles GROUP BY TYPE –Resultados mostrados por TYPE Ejemplo: (GRUPOS DENTRO DE GRUPOS). Liste las sumas de las ventas por año (ydt_sales) hasta la fecha, clasificándolas por tipo (TYPE) y pub_id. Use Pubs SELECT TYPE, pub_id,SUM(ytd_sales) from titles Group by TYPE, pub_id - - El orden de evaluación es TYPE, pub_id
  • 22. Lenguaje de Manipulación de Datos (DML) Sentencia GROUP BY – CLAUSULA HAVING Esta cláusula se utiliza si se desea especificar cuales grupos van a ser desplegados, o sea, restringir los grupos que retornan. NOMENCLATURA: SELECT columnas FROM Tablas [WHERE OPCIONAL] GROUP BY columnas_para_grupos HAVING condiciones_para_grupos Ejemplo: Utilizando el ultimo ejemplo. Liste solamente los grupos cuyo pub_id sea igual a 0877. Utilice HAVING SELECT TYPE, pub_id,SUM(ytd_sales) from titles Group by TYPE,pub_id HAVING pub_id = '0877‘ --ACA SE HACE RESTRICCION PARA LOS GRUPOS
  • 23. Lenguaje de Manipulación de Datos (DML) TABLAS COMBINADAS Una tabla combinada es el resultado de una operación de combinación realizada sobre dos o más tablas. Se pueden realizar varios tipos de combinaciones de tablas: combinaciones internas (inner), externa completa (full outer), externa por la izquierda (left outer), externa por la derecha (rigth outer) y cruzada (cross). Combinación Interna (Inner Join): Es el tipo de combinación predeterminado; especifica que solamente se han de incluir en el resultado filas de la tabla que satisfagan la condición ON. Para especificar una combinación hay que utilizar la palabra clave JOIN. Se utiliza la palabra clave ON para identificar la condición de búsqueda sobre la cual se basa la combinación. NOMENCLATURA: SELECT columnas_de_las_tablas FROM tabla1 JOIN tabla2 ON condiciones
  • 24. Lenguaje de Manipulación de Datos (DML) TABLAS COMBINADAS Combinación Interna (Inner Join) Ejemplo: De la base de datos PUBS. Combine las tablas stores y discounts para mostrar que tienda (stor_id) ofrece un descuento y el tipo de descuento (discounttype). Use Pubs SELECT s.stor_id as ALMACEN, d.discounttype as DESCUENTO FROM stores s JOIN discounts d ON s.stor_id = d.stor_id  SELECT s.stor_id as ALMACEN, d.discounttype as DESCUENTO FROM stores as s,discounts as d WHERE s.stor_id = d.stor_id
  • 25. Lenguaje de Manipulación de Datos (DML) TABLAS COMBINADAS Combinación externas Completas (full Outer Join) Especifica que se debería incluir en el resultado las filas no coincidentes (filas que no cumplen con la condición ON) así como las filas que coincidan (filas que cumplen la condición ON). En el campo donde no es coincidente la condición se coloca NULL. Ejemplo: Utilice el mismo ejemplo anterior solo utilice en el from la instrucción FULL OUTER JOIN. Use Pubs SELECT s.stor_id as ALMACEN, d.discounttype as DESCUENTO FROM stores s FULL OUTER JOIN discounts d ON s.stor_id = d.stor_id
  • 26. Lenguaje de Manipulación de Datos (DML) TABLAS COMBINADAS Combinación externa por la izquierda (Left Outer Join) Devuelve las filas coincidentes más todas las filas de la tabla que se especifican a la izquierda de la palabra clave JOIN. Ejemplo: Utilice el mismo ejemplo anterior solo utilice en el from la instrucción LEFT OUTER JOIN. Use Pubs SELECT s.stor_id as ALMACEN, d.discounttype as DESCUENTO FROM stores s LEFT OUTER JOIN discounts d ON s.stor_id = d.stor_id
  • 27. Lenguaje de Manipulación de Datos (DML) TABLAS COMBINADAS Combinación externa por la derecha (Right Outer Join) Es lo contrario a Left Outer Join Ejemplo: Utilice el mismo ejemplo anterior solo utilice en el from la instrucción RIGHT OUTER JOIN. Use Pubs SELECT s.stor_id as ALMACEN, d.discounttype as DESCUENTO FROM stores s RIGHT OUTER JOIN discounts d ON s.stor_id = d.stor_id
  • 28. Lenguaje de Manipulación de Datos (DML) SELECT ANIDADOS En algunas situaciones es necesario utilizar SELECT anidados para resolver cierta necesidades de consultas que no pueden ser resueltas utilizando un único SELECT. Recordar que al realizar un SELECT se genera una tabla temporal de la lista de selección, esto es lo que realmente hace posible que se puedan generar consultas sobre consultas o condiciones sobre listas de selección. NOMENCLATURA: SELECT Lista_de_selección FROM Tablas o Otros Select. WHERE condiciones [JOIN | SUBCONSULTAS | etc. ]
  • 29. Lenguaje de Manipulación de Datos (DML) SELECT ANIDADOS Ejemplo: Usando base de datos Northwind . Muestre los Productos (ID del Producto, Nombre y Precio Unitario) que tengan un precio unitario igual al Máximo. SELECT ProductID as ID,ProductName as Nombre, UnitPrice as Precio_Unitario FROM Products WHERE UnitPrice = (SELECT MAX (UnitPrice) FROM Products) Ejemplo: Usando base de datos Northwind . Muestre los Productos (ID del Producto, Nombre y Precio Unitario) que tengan un precio unitario igual al Mínimo. SELECT ProductID as ID,ProductName as Nombre, UnitPrice as Precio_Unitario FROM Products WHERE UNITPRICE = (SELECT MIN(UNITPRICE) FROM Products)
  • 30. Lenguaje de Manipulación de Datos (DML) Operador UNION Este operador mezcla los resultados de dos o más consultas en un solo conjunto de resultados que contiene todas las filas que pertenecen a las consultas de la unión. Como restricción las columnas que se obtienen por la UNION en ambas consultas deben ser del mismo tipo de datos. NOMENCLATURA: SELECT * FROM TABLAS UNION [ ALL ] SELECT * FROM TABLAS
  • 31. Lenguaje de Manipulación de Datos (DML) Operador UNION NOTA: Al usar el operador opcional ALL se listan como resultados todas las filas de ambas consultas. Sino no se utiliza ALL se lista la UNION es decir no se listan datos duplicados. Ejemplo: Realice una unión de las consultas anidadas vistas anteriormente. Usando ambas opciones de unión (Con y Sin ALL). SELECT ProductID as ID,ProductName as Nombre, UnitPrice as Precio_Unitario FROM Products WHERE UNITPRICE = (SELECT MIN(UNITPRICE) FROM Products) UNION SELECT ProductID as ID,ProductName as Nombre, UnitPrice as Precio_Unitario FROM Products WHERE UNITPRICE = (SELECT MIN(UNITPRICE) FROM Products)
  • 32. Lenguaje de Manipulación de Datos (DML) Operador UNION SELECT ProductID as ID,ProductName as Nombre, UnitPrice as Precio_Unitario FROM Products WHERE UNITPRICE = (SELECT MIN(UNITPRICE) FROM Products) UNION ALL SELECT ProductID as ID,ProductName as Nombre, UnitPrice as Precio_Unitario FROM Products WHERE UNITPRICE = (SELECT MIN(UNITPRICE) FROM Products)
  • 33. Lenguaje de Manipulación de Datos (DML) Ejercicio USE BASE DE DATOS PUBS Obtenga la suma de los Precios Unitarios, cuyos productos tengan un precio igual al Máximo precio unitario o al Mínimo precio unitario de la lista de productos.
  • 34.