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)

PPTX
PDF
1Administracion de Bases de Datos ConocimientoPrevioES.pdf
PPT
Tuning fondo-negro-2
PPTX
slides-sql_30c44e4f-cb57-473d-bc66-4b2ba79b72a1.pptx
PDF
Curso curso-practico-de-sql-slides_PLATZI.pdf
PPT
Sql Server
PDF
ActiveRecord: Deja que Postgres lo haga
PPTX
Taller de Base de Datos - Unidad 3 lenguage DML
PPT
Consultas en SQL
PPT
7.1. procedimientos almacenados
PPTX
Trabajo_profe_omar
PPTX
Trabajo_profe_omar
PPTX
Trabajo_profe_omar
PPTX
MANEJO DE SENTENCIAS DE DEFINICION
PPTX
PPTX
Material Clase BDD: Diseño de una Base de Datos
PPT
Ti. Sql.Caso1al9.Consultas
DOCX
Sesion05 - Manipulacion de datos (Oracle)
DOCX
8 Guía_Fundamentos de Base de Datos (2).docx
1Administracion de Bases de Datos ConocimientoPrevioES.pdf
Tuning fondo-negro-2
slides-sql_30c44e4f-cb57-473d-bc66-4b2ba79b72a1.pptx
Curso curso-practico-de-sql-slides_PLATZI.pdf
Sql Server
ActiveRecord: Deja que Postgres lo haga
Taller de Base de Datos - Unidad 3 lenguage DML
Consultas en SQL
7.1. procedimientos almacenados
Trabajo_profe_omar
Trabajo_profe_omar
Trabajo_profe_omar
MANEJO DE SENTENCIAS DE DEFINICION
Material Clase BDD: Diseño de una Base de Datos
Ti. Sql.Caso1al9.Consultas
Sesion05 - Manipulacion de datos (Oracle)
8 Guía_Fundamentos de Base de Datos (2).docx
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
004-CC2014-Irrigacion Mbb equinos del mundo
DOCX
Conceptos básicos de programación PseInt laura.docx
PPTX
en este libro encontrarás la lectura inicial para tus niños
PPTX
Gestión de la exposición, cómo anticiparse a los ciberataques
PDF
Introducción a REALITY (agosto de 2024).pdf
PDF
Virus y otras amenazas _ Ciudadanía _ INCIBE.pdf
PDF
Gtd Infraestructura Digital de Misión Critica
PPTX
VariablesExpresiones.pptx conceptos que puedes usar en c++
PDF
Reduciendo el Ciber Riesgo en Entornos Financieros
PPTX
Redes neuronales artificiales y como entrenarlas
PPTX
LEGALIZACIÓN Y VERIFICACIÓN DE UN APARATO TAXÍMETRO
PPTX
Del SIEM Tradicional al SOC del Futuro: La Evolución Inteligente
PDF
Herramientas-de-Recuperacion-de-Datos.pdf
PDF
Sociedad y ética digital en inteligencia artificial
PDF
sol tecnología 2025.pdf........pdf10-7grado
PPTX
proceso de la comunicación entre computadoras 21111.pptx
PDF
Salud digital: información, integración y el valor de MS Fabric for Health
PDF
Más Allá de la Autenticación: Gestión Moderna de Identidad en el sector Finan...
PDF
¿Qué hace un Data Warehouse Engineer blog.victorsantiz.com.pdf
PDF
Conceptos básicos de programación PseInt laura.pdf
004-CC2014-Irrigacion Mbb equinos del mundo
Conceptos básicos de programación PseInt laura.docx
en este libro encontrarás la lectura inicial para tus niños
Gestión de la exposición, cómo anticiparse a los ciberataques
Introducción a REALITY (agosto de 2024).pdf
Virus y otras amenazas _ Ciudadanía _ INCIBE.pdf
Gtd Infraestructura Digital de Misión Critica
VariablesExpresiones.pptx conceptos que puedes usar en c++
Reduciendo el Ciber Riesgo en Entornos Financieros
Redes neuronales artificiales y como entrenarlas
LEGALIZACIÓN Y VERIFICACIÓN DE UN APARATO TAXÍMETRO
Del SIEM Tradicional al SOC del Futuro: La Evolución Inteligente
Herramientas-de-Recuperacion-de-Datos.pdf
Sociedad y ética digital en inteligencia artificial
sol tecnología 2025.pdf........pdf10-7grado
proceso de la comunicación entre computadoras 21111.pptx
Salud digital: información, integración y el valor de MS Fabric for Health
Más Allá de la Autenticación: Gestión Moderna de Identidad en el sector Finan...
¿Qué hace un Data Warehouse Engineer blog.victorsantiz.com.pdf
Conceptos básicos de programación PseInt laura.pdf

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