SlideShare una empresa de Scribd logo
1 de 16
[70-461]
Querying Microsoft SQL Server 2012
/ITPROS-DC/ITProsDCITPROS DC
http://itpros-dc.com
COMPARTIR EL CONOCIMIENTO, NUESTRA PASIÓN
SESIÓN # 6
• Group By
• Having
• SubConsultas
• Vistas
• Procedimientos Almacenados
• Taller
GROUP BY
• GROUP BY crea grupos de registros de acuerdo a lo especificado en la sentencia
GROUP BY
• GROUP BY calcula un un valor de resumen para las funciones de agregación.
SELECT <select_list>
FROM <table_source>
WHERE <search_condition>
GROUP BY <group_by_list>;
SELECT empid, COUNT(*) AS cnt
FROM Sales.Orders
GROUP BY empid;
Lógica de GROUP BY • Si una consulta utiliza GROUP BY, en
Adelante todas las fases posteriores
operan sobre los grupos y no sobre los
datos de origen.
• Todas las columnas en SELECT, HAVING,
and ORDER BY deben aparecer en la
clausula GROUP BY.
Logical
Order
Phase Comments
5 SELECT
1 FROM
2 WHERE
3 GROUP BY Creates groups
4 HAVING Operates on groups
6 ORDER BY
GROUP BY Workflow
orderid empid custid
10643 6 1
10692 4 1
10926 4 2
10625 3 2
10365 3 3
orderid empid custid
10643 6 1
10692 4 1
10926 4 2
10625 3 2
empid COUNT(*)
6 1
4 2
3 1
GROUP BY empid
WHERE custid IN(1,2)
SELECT orderid, empid, custid
FROM Sales.Orders;
GROUP BY con funciones de agregado
• Las funciones de agregación se usan comunmente en la sentencia
SELECT, resumida por grupo.
SELECT productid, MAX(qty) AS largest_order
FROM Sales.OrderDetails
GROUP BY productid;
SELECT custid, COUNT(*) AS cnt
FROM Sales.Orders
GROUP BY custid;
HAVING
• HAVING es la condición de busqueda para la sentencia
GROUP BY
• HAVING es procesado despues de GROUP BY
SELECT custid, COUNT(*) AS count_orders
FROM Sales.Orders
GROUP BY custid
HAVING COUNT(*) > 10;
SubConsultas
• Son consultas anidadas dentro de consultas
• Resultados de la columna interna pasan a la columna
externa.
• Pueden ser escalares, valores multiples
Scalar
• Retorna un solo valor de la consulta
• Puede ser usado en cualquier lugar: SELECT, WHERE, y so
on
• Si la consulta retorna un valor vacio la consulta se vuelve
NULL
SELECT orderid, productid, unitprice, qty
FROM Sales.OrderDetails
WHERE orderid =
(SELECT MAX(orderid) AS lastorder
FROM Sales.Orders);
Consulta multiples valores
SELECT custid, orderid
FROM Sales.orders
WHERE custid IN (
SELECT custid
FROM Sales.Customers
WHERE country = N'Mexico');
Vistas
CREATE VIEW "NOMBRE_VISTA" AS "Instrucción SQL";
Las vistas pueden considerarse como tablas virtuales. Generalmente hablando, una
tabla tiene un conjunto de definiciones, y almacena datos físicamente. Una vista
también tiene un conjunto de definiciones, que se construye en la parte superior de
la(s) tabla(s) u otra(s) vista(s), y no almacena datos físicamente.
CREATE VIEW HR.EmpPhoneList
AS
SELECT empid, lastname, firstname, phone
FROM HR.Employees;
Procedimiento Almacenados
Los procedimientos almacenados pueden recibir y devolver información;
para ello se emplean parámetros, de entrada y salida, respectivamente.
La sintaxis es:
create procedure NOMBREPROCEDIMIENTO
@NOMBREPARAMETRO TIPO =VALORPORDEFECTO
as SENTENCIAS;
Los parámetros se definen luego del nombre del procedimiento,
comenzando el nombre con un signo arroba (@).
Procedimientos Almacenados
Creamos un procedimiento que recibe el nombre de un autor como parámetro para mostrar todos los libros del autor
solicitado:
create procedure pa_libros_autor
@autor varchar(30)
as
select titulo, editorial,precio
from libros
where autor= @autor;
El procedimiento se ejecuta colocando "execute" (o "exec") seguido del nombre del procedimiento y un valor para el
parámetro:
exec pa_libros_autor 'Borges';
Procedimientos Almacenados
Creamos un procedimiento que recibe 2 parámetros, el nombre de un autor y el de una editorial:
create procedure pa_libros_autor_editorial
@autor varchar(30),
@editorial varchar(20)
as
select titulo, precio
from libros
where autor= @autor and
editorial=@editorial;
El procedimiento se ejecuta colocando "execute" (o "exec") seguido del nombre del procedimiento y los
valores para los parámetros separados por comas:
exec pa_libros_autor_editorial 'Richard Bach','Planeta';
Referencias
• http://www.microsoftvirtualacademy.com/training-courses/querying-microsoft-sql-server-2012-
databases-jump-start-spanish
• http://www.labitacorabd.blogspot.com
• http://www.sqlpass.org/
• http://www.mundosql.es/

