SlideShare una empresa de Scribd logo
Julián Castiblanco P.
http://julycastiblanco.blogspot.com/
Julian_castiblancop@hotmail.com
MCT-MCITP-MCTS SQL Server 2008/2005
Líder ITPros-DC



      SESIÓN 4- deepen queries
Agenda Tercera Sesión

•   Sentencia Where
•   Formateo de resultados
•   Agrupación de datos y resumen
•   Funciones de clasificación
•   Sentencia Join
Consultas simples – Filtros Básicos

            SELECT Campos a traer
      INTO Insertarlos en una nueva tabla
              FROM Tabla Origen
           WHERE Condición de filtro
        GROUP BY Expresión Agrupación
         HAVING Filtro de agrupación
ORDER BY Expresión de ordenamiento (ASC|DESC)
Sentencia - WHERE

•   Se utilizan para limitar las filas que serán devueltas en una consultan.



                Comparación: =,<,>,>=,<=,!=

                  Cadenas: LIKE, CONTAINTS,
                         FREETEXT
             Logical: AND, OR, NOT, IN, ALL,
                   ANY, SOME, EXISTS
Sentencia - WHERE

                                                   SELECT DISTINCT ProductName
SELECT [FirstName]     SELECT [FirstName]             ,[Discount]
FROM [dbo].[Employees] FROM [dbo].[Employees]       FROM [dbo].[Order Details] a
WHERE [FirstName]      WHERE [FirstName] LIKE '_a%' INNER JOIN dbo.Products b
LIKE '%a%'                                          ON a.[ProductID]=b.[ProductID]
                                                    WHERE ProductName in ('Alice Mutton','Boston Crab
                                                   Meat')
                                                    OR [Discount]>0.25
                                                    ORDER BY [Discount] DESC
Formateo de Resultados

 •   Ordenamiento de datos: Determina por cual columna va a ordenarse la información
     devuelta. Puede ser ascendente o descendentemente.

SELECT [CustomerID],[CompanyName],[ContactName]     SELECT [CustomerID] ,[CompanyName]
FROM [Northwind].[dbo].[Customers]                  ,[ContactName]
ORDER BY [CompanyName]                                FROM [Northwind].[dbo].[Customers]
                                                      ORDER BY [CompanyName] DESC
Formateo de Resultados

 •   DISCTINCT: Esta función permite eliminar los registro duplicados en una consulta.
SELECT ProductName                             SELECT DISTINCT ProductName
   ,[Discount]                                    ,[Discount]
 FROM [dbo].[Order Details] a                   FROM [dbo].[Order Details] a
 INNER JOIN dbo.Products b                      INNER JOIN dbo.Products b
 ON a.[ProductID]=b.[ProductID]                 ON a.[ProductID]=b.[ProductID]
 ORDER BY ProductName                           ORDER BY ProductName
Formateo de Resultados

•   Adicionalmente se pueden concatenar cadenas de carácter a través del operador + e
    ingresar cadenas constantes , ingresando el texto entre comillas sencillas.
•   Personalizar nombres de columnas de salida.
             SELECT TOP 10 [EmployeeID]
                ,[TitleOfCourtesy]+ ' '+[FirstName]+ ' '+[LastName]+ '.' AS EmployeeFullName
             FROM [dbo].[Employees]




                                                                                3 columnas en 1
                                                                                Más caracteres fijos.
Formateo de Resultados




      Funciones de           Funciones de     Funciones de       Funciones
     caracteres que            Tiempo:         Seguridad:    Matemáticas: ABS,
  pueden ser utilizadas     SYSDATETIME,    CURRENT_USER,       ACOS, ASIN,
   son: ACSII, NCHAR,         GETDATE,                         DEGREES, EXP,
    CHAR, PATINDEX,                          SESSION_USER,
                            GETUTCDATE,                         FLOOR, LOG,
       SPACE, STR,                              SUSER_ID,
                             DATENAME,                       LOG10, PI, POWER,
      DIFFERENCE,          DATEPART, DAY,     IS_MEMBER,      RADIANS, RAND,
    REPLACE, STUFF,        MONTH, YEAR,       PERMISIONS,    ROUND, SIGN, SIN,
    LEFT, REPLICATE,          DATEDIFF,     SCHEMA_NAME,       SQRT, SQUARE,
    SUBSTRING, LEN,       DATEADD, ISDATE     USER_NAME            TAN.
  REVERSE, UNICODE,
     LOWER, RIGHT,
     UPPER, LTRIM,
         RTRIM



http://msdn.microsoft.com/en-us/library/ms174318.aspx
Agrupación de resultados

SELECT b.orderid,                 SELECT b.orderid,
SUM((a.UnitPrice*Quantity)*       SUM((a.UnitPrice*Quantity)*(1-Discount)) as CostBill
(1-Discount)) as CostBill         FROM [dbo].[Order Details] a
FROM [dbo].[Order Details] a      INNER JOIN dbo.Orders b
INNER JOIN dbo.Orders b           ON a.orderid=b.orderid
ON a.orderid=b.orderid            GROUP BY b.orderid
GROUP BY b.orderid                HAVING SUM((a.UnitPrice*Quantity)*(1-Discount))>10000




        http://msdn.microsoft.com/en-us/library/ms173454.aspx
Funciones de Clasificación
                                 SELECT CategoryName
SELECT TOP 10 [ProductID]           ,[ProductName]
   ,[ProductName]                   ,[UnitPrice]
   ,[UnitPrice]                     ,ROW_NUMBER() OVER (PARTITION BY CategoryName
   ,RANK() OVER ( ORDER BY          ORDER BY [UnitPrice]) PriceRanking
[UnitPrice]) PriceRanking         FROM [dbo].[Products] AS A
 FROM [dbo].[Products]            INNER JOIN dbo.Categories AS B
                                  ON A.CategoryID=B.CategoryID
                                   WHERE [UnitPrice]>20 AND [UnitPrice]<=40




       http://msdn.microsoft.com/en-us/library/ms173454.aspx
Subconsultas

• Consultas anidadas dentro de un SELECT, INSERT, UPDATE o DELETE
• Puede ser utilizada en cualquier expresión que lo necesite.
Sentencia – EXISTS

• Devuelve los registros solo si existen en un resultset anterior..
Tablas Temporales

• Permiten almacenar información en tablas de sesión de usuario.
• Estas se almacenan en la base de datos TEMPDB
• Pueden ser locales o Globales
Inserción de datos
Actualización de datos
Actualización de datos
Eliminación de datos
Eliminación de datos


TRUNCATE TABLE se diferencia del comando DELETE por:

1. Utiliza menos espacio en el log transaccional
2. Realiza menos bloqueos en la base de datos
3. Ninguna página queda en la tabla
Bibliografía

•   http://msdn.microsoft.com/en-us/library/aa933206(v=sql.80).aspx
•   http://msdn.microsoft.com/en-us/library/ms189835.aspx
•   http://msdn.microsoft.com/en-us/library/aa260662(v=sql.80).aspx
•   http://msdn.microsoft.com/en-us/library/ms189575.aspx
•   http://msdn.microsoft.com/en-us/library/ms189872.aspx
•   http://msdn.microsoft.com/en-us/library/ms189305(v=sql.90).aspx
•    Course 2778A, Writing Queries Using Microsoft® SQL Server® 2008
    Transact-SQL

Más contenido relacionado

PPT
Tm13 introduccion al_sql
PDF
Manual basico del_lenguaje_sql
PPTX
Transact sql
PPTX
Lenguaje transact sql
DOC
Practica consultas avanzadas
PDF
Unid2 transact sql 1
DOC
Instrucciones Transact S Q L
Tm13 introduccion al_sql
Manual basico del_lenguaje_sql
Transact sql
Lenguaje transact sql
Practica consultas avanzadas
Unid2 transact sql 1
Instrucciones Transact S Q L

Destacado (14)

PPTX
Diapositivas transact sql
DOCX
Taller Consultas Básicas SQL Server No 1
DOCX
Taller Básico Sentencias SQL
PDF
Por que investigar.cmap
PPT
7090112 Clase Transact Sql Server
PPTX
TRANSACT-SQL
DOCX
Transacciones en transact sql
DOC
Proyecto vigilancia via web de la calle silva santisteban cdra.11
PPTX
Creacion de tablas SQL Server 2008
PPT
Programacion con SQL Server 2005
PDF
Consultas básicas en sql server
PDF
Ejercicios resueltos de sql
PDF
MANUAL COMPLETO DE SQL
PPTX
Diapositivas transact sql
Taller Consultas Básicas SQL Server No 1
Taller Básico Sentencias SQL
Por que investigar.cmap
7090112 Clase Transact Sql Server
TRANSACT-SQL
Transacciones en transact sql
Proyecto vigilancia via web de la calle silva santisteban cdra.11
Creacion de tablas SQL Server 2008
Programacion con SQL Server 2005
Consultas básicas en sql server
Ejercicios resueltos de sql
MANUAL COMPLETO DE SQL
Publicidad

Similar a Transact SQL Fundamental (20)

PPT
Mejoras en T-SQL para SQL Server 2005
PPTX
CONSULTAS AVANZADAS SQL.pptx
PPTX
CONSULTAS_AVANZADAS_SQL.pptx
PDF
1Administracion de Bases de Datos ConocimientoPrevioES.pdf
DOCX
Taller Transact SQL ITProsDC - T2
PDF
Operaciones basicas de sql
PPTX
Grupo1 tics-2 (2)
PDF
Consultas sql
PDF
Consultas-SQL.pdf
PPTX
Sentencia select
PPTX
PPT
Attachment
PPT
Como realizar consultas en sql (Unidad 3)
PPT
Unidad vi vii dml select
PPT
Bases de Datos Cap-V SQL: Manipulación de datos
PDF
Manual SQL SERVER
PPT
Consultas base de datos en SQL
PPTX
PPT
Lab5 sql
Mejoras en T-SQL para SQL Server 2005
CONSULTAS AVANZADAS SQL.pptx
CONSULTAS_AVANZADAS_SQL.pptx
1Administracion de Bases de Datos ConocimientoPrevioES.pdf
Taller Transact SQL ITProsDC - T2
Operaciones basicas de sql
Grupo1 tics-2 (2)
Consultas sql
Consultas-SQL.pdf
Sentencia select
Attachment
Como realizar consultas en sql (Unidad 3)
Unidad vi vii dml select
Bases de Datos Cap-V SQL: Manipulación de datos
Manual SQL SERVER
Consultas base de datos en SQL
Lab5 sql
Publicidad

Más de Julián Castiblanco (20)

PPTX
70461 Sesion2 Uso del SELECT, DISTINCT, CASE
PPTX
Descubriendo los Datos - Bodegas de datos
PPTX
Tech Talk Live - ITPROSDC - Big data con july
PPTX
Global Azure Bootcamp 2016 Bogota SQL2016 dba IaaS PaaS v4
PPTX
Global Azure Cloud Camp Bogota Introduccion Azure datalake
PPTX
Lecciones aprendidas SQL Server AlwaryOn
PDF
Sql saturday 448 migración de bases de datos sql server hacia azure sqldb
PPTX
Databaseadmonfundamentalitprosdcchapter6
DOCX
Taller de sql server no 3
PPTX
Optimización de motores sql server 24 horas SQL Pass
PDF
Database admonfundamental itprosdc_chapter2
PDF
Database Fundamentals - Sesión 1 - SQL Server
PDF
Carbura tusql sesion2_slideshare
PDF
Carbura tusql sesion1_slideshare
PDF
Tarea dqs en ssis nunca termina
PDF
Características Adminsitración SQL Server 2012 Parte 3
PDF
70 462 Instalación SQL Server 2012
PDF
Instalación de Sql server 2014 ctp2 sobre azure
PDF
XQuery y XPath for SQL Server 2012 itpros dc_chapter6
PPTX
Agrupando datos en SQL Server
70461 Sesion2 Uso del SELECT, DISTINCT, CASE
Descubriendo los Datos - Bodegas de datos
Tech Talk Live - ITPROSDC - Big data con july
Global Azure Bootcamp 2016 Bogota SQL2016 dba IaaS PaaS v4
Global Azure Cloud Camp Bogota Introduccion Azure datalake
Lecciones aprendidas SQL Server AlwaryOn
Sql saturday 448 migración de bases de datos sql server hacia azure sqldb
Databaseadmonfundamentalitprosdcchapter6
Taller de sql server no 3
Optimización de motores sql server 24 horas SQL Pass
Database admonfundamental itprosdc_chapter2
Database Fundamentals - Sesión 1 - SQL Server
Carbura tusql sesion2_slideshare
Carbura tusql sesion1_slideshare
Tarea dqs en ssis nunca termina
Características Adminsitración SQL Server 2012 Parte 3
70 462 Instalación SQL Server 2012
Instalación de Sql server 2014 ctp2 sobre azure
XQuery y XPath for SQL Server 2012 itpros dc_chapter6
Agrupando datos en SQL Server

Último (20)

PDF
Diapositiva proyecto de vida, materia catedra
PPT
El-Gobierno-Electrónico-En-El-Estado-Bolivia
PPTX
IA de Cine - Como MuleSoft y los Agentes estan redefiniendo la realidad
PDF
Plantilla para Diseño de Narrativas Transmedia.pdf
PPTX
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
PPTX
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
PDF
CyberOps Associate - Cisco Networking Academy
DOCX
Zarate Quispe Alex aldayir aplicaciones de internet .docx
PPTX
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
PDF
clase auditoria informatica 2025.........
PDF
SAP Transportation Management para LSP, TM140 Col18
PPTX
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
PDF
Influencia-del-uso-de-redes-sociales.pdf
PDF
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
PPTX
historia_web de la creacion de un navegador_presentacion.pptx
PPT
Que son las redes de computadores y sus partes
PPTX
Sesion 1 de microsoft power point - Clase 1
PDF
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
PDF
Liceo departamental MICRO BIT (1) 2.pdfbbbnn
PPTX
Power Point Nicolás Carrasco (disertación Roblox).pptx
Diapositiva proyecto de vida, materia catedra
El-Gobierno-Electrónico-En-El-Estado-Bolivia
IA de Cine - Como MuleSoft y los Agentes estan redefiniendo la realidad
Plantilla para Diseño de Narrativas Transmedia.pdf
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
CyberOps Associate - Cisco Networking Academy
Zarate Quispe Alex aldayir aplicaciones de internet .docx
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
clase auditoria informatica 2025.........
SAP Transportation Management para LSP, TM140 Col18
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
Influencia-del-uso-de-redes-sociales.pdf
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
historia_web de la creacion de un navegador_presentacion.pptx
Que son las redes de computadores y sus partes
Sesion 1 de microsoft power point - Clase 1
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
Liceo departamental MICRO BIT (1) 2.pdfbbbnn
Power Point Nicolás Carrasco (disertación Roblox).pptx

Transact SQL Fundamental

  • 2. Agenda Tercera Sesión • Sentencia Where • Formateo de resultados • Agrupación de datos y resumen • Funciones de clasificación • Sentencia Join
  • 3. Consultas simples – Filtros Básicos SELECT Campos a traer INTO Insertarlos en una nueva tabla FROM Tabla Origen WHERE Condición de filtro GROUP BY Expresión Agrupación HAVING Filtro de agrupación ORDER BY Expresión de ordenamiento (ASC|DESC)
  • 4. Sentencia - WHERE • Se utilizan para limitar las filas que serán devueltas en una consultan. Comparación: =,<,>,>=,<=,!= Cadenas: LIKE, CONTAINTS, FREETEXT Logical: AND, OR, NOT, IN, ALL, ANY, SOME, EXISTS
  • 5. Sentencia - WHERE SELECT DISTINCT ProductName SELECT [FirstName] SELECT [FirstName] ,[Discount] FROM [dbo].[Employees] FROM [dbo].[Employees] FROM [dbo].[Order Details] a WHERE [FirstName] WHERE [FirstName] LIKE '_a%' INNER JOIN dbo.Products b LIKE '%a%' ON a.[ProductID]=b.[ProductID] WHERE ProductName in ('Alice Mutton','Boston Crab Meat') OR [Discount]>0.25 ORDER BY [Discount] DESC
  • 6. Formateo de Resultados • Ordenamiento de datos: Determina por cual columna va a ordenarse la información devuelta. Puede ser ascendente o descendentemente. SELECT [CustomerID],[CompanyName],[ContactName] SELECT [CustomerID] ,[CompanyName] FROM [Northwind].[dbo].[Customers] ,[ContactName] ORDER BY [CompanyName] FROM [Northwind].[dbo].[Customers] ORDER BY [CompanyName] DESC
  • 7. Formateo de Resultados • DISCTINCT: Esta función permite eliminar los registro duplicados en una consulta. SELECT ProductName SELECT DISTINCT ProductName ,[Discount] ,[Discount] FROM [dbo].[Order Details] a FROM [dbo].[Order Details] a INNER JOIN dbo.Products b INNER JOIN dbo.Products b ON a.[ProductID]=b.[ProductID] ON a.[ProductID]=b.[ProductID] ORDER BY ProductName ORDER BY ProductName
  • 8. Formateo de Resultados • Adicionalmente se pueden concatenar cadenas de carácter a través del operador + e ingresar cadenas constantes , ingresando el texto entre comillas sencillas. • Personalizar nombres de columnas de salida. SELECT TOP 10 [EmployeeID] ,[TitleOfCourtesy]+ ' '+[FirstName]+ ' '+[LastName]+ '.' AS EmployeeFullName FROM [dbo].[Employees] 3 columnas en 1 Más caracteres fijos.
  • 9. Formateo de Resultados Funciones de Funciones de Funciones de Funciones caracteres que Tiempo: Seguridad: Matemáticas: ABS, pueden ser utilizadas SYSDATETIME, CURRENT_USER, ACOS, ASIN, son: ACSII, NCHAR, GETDATE, DEGREES, EXP, CHAR, PATINDEX, SESSION_USER, GETUTCDATE, FLOOR, LOG, SPACE, STR, SUSER_ID, DATENAME, LOG10, PI, POWER, DIFFERENCE, DATEPART, DAY, IS_MEMBER, RADIANS, RAND, REPLACE, STUFF, MONTH, YEAR, PERMISIONS, ROUND, SIGN, SIN, LEFT, REPLICATE, DATEDIFF, SCHEMA_NAME, SQRT, SQUARE, SUBSTRING, LEN, DATEADD, ISDATE USER_NAME TAN. REVERSE, UNICODE, LOWER, RIGHT, UPPER, LTRIM, RTRIM http://msdn.microsoft.com/en-us/library/ms174318.aspx
  • 10. Agrupación de resultados SELECT b.orderid, SELECT b.orderid, SUM((a.UnitPrice*Quantity)* SUM((a.UnitPrice*Quantity)*(1-Discount)) as CostBill (1-Discount)) as CostBill FROM [dbo].[Order Details] a FROM [dbo].[Order Details] a INNER JOIN dbo.Orders b INNER JOIN dbo.Orders b ON a.orderid=b.orderid ON a.orderid=b.orderid GROUP BY b.orderid GROUP BY b.orderid HAVING SUM((a.UnitPrice*Quantity)*(1-Discount))>10000 http://msdn.microsoft.com/en-us/library/ms173454.aspx
  • 11. Funciones de Clasificación SELECT CategoryName SELECT TOP 10 [ProductID] ,[ProductName] ,[ProductName] ,[UnitPrice] ,[UnitPrice] ,ROW_NUMBER() OVER (PARTITION BY CategoryName ,RANK() OVER ( ORDER BY ORDER BY [UnitPrice]) PriceRanking [UnitPrice]) PriceRanking FROM [dbo].[Products] AS A FROM [dbo].[Products] INNER JOIN dbo.Categories AS B ON A.CategoryID=B.CategoryID WHERE [UnitPrice]>20 AND [UnitPrice]<=40 http://msdn.microsoft.com/en-us/library/ms173454.aspx
  • 12. Subconsultas • Consultas anidadas dentro de un SELECT, INSERT, UPDATE o DELETE • Puede ser utilizada en cualquier expresión que lo necesite.
  • 13. Sentencia – EXISTS • Devuelve los registros solo si existen en un resultset anterior..
  • 14. Tablas Temporales • Permiten almacenar información en tablas de sesión de usuario. • Estas se almacenan en la base de datos TEMPDB • Pueden ser locales o Globales
  • 19. Eliminación de datos TRUNCATE TABLE se diferencia del comando DELETE por: 1. Utiliza menos espacio en el log transaccional 2. Realiza menos bloqueos en la base de datos 3. Ninguna página queda en la tabla
  • 20. Bibliografía • http://msdn.microsoft.com/en-us/library/aa933206(v=sql.80).aspx • http://msdn.microsoft.com/en-us/library/ms189835.aspx • http://msdn.microsoft.com/en-us/library/aa260662(v=sql.80).aspx • http://msdn.microsoft.com/en-us/library/ms189575.aspx • http://msdn.microsoft.com/en-us/library/ms189872.aspx • http://msdn.microsoft.com/en-us/library/ms189305(v=sql.90).aspx • Course 2778A, Writing Queries Using Microsoft® SQL Server® 2008 Transact-SQL