Más contenido relacionado

La actualidad más candente

Sesión04 - Diccionario de datos (Oracle)
Sesión04 - Diccionario de datos (Oracle)Sesión04 - Diccionario de datos (Oracle)
Sesión04 - Diccionario de datos (Oracle)José Toro
 
05 Sql Profundizacion
05 Sql Profundizacion05 Sql Profundizacion
05 Sql ProfundizacionKudos S.A.S
 
MANEJO DE SENTENCIAS DE DEFINICION
MANEJO DE SENTENCIAS DE DEFINICIONMANEJO DE SENTENCIAS DE DEFINICION
MANEJO DE SENTENCIAS DE DEFINICIONSergio Perez
 
Técnicas avanzadas de consultas con sql server 2014
Técnicas avanzadas de consultas con sql server 2014Técnicas avanzadas de consultas con sql server 2014
Técnicas avanzadas de consultas con sql server 2014JOSE AHIAS LOPEZ PORTILLO
 
Programación MySQL-Ejercicios
Programación MySQL-EjerciciosProgramación MySQL-Ejercicios
Programación MySQL-Ejerciciostestgrupocomex
 
Breve resumen sobre consultas básicas en MySQL
Breve resumen sobre consultas básicas en MySQLBreve resumen sobre consultas básicas en MySQL
Breve resumen sobre consultas básicas en MySQLTotus Muertos
 
Vistas En Sql Y My Sql
Vistas En Sql Y My SqlVistas En Sql Y My Sql
Vistas En Sql Y My SqlZiscko
 
Evolucion de PostgreSQL hasta 9.4
Evolucion de PostgreSQL hasta 9.4Evolucion de PostgreSQL hasta 9.4
Evolucion de PostgreSQL hasta 9.4Anthony Sotolongo
 
Manual basico del_lenguaje_sql
Manual basico del_lenguaje_sqlManual basico del_lenguaje_sql
Manual basico del_lenguaje_sqlTomas Castle
 
Comandos mysql
Comandos mysqlComandos mysql
Comandos mysqlpolar
 
Lenguaje transact sql
Lenguaje transact sqlLenguaje transact sql
Lenguaje transact sqlSuarezJhon
 
Funciones de sql server
Funciones de sql serverFunciones de sql server
Funciones de sql serverEmily_Fdez
 
Lenguaje estructurado de consulta sql
Lenguaje estructurado de consulta sqlLenguaje estructurado de consulta sql
Lenguaje estructurado de consulta sqljoshelo97
 
Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos josecuartas
 
Objetos de Esquema de Oracle Database Z052-09
Objetos de Esquema de Oracle Database Z052-09Objetos de Esquema de Oracle Database Z052-09
Objetos de Esquema de Oracle Database Z052-09Alexander Calderón
 
Sesión12 - Trigger (Oracle)
Sesión12 - Trigger (Oracle)Sesión12 - Trigger (Oracle)
Sesión12 - Trigger (Oracle)José Toro
 

La actualidad más candente (20)

Sesión04 - Diccionario de datos (Oracle)
Sesión04 - Diccionario de datos (Oracle)Sesión04 - Diccionario de datos (Oracle)
Sesión04 - Diccionario de datos (Oracle)
 
05 Sql Profundizacion
05 Sql Profundizacion05 Sql Profundizacion
05 Sql Profundizacion
 
MANEJO DE SENTENCIAS DE DEFINICION
MANEJO DE SENTENCIAS DE DEFINICIONMANEJO DE SENTENCIAS DE DEFINICION
MANEJO DE SENTENCIAS DE DEFINICION
 
Técnicas avanzadas de consultas con sql server 2014
Técnicas avanzadas de consultas con sql server 2014Técnicas avanzadas de consultas con sql server 2014
Técnicas avanzadas de consultas con sql server 2014
 
Programación MySQL-Ejercicios
Programación MySQL-EjerciciosProgramación MySQL-Ejercicios
Programación MySQL-Ejercicios
 
Breve resumen sobre consultas básicas en MySQL
Breve resumen sobre consultas básicas en MySQLBreve resumen sobre consultas básicas en MySQL
Breve resumen sobre consultas básicas en MySQL
 
Vistas En Sql Y My Sql
Vistas En Sql Y My SqlVistas En Sql Y My Sql
Vistas En Sql Y My Sql
 
Evolucion de PostgreSQL hasta 9.4
Evolucion de PostgreSQL hasta 9.4Evolucion de PostgreSQL hasta 9.4
Evolucion de PostgreSQL hasta 9.4
 
Manual basico del_lenguaje_sql
Manual basico del_lenguaje_sqlManual basico del_lenguaje_sql
Manual basico del_lenguaje_sql
 
Comandos mysql
Comandos mysqlComandos mysql
Comandos mysql
 
Lenguaje transact sql
Lenguaje transact sqlLenguaje transact sql
Lenguaje transact sql
 
Wenas wenas
Wenas wenasWenas wenas
Wenas wenas
 
Tuning fondo-negro-2
Tuning fondo-negro-2Tuning fondo-negro-2
Tuning fondo-negro-2
 
Funciones de sql server
Funciones de sql serverFunciones de sql server
Funciones de sql server
 
Lenguaje estructurado de consulta sql
Lenguaje estructurado de consulta sqlLenguaje estructurado de consulta sql
Lenguaje estructurado de consulta sql
 
Sql2
Sql2Sql2
Sql2
 
Objeto SqlDataReader
Objeto SqlDataReaderObjeto SqlDataReader
Objeto SqlDataReader
 
Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos
 
Objetos de Esquema de Oracle Database Z052-09
Objetos de Esquema de Oracle Database Z052-09Objetos de Esquema de Oracle Database Z052-09
Objetos de Esquema de Oracle Database Z052-09
 
Sesión12 - Trigger (Oracle)
Sesión12 - Trigger (Oracle)Sesión12 - Trigger (Oracle)
Sesión12 - Trigger (Oracle)
 

Similar a Sesión 6

Teoria procedimientos almacenados
Teoria procedimientos almacenadosTeoria procedimientos almacenados
Teoria procedimientos almacenadoshirmaroxana13
 
SQL Server Fundamentals 3ra Sesion
SQL Server Fundamentals 3ra SesionSQL Server Fundamentals 3ra Sesion
SQL Server Fundamentals 3ra SesionJulián Castiblanco
 
Programacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datosProgramacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datosJosé Antonio Sandoval Acosta
 
Trabajo grupal - Base de Datos
Trabajo grupal - Base de DatosTrabajo grupal - Base de Datos
Trabajo grupal - Base de DatosMIROSLAVY
 
7.1. procedimientos almacenados
7.1.  procedimientos almacenados7.1.  procedimientos almacenados
7.1. procedimientos almacenadosJorge Luis Lopez M
 
Base de Datos(Funciones, Vistas,Procedimientos Almacenados,Triggers)
Base de Datos(Funciones, Vistas,Procedimientos Almacenados,Triggers)Base de Datos(Funciones, Vistas,Procedimientos Almacenados,Triggers)
Base de Datos(Funciones, Vistas,Procedimientos Almacenados,Triggers)Universidad Nacional de Piura
 
Base de-datos-ii
Base de-datos-iiBase de-datos-ii
Base de-datos-iiLuis Carmen
 
Database fundamental itprosdc_chapter2
Database fundamental itprosdc_chapter2Database fundamental itprosdc_chapter2
Database fundamental itprosdc_chapter2Julián Castiblanco
 
IntroduccióN A Sql Server 2005
IntroduccióN A Sql Server 2005IntroduccióN A Sql Server 2005
IntroduccióN A Sql Server 2005oswchavez
 
Data Warehouse en las empresas y negocios.pdf
Data Warehouse en las empresas y negocios.pdfData Warehouse en las empresas y negocios.pdf
Data Warehouse en las empresas y negocios.pdfexpertoleonelmartine
 
Funciones store proc_triggers
Funciones store proc_triggersFunciones store proc_triggers
Funciones store proc_triggersLuis Jherry
 
TRANSACCIONES, TRIGGERS, PROCEDIMIENTOS ALMACENADOS: DB2/IBM
TRANSACCIONES, TRIGGERS, PROCEDIMIENTOS ALMACENADOS: DB2/IBM   TRANSACCIONES, TRIGGERS, PROCEDIMIENTOS ALMACENADOS: DB2/IBM
TRANSACCIONES, TRIGGERS, PROCEDIMIENTOS ALMACENADOS: DB2/IBM Kamisutra
 

Similar a Sesión 6 (20)

Teoria procedimientos almacenados
Teoria procedimientos almacenadosTeoria procedimientos almacenados
Teoria procedimientos almacenados
 
SQL Server Fundamentals 3ra Sesion
SQL Server Fundamentals 3ra SesionSQL Server Fundamentals 3ra Sesion
SQL Server Fundamentals 3ra Sesion
 
7.1. procedimientos almacenados
7.1.  procedimientos almacenados7.1.  procedimientos almacenados
7.1. procedimientos almacenados
 
Programacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datosProgramacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datos
 
Trabajo grupal - Base de Datos
Trabajo grupal - Base de DatosTrabajo grupal - Base de Datos
Trabajo grupal - Base de Datos
 
procedimientos almacenados
 procedimientos almacenados procedimientos almacenados
procedimientos almacenados
 
Procedimientos y funciones
Procedimientos y funcionesProcedimientos y funciones
Procedimientos y funciones
 
Taller de Base de Datos - Unidad 6 SQL procedural
Taller de Base de Datos - Unidad 6 SQL proceduralTaller de Base de Datos - Unidad 6 SQL procedural
Taller de Base de Datos - Unidad 6 SQL procedural
 
Postgresql expo
Postgresql expoPostgresql expo
Postgresql expo
 
7.1. procedimientos almacenados
7.1.  procedimientos almacenados7.1.  procedimientos almacenados
7.1. procedimientos almacenados
 
Base de Datos(Funciones, Vistas,Procedimientos Almacenados,Triggers)
Base de Datos(Funciones, Vistas,Procedimientos Almacenados,Triggers)Base de Datos(Funciones, Vistas,Procedimientos Almacenados,Triggers)
Base de Datos(Funciones, Vistas,Procedimientos Almacenados,Triggers)
 
Base de-datos-ii
Base de-datos-iiBase de-datos-ii
Base de-datos-ii
 
Database fundamental itprosdc_chapter2
Database fundamental itprosdc_chapter2Database fundamental itprosdc_chapter2
Database fundamental itprosdc_chapter2
 
IntroduccióN A Sql Server 2005
IntroduccióN A Sql Server 2005IntroduccióN A Sql Server 2005
IntroduccióN A Sql Server 2005
 
Ejemplo Base de Datos SQLite (Android)
Ejemplo Base de Datos SQLite (Android)Ejemplo Base de Datos SQLite (Android)
Ejemplo Base de Datos SQLite (Android)
 
Data Warehouse en las empresas y negocios.pdf
Data Warehouse en las empresas y negocios.pdfData Warehouse en las empresas y negocios.pdf
Data Warehouse en las empresas y negocios.pdf
 
Funciones store proc_triggers
Funciones store proc_triggersFunciones store proc_triggers
Funciones store proc_triggers
 
Tutorial sql server
Tutorial sql serverTutorial sql server
Tutorial sql server
 
Todomir
TodomirTodomir
Todomir
 
TRANSACCIONES, TRIGGERS, PROCEDIMIENTOS ALMACENADOS: DB2/IBM
TRANSACCIONES, TRIGGERS, PROCEDIMIENTOS ALMACENADOS: DB2/IBM   TRANSACCIONES, TRIGGERS, PROCEDIMIENTOS ALMACENADOS: DB2/IBM
TRANSACCIONES, TRIGGERS, PROCEDIMIENTOS ALMACENADOS: DB2/IBM
 

Último

La importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresaLa importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresamerca6
 
LA LEY DE LAS XII TABLAS en el curso de derecho
LA LEY DE LAS XII TABLAS en el curso de derechoLA LEY DE LAS XII TABLAS en el curso de derecho
LA LEY DE LAS XII TABLAS en el curso de derechojuliosabino1
 
bases-cye-2024(2) una sola descarga en base de feria de
bases-cye-2024(2) una sola descarga en base de feria debases-cye-2024(2) una sola descarga en base de feria de
bases-cye-2024(2) una sola descarga en base de feria deCalet Cáceres Vergara
 
2 PROCESO ESTADISTICO PARA LA INVESTIGACION.pdf
2 PROCESO ESTADISTICO PARA LA INVESTIGACION.pdf2 PROCESO ESTADISTICO PARA LA INVESTIGACION.pdf
2 PROCESO ESTADISTICO PARA LA INVESTIGACION.pdfAnaBelindaArmellonHi
 
Qué es un Histograma estadístico teoria y problema
Qué es un Histograma estadístico teoria y problemaQué es un Histograma estadístico teoria y problema
Qué es un Histograma estadístico teoria y problemaJoellyAlejandraRodrg
 
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdfPREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdfluisccollana
 
Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdf
Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdfCritica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdf
Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdfRodrigoBenitez38
 
triptico-de-las-drogas en la adolescencia
triptico-de-las-drogas en la adolescenciatriptico-de-las-drogas en la adolescencia
triptico-de-las-drogas en la adolescenciaferg6120
 
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdfREPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdfIrapuatoCmovamos
 
SUNEDU - Superintendencia Nacional de Educación superior Universitaria
SUNEDU - Superintendencia Nacional de Educación superior UniversitariaSUNEDU - Superintendencia Nacional de Educación superior Universitaria
SUNEDU - Superintendencia Nacional de Educación superior Universitariachayananazcosimeon
 
Técnica palatina baja, anestesiología dental
Técnica palatina baja, anestesiología dentalTécnica palatina baja, anestesiología dental
Técnica palatina baja, anestesiología dentalIngrid459352
 
Data Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datosData Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datosssuser948499
 
Las mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdfLas mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdfJC Díaz Herrera
 
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdf
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdfREPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdf
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdfIrapuatoCmovamos
 
Análisis de datos en acción: Optimizando el crecimiento de Cyclistic
Análisis de datos en acción: Optimizando el crecimiento de CyclisticAnálisis de datos en acción: Optimizando el crecimiento de Cyclistic
Análisis de datos en acción: Optimizando el crecimiento de CyclisticJamithGarcia1
 
Unidad 3 Elementos y compuestos. Física y química
Unidad 3 Elementos y compuestos. Física y químicaUnidad 3 Elementos y compuestos. Física y química
Unidad 3 Elementos y compuestos. Física y químicaSilvia García
 
obras-hidraulicas.docxfffffffffffffffffff
obras-hidraulicas.docxfffffffffffffffffffobras-hidraulicas.docxfffffffffffffffffff
obras-hidraulicas.docxfffffffffffffffffffJefersonBazalloCarri1
 
Los artistas mexicanos con más ventas de discos en la historia (2024).pdf
Los artistas mexicanos con más ventas de discos en la historia (2024).pdfLos artistas mexicanos con más ventas de discos en la historia (2024).pdf
Los artistas mexicanos con más ventas de discos en la historia (2024).pdfJC Díaz Herrera
 
tipos de organización y sus objetivos y aplicación
tipos de organización y sus objetivos y aplicacióntipos de organización y sus objetivos y aplicación
tipos de organización y sus objetivos y aplicaciónJonathanAntonioMaldo
 
Cuáles son las características biológicas que están marcadas en tu individual...
Cuáles son las características biológicas que están marcadas en tu individual...Cuáles son las características biológicas que están marcadas en tu individual...
Cuáles son las características biológicas que están marcadas en tu individual...israel garcia
 

Último (20)

La importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresaLa importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresa
 
LA LEY DE LAS XII TABLAS en el curso de derecho
LA LEY DE LAS XII TABLAS en el curso de derechoLA LEY DE LAS XII TABLAS en el curso de derecho
LA LEY DE LAS XII TABLAS en el curso de derecho
 
bases-cye-2024(2) una sola descarga en base de feria de
bases-cye-2024(2) una sola descarga en base de feria debases-cye-2024(2) una sola descarga en base de feria de
bases-cye-2024(2) una sola descarga en base de feria de
 
2 PROCESO ESTADISTICO PARA LA INVESTIGACION.pdf
2 PROCESO ESTADISTICO PARA LA INVESTIGACION.pdf2 PROCESO ESTADISTICO PARA LA INVESTIGACION.pdf
2 PROCESO ESTADISTICO PARA LA INVESTIGACION.pdf
 
Qué es un Histograma estadístico teoria y problema
Qué es un Histograma estadístico teoria y problemaQué es un Histograma estadístico teoria y problema
Qué es un Histograma estadístico teoria y problema
 
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdfPREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
 
Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdf
Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdfCritica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdf
Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdf
 
triptico-de-las-drogas en la adolescencia
triptico-de-las-drogas en la adolescenciatriptico-de-las-drogas en la adolescencia
triptico-de-las-drogas en la adolescencia
 
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdfREPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
 
SUNEDU - Superintendencia Nacional de Educación superior Universitaria
SUNEDU - Superintendencia Nacional de Educación superior UniversitariaSUNEDU - Superintendencia Nacional de Educación superior Universitaria
SUNEDU - Superintendencia Nacional de Educación superior Universitaria
 
Técnica palatina baja, anestesiología dental
Técnica palatina baja, anestesiología dentalTécnica palatina baja, anestesiología dental
Técnica palatina baja, anestesiología dental
 
Data Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datosData Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datos
 
Las mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdfLas mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdf
 
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdf
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdfREPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdf
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdf
 
Análisis de datos en acción: Optimizando el crecimiento de Cyclistic
Análisis de datos en acción: Optimizando el crecimiento de CyclisticAnálisis de datos en acción: Optimizando el crecimiento de Cyclistic
Análisis de datos en acción: Optimizando el crecimiento de Cyclistic
 
Unidad 3 Elementos y compuestos. Física y química
Unidad 3 Elementos y compuestos. Física y químicaUnidad 3 Elementos y compuestos. Física y química
Unidad 3 Elementos y compuestos. Física y química
 
obras-hidraulicas.docxfffffffffffffffffff
obras-hidraulicas.docxfffffffffffffffffffobras-hidraulicas.docxfffffffffffffffffff
obras-hidraulicas.docxfffffffffffffffffff
 
Los artistas mexicanos con más ventas de discos en la historia (2024).pdf
Los artistas mexicanos con más ventas de discos en la historia (2024).pdfLos artistas mexicanos con más ventas de discos en la historia (2024).pdf
Los artistas mexicanos con más ventas de discos en la historia (2024).pdf
 
tipos de organización y sus objetivos y aplicación
tipos de organización y sus objetivos y aplicacióntipos de organización y sus objetivos y aplicación
tipos de organización y sus objetivos y aplicación
 
Cuáles son las características biológicas que están marcadas en tu individual...
Cuáles son las características biológicas que están marcadas en tu individual...Cuáles son las características biológicas que están marcadas en tu individual...
Cuáles son las características biológicas que están marcadas en tu individual...
 

Sesión 6

  • 1. [70-461] Querying Microsoft SQL Server 2012 /ITPROS-DC/ITProsDCITPROS DC http://itpros-dc.com COMPARTIR EL CONOCIMIENTO, NUESTRA PASIÓN
  • 2. SESIÓN # 6 • Group By • Having • SubConsultas • Vistas • Procedimientos Almacenados • Taller
  • 3. GROUP BY • GROUP BY crea grupos de registros de acuerdo a lo especificado en la sentencia GROUP BY • GROUP BY calcula un un valor de resumen para las funciones de agregación. SELECT <select_list> FROM <table_source> WHERE <search_condition> GROUP BY <group_by_list>; SELECT empid, COUNT(*) AS cnt FROM Sales.Orders GROUP BY empid;
  • 4. Lógica de GROUP BY • Si una consulta utiliza GROUP BY, en Adelante todas las fases posteriores operan sobre los grupos y no sobre los datos de origen. • Todas las columnas en SELECT, HAVING, and ORDER BY deben aparecer en la clausula GROUP BY. Logical Order Phase Comments 5 SELECT 1 FROM 2 WHERE 3 GROUP BY Creates groups 4 HAVING Operates on groups 6 ORDER BY
  • 5. GROUP BY Workflow orderid empid custid 10643 6 1 10692 4 1 10926 4 2 10625 3 2 10365 3 3 orderid empid custid 10643 6 1 10692 4 1 10926 4 2 10625 3 2 empid COUNT(*) 6 1 4 2 3 1 GROUP BY empid WHERE custid IN(1,2) SELECT orderid, empid, custid FROM Sales.Orders;
  • 6. GROUP BY con funciones de agregado • Las funciones de agregación se usan comunmente en la sentencia SELECT, resumida por grupo. SELECT productid, MAX(qty) AS largest_order FROM Sales.OrderDetails GROUP BY productid; SELECT custid, COUNT(*) AS cnt FROM Sales.Orders GROUP BY custid;
  • 7. HAVING • HAVING es la condición de busqueda para la sentencia GROUP BY • HAVING es procesado despues de GROUP BY SELECT custid, COUNT(*) AS count_orders FROM Sales.Orders GROUP BY custid HAVING COUNT(*) > 10;
  • 8. SubConsultas • Son consultas anidadas dentro de consultas • Resultados de la columna interna pasan a la columna externa. • Pueden ser escalares, valores multiples
  • 9. Scalar • Retorna un solo valor de la consulta • Puede ser usado en cualquier lugar: SELECT, WHERE, y so on • Si la consulta retorna un valor vacio la consulta se vuelve NULL SELECT orderid, productid, unitprice, qty FROM Sales.OrderDetails WHERE orderid = (SELECT MAX(orderid) AS lastorder FROM Sales.Orders);
  • 10. Consulta multiples valores SELECT custid, orderid FROM Sales.orders WHERE custid IN ( SELECT custid FROM Sales.Customers WHERE country = N'Mexico');
  • 11. Vistas CREATE VIEW "NOMBRE_VISTA" AS "Instrucción SQL"; Las vistas pueden considerarse como tablas virtuales. Generalmente hablando, una tabla tiene un conjunto de definiciones, y almacena datos físicamente. Una vista también tiene un conjunto de definiciones, que se construye en la parte superior de la(s) tabla(s) u otra(s) vista(s), y no almacena datos físicamente. CREATE VIEW HR.EmpPhoneList AS SELECT empid, lastname, firstname, phone FROM HR.Employees;
  • 12. Procedimiento Almacenados Los procedimientos almacenados pueden recibir y devolver información; para ello se emplean parámetros, de entrada y salida, respectivamente. La sintaxis es: create procedure NOMBREPROCEDIMIENTO @NOMBREPARAMETRO TIPO =VALORPORDEFECTO as SENTENCIAS; Los parámetros se definen luego del nombre del procedimiento, comenzando el nombre con un signo arroba (@).
  • 13. Procedimientos Almacenados Creamos un procedimiento que recibe el nombre de un autor como parámetro para mostrar todos los libros del autor solicitado: create procedure pa_libros_autor @autor varchar(30) as select titulo, editorial,precio from libros where autor= @autor; El procedimiento se ejecuta colocando "execute" (o "exec") seguido del nombre del procedimiento y un valor para el parámetro: exec pa_libros_autor 'Borges';
  • 14. Procedimientos Almacenados Creamos un procedimiento que recibe 2 parámetros, el nombre de un autor y el de una editorial: create procedure pa_libros_autor_editorial @autor varchar(30), @editorial varchar(20) as select titulo, precio from libros where autor= @autor and editorial=@editorial; El procedimiento se ejecuta colocando "execute" (o "exec") seguido del nombre del procedimiento y los valores para los parámetros separados por comas: exec pa_libros_autor_editorial 'Richard Bach','Planeta';
  • 15.

Notas del editor

  1. The next topic will review the logical order of operations and expand on the last bullet.
  2. Note: Columns referenced in clauses processed subsequent to the GROUP BY clause must either be specified in a GROUP BY list or in an aggregate function. This is because the output of the GROUP BY clause is a new set (derived from but separate from the set returned by the FROM/WHERE clauses).
  3. The slide images flow clockwise from upper right to lower center, illustrating the phases of the query being processed. Note: For illustration purposes, the SELECT phase is included, and is depicted as the final query output. The result of the GROUP BY isn't yet a row per group – that's the result of the SELECT. The result of the GROUP BY is that the rows returned from the previous phase (the WHERE) are now associated with their respective groups. Remind the students that, since the final query result will have only one row per group, the expressions moving forward are restricted to aggregates and columns used in the GROUP BY. Source queries: SELECT orderid, empid, custid FROM Sales.Orders; SELECT orderid, empid, custid FROM Sales.Orders WHERE CUSTID <>3; SELECT empid, COUNT(*) FROM Sales.Orders WHERE CUSTID <>3 GROUP BY empid;
  4. Note: Columns referenced in clauses (HAVING, SELECT) processed subsequent to GROUP BY clause must either be specified in a GROUP BY list or an aggregate function. This is because the output of the GROUP BY clause is a new set (derived from but separate from the set returned by the FROM/WHERE clauses).
  5. You may wish to remind students of the definitions of terms such as predicate, filter, and search condition provided earlier in the course.
  6. Note that self-contained subqueries are easier to test, separate from the outer query.
  7. The example returns details about the most recent order. This is the error returned if the inner query is not scalar and the outer is written to expect a single value: Msg 512, Level 16, State 1, Line 1 Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when it is used as an expression.
  8. The example returns information about orders placed by customers in Mexico. This may be rewritten as a JOIN: SELECT c.custid, o.orderid FROM Sales.Customers AS c JOIN Sales.Orders AS o ON c.custid = o.custid WHERE c.country = 'Mexico‘ Point out to the students that sometimes it’s easier to write and test a query one piece at a time, in which case a subquery may be more accessible.
  9. The example returns information about orders placed by customers in Mexico. This may be rewritten as a JOIN: SELECT c.custid, o.orderid FROM Sales.Customers AS c JOIN Sales.Orders AS o ON c.custid = o.custid WHERE c.country = 'Mexico‘ Point out to the students that sometimes it’s easier to write and test a query one piece at a time, in which case a subquery may be more accessible.