SlideShare une entreprise Scribd logo
1  sur  26
Télécharger pour lire hors ligne
Querying Microsoft SQL
Server 2012
Exam 70-461
Combinando Tablas

Julián Castiblanco

Andrés Useche

http://julycastiblanco.blogspot.com/

usechejan@gmail.com

Julian_castiblancop@hotmail.com

Líder ITPros-DC

Líder ITPros-DC
•
•
•
•

Ingeniero de Diseño & Automatización Electrónica
Especialista en Gerencia y Tecnologías de Información
MCT-MCSA-MCITP-MCTS en SQL SERVER
Synergy TPC SAS como consultor especializado en
bases de datos SQL Server

Julián
Castiblanco
•
•
•
•

Ingeniero de Sistemas
Especialista en Teleinformática
MCP SQL SERVER 2012
Terpel como ingeniero de infraestructura IT - DBA

Andrés
Useche
Agenda
•
•
•
•
•

Presentación de las certificaciones de SQL Server 2012.
Carreras del MVA
Contenido del examen 70-461
Introducción a combinación de tablas
Subconsultas y Expresiones de tabla comunes (CTE)
Certificaciones SQL Server 2012

http://www.microsoft.com/learning/en/us/mcsa-sql-certification.aspx
Certificaciones SQL Server 2012

http://www.microsoft.com/learning/en/us/mcse-sql-data-platform.aspx
Certificaciones SQL Server 2012

http://www.microsoft.com/learning/en/us/mcse-sql-business-intelligence.aspx
Preséntalo Ahora!!!!

http://www.microsoft.com/learning/en-us/second-shot.aspx
http://www.microsoftvirtualacademy.com/trainingcourses/querying-microsoft-sql-server-2012-databasesjump-start#?fbid=wXtCFLgI5kM
Contenido del examen 70-461

Create database objects (24%)
•

Create and alter tables using T-SQL syntax (simple statements): Create tables without using the built
in tools; ALTER; DROP; ALTER COLUMN; CREATE

•

Create and alter views (simple statements): Create indexed views; create views without using the
built in tools; CREATE, ALTER, DROP

•

Design views : Ensure code non regression by keeping consistent signature for procedure, views and
function (interfaces); security implications

•

Create and modify constraints (simple statements) : Create constraints on tables; define
constraints; unique constraints; default constraints; primary and foreign key constraints

•

Create and alter DML triggers: Inserted and deleted tables; nested triggers; types of triggers;
update functions; handle multiple rows in a session; performance implications of triggers
Contenido del examen 70-461
Work with data (27%)
•

Query data by using SELECT statements: Use the ranking function to select top(X) rows for multiple categories in a
single query; write and perform queries efficiently using the new (SQL 2005/8->) code items such as

synonyms, and joins (except, intersect); implement logic which uses dynamic SQL and system
metadata; write efficient, technically complex SQL queries, including all types of joins versus the
use of derived tables; determine what code may or may not execute based on the tables provided;
given a table with constraints, determine which statement set would load a table; use and understand
different data access technologies; case versus isnull versus coalesce.
•

Implement sub-queries: Identify problematic elements in query plans; pivot and unpivot; apply operator; cte

statement; with statement
•

Implement data types: Use appropriate data; understand the uses and limitations of each data type; impact of
GUID (newid, newsequentialid) on database performance, when to use what data type for columns

•

Implement aggregate queries: New analytic functions; grouping sets; spatial aggregates; apply ranking functions

•

Query and manage XML data: Understand XML datatypes and their schemas and interop w/, limitations and
restrictions; implement XML schemas and handling of XML data; XML data: how to handle it in SQL Server and
when and when not to use it, including XML namespaces; import and export XML; XML indexing
Contenido del examen 70-461

Modify data (24%)
•

•
•
•

Create and alter stored procedures (simple statements): Write a stored procedure to
meet a given set of requirements; branching logic; create stored procedures and other
programmatic objects; techniques for developing stored procedures; different types of
storeproc result; create stored procedure for data access layer; program stored
procedures, triggers, functions with T-SQL
Modify data by using INSERT, UPDATE, and DELETE statements: Given a set of code with
defaults, constraints, and triggers, determine the output of a set of DDL; know which
SQL statements are best to solve common requirements; use output statement
Combine datasets: Difference between UNION and UNION all; case versus isnull versus
coalesce; modify data by using MERGE statements
Work with functions: Understand deterministic, non-deterministic functions; scalar and
table values; apply built-in scalar functions; create and alter user-defined functions
(UDFs)
Contenido del examen 70-461

Troubleshoot and optimize (25%)
•

•
•
•

Optimize queries : Understand statistics; read query plans; plan guides; DMVs; hints;
statistics IO; dynamic vs. parameterized queries; describe the different join types
(HASH, MERGE, LOOP) and describe the scenarios they would be used in
Manage transactions: Mark a transaction; understand begin tran, commit, and rollback;
implicit vs explicit transactions; isolation levels; scope and type of locks; trancount
Evaluate the use of row-based operations vs. set-based operations: When to use
cursors; impact of scalar UDFs; combine multiple DML operations
Implement error handling:Implement try/catch/throw; use set based rather than row
based logic; transaction management
IBM 305 RAMAC computer en 1956. Tenía 50 discos
de 24” con una capacidad de almacenamiento de 5
millones (poco menos de 5 MB)
Introducción a combinación de tablas

Cross Join
Inner Join

Outer Join

• Realiza un producto cartesiano
• También conocido como todos con todos

• Combina las filas basado en una o más columnas comunes
• Normalmente las llaves primarias y las foráneas
• Solo muestra los registros que tengan un valor común en
ambas tablas

• Preserva una de las tablas y en los registros que tengan un
campo en común con la segunda tabla extrae la
información que necesitamos, de lo contrario estas
columnas quedarán con un valor no determinado (NULL)
• Puede ser LEFT Outer JOIN o RIGHT Outer JOIN

Cuando en la consulta intervienen más de dos tablas el sistema va creando una tabla virtual con el
resultado de la primera combinación y utiliza este para hacer el “join” con la siguiente tabla
CROSS JOIN

ID NAME

AGE

Id

Fruta

Color

1

Ivan

17

1

Pera

Verde

2

Andrea

33

2

Mora

Rojo

ID

NAME

AGE

Id

Fruta

Color

1

Ivan

17

1

Pera

Verde

1

Ivan

17

2

Mora

Rojo

2

Andrea

33

1

Pera

Verde

2

Andrea

33

2

Mora

Rojo
INNER JOIN

Id
ID STUDENT

1

Ivan
Andrea

3

Pipe

Cali

4

10

Tumaco

3

1

Pereira

2

2

2

1

IDCITY

CITY

Neiva

ID

STUDENT

IDCITY

Id

CITY

1

Ivan

2

2

Tumaco

2

Andrea

1

1

Pereira
LEFT OUTER JOIN

Id
ID STUDENT

1

Ivan
Andrea

3

Pipe

Cali

4

10

Tumaco

3

1

Pereira

2

2

2

1

IDCITY

CITY

Neiva

ID

STUDENT

IDCITY

Id

CITY

1

Ivan

2

2

Tumaco

2

Andrea

1

1

Pereira

3

Pipe

10

NULL

NULL
RIGHT OUTER JOIN

Id
ID STUDENT

1

Ivan
Andrea

3

Pipe

Tumaco

3

1

Pereira

2

2

2

1

IDCITY

CITY

Cali

10

ID

STUDENT

IDCITY

Id

CITY

1

Ivan

2

2

Tumaco

2

Andrea

1

1

Pereira

NULL

3

Cali

NULL NULL
SUBCONSULTAS

simpli
fican

Agrup
an

consul
tas

compl
ejas

SELECT
dbo.candidatos2014.Candidato,
dbo.candidatos2014.Corporación
FROM dbo.candidatos2014
WHERE idPartido = (SELECT TOP 1
idpartido FROM dbo.candidatos2014
GROUP BY idPartido ORDER BY
COUNT(*) DESC)
TABLAS DERIVADAS
Basados en el
resultado de una
consulta se genera un
conjunto de datos
que será tratado
como insumo que
será tratado como
una tabla para una
consulta superior.

SELECT PA.Nombre
,NROCAN.NROCANDIDATOS
FROM dbo.Partidos AS PA
INNER JOIN (SELECT idpartido,
COUNT(*) AS NROCANDIDATOS FROM
dbo.candidatos2014
GROUP BY idPartido) AS NROCAN
ON PA.IDPartido=NROCAN.idpartido
ORDER BY NROCAN.NROCANDIDATOS DESC
COMMON TABLE EXPRESSION (CTE)

Son subconsultas que
hacen que el código
se vea más limpio,
haciendo más fácil su
mantenimiento.
Normalmente son
utilizadas en
consultar recursivas.

WITH NROCAN AS (SELECT idpartido,
COUNT(*) AS NROCANDIDATOS
FROM dbo.candidatos2014 GROUP BY
idPartido)
SELECT PA.Nombre,
NROCAN.NROCANDIDATOS
FROM dbo.Partidos AS PA
INNER JOIN
NROCAN
ON PA.IDPartido=NROCAN.idpartido
ORDER BY NROCAN.NROCANDIDATOS DESC
APPLY
• A diferencia de los JOIN, en el cual el motor toma las 2
tablas y las cruza por uno o más campos indicados. El
comando APPLY puede generar una consulta en la segunda
tabla basada en cada una de las filas devultas por la tabla
que está a la derecha.
• La diferencia entre el CROSS APPLY y el OUTER APPLY es
que el primero devuelve solo los registros que encuentra en
ambas tablas y el OUTER devolverá NULLs en las columnas
donde no consiga un registro de salida en la tabla que se
encuentra a la derecha.
APPLY
SELECT D.deptid, D.deptname,
D.deptmgrid
,ST.empid, ST.empname,
ST.mgrid
FROM Departments AS D
CROSS APPLY
fn_getsubtree(D.deptmgrid) AS ST;
EL TALLER

http://www.slideshare.net/juliancastiblanco/t
aller-bsico-sentencias-sql
http://www.codeproject.com/KB/database/Visual_SQL_Joins/Visual_SQL_JOINS_orig.jpg
URL de Interés
• http://royal.pingdom.com/2008/04/08/the-history-ofcomputer-data-storage-in-pictures/
• http://rateyourmusic.com/list/jweber14/top_100_rock_ba
nds_of_the_70s/
• http://en.wikipedia.org/wiki/Latin_American_debt_crisis
• http://www.registraduria.gov.co/?page=candidatos_2014
• http://es.wikipedia.org/wiki/Anexo:Partidos_pol%C3%ADtic
os_de_Colombia
• http://www.amazon.com/Training-Kit-Exam-70-461Microsoft/dp/0735666059/ref=sr_1_1?ie=UTF8&qid=1392
299933&sr=8-1&keywords=70-461
• https://www.facebook.com/groups/7399452387/

Contenu connexe

En vedette (9)

Curso SQL - Leccion 6
Curso SQL - Leccion 6Curso SQL - Leccion 6
Curso SQL - Leccion 6
 
Taller básico de JOINS, SUBQUERYING, APPLY, CTE
Taller básico de JOINS, SUBQUERYING, APPLY, CTETaller básico de JOINS, SUBQUERYING, APPLY, CTE
Taller básico de JOINS, SUBQUERYING, APPLY, CTE
 
Presentacion Sql 2
Presentacion Sql 2Presentacion Sql 2
Presentacion Sql 2
 
Curso SQL - Leccion 7
Curso SQL - Leccion 7  Curso SQL - Leccion 7
Curso SQL - Leccion 7
 
Consultas básicas en sql server
Consultas básicas en sql serverConsultas básicas en sql server
Consultas básicas en sql server
 
Ejercicios resueltos de sql
Ejercicios resueltos de sqlEjercicios resueltos de sql
Ejercicios resueltos de sql
 
Consultas base de datos en SQL
Consultas base de datos en SQLConsultas base de datos en SQL
Consultas base de datos en SQL
 
Manual sql server parte 1
Manual sql server parte 1Manual sql server parte 1
Manual sql server parte 1
 
Caso de estudio joins
Caso de estudio joinsCaso de estudio joins
Caso de estudio joins
 

Similaire à Introducción a JOINS, CTE, APPLY y SUBCONSULTAS

Herramientas usadas para definir el ambiente
Herramientas usadas para definir el ambienteHerramientas usadas para definir el ambiente
Herramientas usadas para definir el ambienteAlejandra Apeleister
 
Competencia analisis
Competencia analisisCompetencia analisis
Competencia analisismileing
 
Ventajas y desventajas de los sistemas rolap y molap
Ventajas y desventajas de los sistemas rolap y molapVentajas y desventajas de los sistemas rolap y molap
Ventajas y desventajas de los sistemas rolap y molapJuan Anaya
 
Novedades sql server 2008 para developers
Novedades sql server 2008 para developersNovedades sql server 2008 para developers
Novedades sql server 2008 para developersEnrique Catala Bañuls
 
Mejores prácticas desarrollo de base de datos
Mejores prácticas desarrollo de base de datos Mejores prácticas desarrollo de base de datos
Mejores prácticas desarrollo de base de datos Eduardo Castro
 
ANALISIS Y DISEÑO ING DE SOFTWARE.pptx
ANALISIS Y DISEÑO ING DE SOFTWARE.pptxANALISIS Y DISEÑO ING DE SOFTWARE.pptx
ANALISIS Y DISEÑO ING DE SOFTWARE.pptxMoises Martinez
 
Cuaderno_de_Informes_Noviembre(ing. software) (1).pdf
Cuaderno_de_Informes_Noviembre(ing. software) (1).pdfCuaderno_de_Informes_Noviembre(ing. software) (1).pdf
Cuaderno_de_Informes_Noviembre(ing. software) (1).pdfYanVenturaCardenas
 
Conviértete en un PowerDBA con PowerShell
Conviértete en un PowerDBA con PowerShellConviértete en un PowerDBA con PowerShell
Conviértete en un PowerDBA con PowerShellEnrique Puig
 
Clase 2 - Construccion de los SI.ppt
Clase 2 - Construccion de los SI.pptClase 2 - Construccion de los SI.ppt
Clase 2 - Construccion de los SI.pptrogergrefa1
 
Analista de sistemas
Analista de sistemasAnalista de sistemas
Analista de sistemasLaloMalpika01
 
Programacion tipos de datos
Programacion tipos de datosProgramacion tipos de datos
Programacion tipos de datosKelvinBriceo
 
Meetup Madrid 6 Marzo 2024 - MuleSoft en el mundo real: ejemplos de casos de ...
Meetup Madrid 6 Marzo 2024 - MuleSoft en el mundo real: ejemplos de casos de ...Meetup Madrid 6 Marzo 2024 - MuleSoft en el mundo real: ejemplos de casos de ...
Meetup Madrid 6 Marzo 2024 - MuleSoft en el mundo real: ejemplos de casos de ...jorgelebrato
 
Herramientas de modelaje de datos
Herramientas de modelaje de datosHerramientas de modelaje de datos
Herramientas de modelaje de datosAndre Gutierrez
 
Database fundamental itprosdc_chapter2
Database fundamental itprosdc_chapter2Database fundamental itprosdc_chapter2
Database fundamental itprosdc_chapter2Julián Castiblanco
 
Afinamientodebasesdedatosyservidoreswebs
AfinamientodebasesdedatosyservidoreswebsAfinamientodebasesdedatosyservidoreswebs
Afinamientodebasesdedatosyservidoreswebsricardosusa5
 

Similaire à Introducción a JOINS, CTE, APPLY y SUBCONSULTAS (20)

Herramientas usadas para definir el ambiente
Herramientas usadas para definir el ambienteHerramientas usadas para definir el ambiente
Herramientas usadas para definir el ambiente
 
Competencia analisis
Competencia analisisCompetencia analisis
Competencia analisis
 
Ventajas y desventajas de los sistemas rolap y molap
Ventajas y desventajas de los sistemas rolap y molapVentajas y desventajas de los sistemas rolap y molap
Ventajas y desventajas de los sistemas rolap y molap
 
Novedades sql server 2008 para developers
Novedades sql server 2008 para developersNovedades sql server 2008 para developers
Novedades sql server 2008 para developers
 
Mejores prácticas desarrollo de base de datos
Mejores prácticas desarrollo de base de datos Mejores prácticas desarrollo de base de datos
Mejores prácticas desarrollo de base de datos
 
Herramientas para modelar datos
Herramientas para modelar datos Herramientas para modelar datos
Herramientas para modelar datos
 
1. intro adas
1. intro adas1. intro adas
1. intro adas
 
ANALISIS Y DISEÑO ING DE SOFTWARE.pptx
ANALISIS Y DISEÑO ING DE SOFTWARE.pptxANALISIS Y DISEÑO ING DE SOFTWARE.pptx
ANALISIS Y DISEÑO ING DE SOFTWARE.pptx
 
Pres17BDII.ppt
Pres17BDII.pptPres17BDII.ppt
Pres17BDII.ppt
 
Cuaderno_de_Informes_Noviembre(ing. software) (1).pdf
Cuaderno_de_Informes_Noviembre(ing. software) (1).pdfCuaderno_de_Informes_Noviembre(ing. software) (1).pdf
Cuaderno_de_Informes_Noviembre(ing. software) (1).pdf
 
Lenguaje Transact sql
Lenguaje Transact sqlLenguaje Transact sql
Lenguaje Transact sql
 
Conviértete en un PowerDBA con PowerShell
Conviértete en un PowerDBA con PowerShellConviértete en un PowerDBA con PowerShell
Conviértete en un PowerDBA con PowerShell
 
Clase 2 - Construccion de los SI.ppt
Clase 2 - Construccion de los SI.pptClase 2 - Construccion de los SI.ppt
Clase 2 - Construccion de los SI.ppt
 
Analista de sistemas
Analista de sistemasAnalista de sistemas
Analista de sistemas
 
Programacion tipos de datos
Programacion tipos de datosProgramacion tipos de datos
Programacion tipos de datos
 
Meetup Madrid 6 Marzo 2024 - MuleSoft en el mundo real: ejemplos de casos de ...
Meetup Madrid 6 Marzo 2024 - MuleSoft en el mundo real: ejemplos de casos de ...Meetup Madrid 6 Marzo 2024 - MuleSoft en el mundo real: ejemplos de casos de ...
Meetup Madrid 6 Marzo 2024 - MuleSoft en el mundo real: ejemplos de casos de ...
 
Herramientas de modelaje de datos
Herramientas de modelaje de datosHerramientas de modelaje de datos
Herramientas de modelaje de datos
 
Database fundamental itprosdc_chapter2
Database fundamental itprosdc_chapter2Database fundamental itprosdc_chapter2
Database fundamental itprosdc_chapter2
 
Trabajo ayudantia
Trabajo ayudantiaTrabajo ayudantia
Trabajo ayudantia
 
Afinamientodebasesdedatosyservidoreswebs
AfinamientodebasesdedatosyservidoreswebsAfinamientodebasesdedatosyservidoreswebs
Afinamientodebasesdedatosyservidoreswebs
 

Plus de Julián Castiblanco

70461 Sesion2 Uso del SELECT, DISTINCT, CASE
70461 Sesion2 Uso del SELECT, DISTINCT, CASE70461 Sesion2 Uso del SELECT, DISTINCT, CASE
70461 Sesion2 Uso del SELECT, DISTINCT, CASEJulián Castiblanco
 
Descubriendo los Datos - Bodegas de datos
Descubriendo los Datos - Bodegas de datosDescubriendo los Datos - Bodegas de datos
Descubriendo los Datos - Bodegas de datosJulián Castiblanco
 
Tech Talk Live - ITPROSDC - Big data con july
Tech Talk Live - ITPROSDC - Big data con julyTech Talk Live - ITPROSDC - Big data con july
Tech Talk Live - ITPROSDC - Big data con julyJulián Castiblanco
 
Global Azure Bootcamp 2016 Bogota SQL2016 dba IaaS PaaS v4
Global Azure Bootcamp 2016 Bogota SQL2016 dba IaaS PaaS v4Global Azure Bootcamp 2016 Bogota SQL2016 dba IaaS PaaS v4
Global Azure Bootcamp 2016 Bogota SQL2016 dba IaaS PaaS v4Julián Castiblanco
 
Global Azure Cloud Camp Bogota Introduccion Azure datalake
Global Azure Cloud Camp Bogota Introduccion Azure datalakeGlobal Azure Cloud Camp Bogota Introduccion Azure datalake
Global Azure Cloud Camp Bogota Introduccion Azure datalakeJulián Castiblanco
 
Lecciones aprendidas SQL Server AlwaryOn
Lecciones aprendidas SQL Server AlwaryOnLecciones aprendidas SQL Server AlwaryOn
Lecciones aprendidas SQL Server AlwaryOnJulián Castiblanco
 
Sql saturday 448 migración de bases de datos sql server hacia azure sqldb
Sql saturday 448   migración de bases de datos sql server hacia azure sqldbSql saturday 448   migración de bases de datos sql server hacia azure sqldb
Sql saturday 448 migración de bases de datos sql server hacia azure sqldbJulián Castiblanco
 
Databaseadmonfundamentalitprosdcchapter6
Databaseadmonfundamentalitprosdcchapter6Databaseadmonfundamentalitprosdcchapter6
Databaseadmonfundamentalitprosdcchapter6Julián Castiblanco
 
Optimización de motores sql server 24 horas SQL Pass
Optimización de motores sql server 24 horas SQL PassOptimización de motores sql server 24 horas SQL Pass
Optimización de motores sql server 24 horas SQL PassJulián Castiblanco
 
Database admonfundamental itprosdc_chapter2
Database admonfundamental itprosdc_chapter2Database admonfundamental itprosdc_chapter2
Database admonfundamental itprosdc_chapter2Julián Castiblanco
 
Database Fundamentals - Sesión 1 - SQL Server
Database Fundamentals - Sesión 1 - SQL ServerDatabase Fundamentals - Sesión 1 - SQL Server
Database Fundamentals - Sesión 1 - SQL ServerJulián Castiblanco
 
Carbura tusql sesion2_slideshare
Carbura tusql sesion2_slideshareCarbura tusql sesion2_slideshare
Carbura tusql sesion2_slideshareJulián Castiblanco
 
Carbura tusql sesion1_slideshare
Carbura tusql sesion1_slideshareCarbura tusql sesion1_slideshare
Carbura tusql sesion1_slideshareJulián Castiblanco
 
Características Adminsitración SQL Server 2012 Parte 3
Características Adminsitración SQL Server 2012 Parte 3Características Adminsitración SQL Server 2012 Parte 3
Características Adminsitración SQL Server 2012 Parte 3Julián Castiblanco
 
70 462 Instalación SQL Server 2012
70 462 Instalación SQL Server 201270 462 Instalación SQL Server 2012
70 462 Instalación SQL Server 2012Julián Castiblanco
 
Instalación de Sql server 2014 ctp2 sobre azure
Instalación de Sql server 2014 ctp2 sobre azureInstalación de Sql server 2014 ctp2 sobre azure
Instalación de Sql server 2014 ctp2 sobre azureJulián Castiblanco
 
XQuery y XPath for SQL Server 2012 itpros dc_chapter6
XQuery y XPath for SQL Server 2012 itpros dc_chapter6XQuery y XPath for SQL Server 2012 itpros dc_chapter6
XQuery y XPath for SQL Server 2012 itpros dc_chapter6Julián Castiblanco
 
Taller Transact SQL ITProsDC - T2
Taller Transact SQL ITProsDC - T2Taller Transact SQL ITProsDC - T2
Taller Transact SQL ITProsDC - T2Julián Castiblanco
 
Creación de bases automaticamente isa2006 y sql server 2008 r2 express edition
Creación de bases automaticamente isa2006 y sql server 2008 r2 express editionCreación de bases automaticamente isa2006 y sql server 2008 r2 express edition
Creación de bases automaticamente isa2006 y sql server 2008 r2 express editionJulián Castiblanco
 

Plus de Julián Castiblanco (20)

70461 Sesion2 Uso del SELECT, DISTINCT, CASE
70461 Sesion2 Uso del SELECT, DISTINCT, CASE70461 Sesion2 Uso del SELECT, DISTINCT, CASE
70461 Sesion2 Uso del SELECT, DISTINCT, CASE
 
Descubriendo los Datos - Bodegas de datos
Descubriendo los Datos - Bodegas de datosDescubriendo los Datos - Bodegas de datos
Descubriendo los Datos - Bodegas de datos
 
Tech Talk Live - ITPROSDC - Big data con july
Tech Talk Live - ITPROSDC - Big data con julyTech Talk Live - ITPROSDC - Big data con july
Tech Talk Live - ITPROSDC - Big data con july
 
Global Azure Bootcamp 2016 Bogota SQL2016 dba IaaS PaaS v4
Global Azure Bootcamp 2016 Bogota SQL2016 dba IaaS PaaS v4Global Azure Bootcamp 2016 Bogota SQL2016 dba IaaS PaaS v4
Global Azure Bootcamp 2016 Bogota SQL2016 dba IaaS PaaS v4
 
Global Azure Cloud Camp Bogota Introduccion Azure datalake
Global Azure Cloud Camp Bogota Introduccion Azure datalakeGlobal Azure Cloud Camp Bogota Introduccion Azure datalake
Global Azure Cloud Camp Bogota Introduccion Azure datalake
 
Lecciones aprendidas SQL Server AlwaryOn
Lecciones aprendidas SQL Server AlwaryOnLecciones aprendidas SQL Server AlwaryOn
Lecciones aprendidas SQL Server AlwaryOn
 
Sql saturday 448 migración de bases de datos sql server hacia azure sqldb
Sql saturday 448   migración de bases de datos sql server hacia azure sqldbSql saturday 448   migración de bases de datos sql server hacia azure sqldb
Sql saturday 448 migración de bases de datos sql server hacia azure sqldb
 
Databaseadmonfundamentalitprosdcchapter6
Databaseadmonfundamentalitprosdcchapter6Databaseadmonfundamentalitprosdcchapter6
Databaseadmonfundamentalitprosdcchapter6
 
Optimización de motores sql server 24 horas SQL Pass
Optimización de motores sql server 24 horas SQL PassOptimización de motores sql server 24 horas SQL Pass
Optimización de motores sql server 24 horas SQL Pass
 
Database admonfundamental itprosdc_chapter2
Database admonfundamental itprosdc_chapter2Database admonfundamental itprosdc_chapter2
Database admonfundamental itprosdc_chapter2
 
Database Fundamentals - Sesión 1 - SQL Server
Database Fundamentals - Sesión 1 - SQL ServerDatabase Fundamentals - Sesión 1 - SQL Server
Database Fundamentals - Sesión 1 - SQL Server
 
Carbura tusql sesion2_slideshare
Carbura tusql sesion2_slideshareCarbura tusql sesion2_slideshare
Carbura tusql sesion2_slideshare
 
Carbura tusql sesion1_slideshare
Carbura tusql sesion1_slideshareCarbura tusql sesion1_slideshare
Carbura tusql sesion1_slideshare
 
Características Adminsitración SQL Server 2012 Parte 3
Características Adminsitración SQL Server 2012 Parte 3Características Adminsitración SQL Server 2012 Parte 3
Características Adminsitración SQL Server 2012 Parte 3
 
70 462 Instalación SQL Server 2012
70 462 Instalación SQL Server 201270 462 Instalación SQL Server 2012
70 462 Instalación SQL Server 2012
 
Instalación de Sql server 2014 ctp2 sobre azure
Instalación de Sql server 2014 ctp2 sobre azureInstalación de Sql server 2014 ctp2 sobre azure
Instalación de Sql server 2014 ctp2 sobre azure
 
XQuery y XPath for SQL Server 2012 itpros dc_chapter6
XQuery y XPath for SQL Server 2012 itpros dc_chapter6XQuery y XPath for SQL Server 2012 itpros dc_chapter6
XQuery y XPath for SQL Server 2012 itpros dc_chapter6
 
Taller Transact SQL ITProsDC - T2
Taller Transact SQL ITProsDC - T2Taller Transact SQL ITProsDC - T2
Taller Transact SQL ITProsDC - T2
 
Creación de bases automaticamente isa2006 y sql server 2008 r2 express edition
Creación de bases automaticamente isa2006 y sql server 2008 r2 express editionCreación de bases automaticamente isa2006 y sql server 2008 r2 express edition
Creación de bases automaticamente isa2006 y sql server 2008 r2 express edition
 
Taller Básico Sentencias SQL
Taller Básico Sentencias SQL Taller Básico Sentencias SQL
Taller Básico Sentencias SQL
 

Dernier

La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1ivanapaterninar
 
David_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDavid_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDAVIDROBERTOGALLEGOS
 
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxPLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxhasbleidit
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024u20211198540
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfFernandoOblitasVivan
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docxobandopaula444
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)JuanStevenTrujilloCh
 
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...Marketing BRANDING
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdfBetianaJuarez1
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptxHugoGutierrez99
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptxLINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptxkimontey
 
Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerenciacubillannoly
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfcristianrb0324
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar24roberto21
 
Análisis de Artefactos Tecnologicos (3) (1).pdf
Análisis de Artefactos Tecnologicos  (3) (1).pdfAnálisis de Artefactos Tecnologicos  (3) (1).pdf
Análisis de Artefactos Tecnologicos (3) (1).pdfsharitcalderon04
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfKarinaCambero3
 

Dernier (20)

La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1
 
David_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDavid_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptx
 
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxPLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdf
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)
 
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptxLINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
 
Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerencia
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdf
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar
 
Análisis de Artefactos Tecnologicos (3) (1).pdf
Análisis de Artefactos Tecnologicos  (3) (1).pdfAnálisis de Artefactos Tecnologicos  (3) (1).pdf
Análisis de Artefactos Tecnologicos (3) (1).pdf
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdf
 

Introducción a JOINS, CTE, APPLY y SUBCONSULTAS

  • 1. Querying Microsoft SQL Server 2012 Exam 70-461 Combinando Tablas Julián Castiblanco Andrés Useche http://julycastiblanco.blogspot.com/ usechejan@gmail.com Julian_castiblancop@hotmail.com Líder ITPros-DC Líder ITPros-DC
  • 2. • • • • Ingeniero de Diseño & Automatización Electrónica Especialista en Gerencia y Tecnologías de Información MCT-MCSA-MCITP-MCTS en SQL SERVER Synergy TPC SAS como consultor especializado en bases de datos SQL Server Julián Castiblanco • • • • Ingeniero de Sistemas Especialista en Teleinformática MCP SQL SERVER 2012 Terpel como ingeniero de infraestructura IT - DBA Andrés Useche
  • 3. Agenda • • • • • Presentación de las certificaciones de SQL Server 2012. Carreras del MVA Contenido del examen 70-461 Introducción a combinación de tablas Subconsultas y Expresiones de tabla comunes (CTE)
  • 4. Certificaciones SQL Server 2012 http://www.microsoft.com/learning/en/us/mcsa-sql-certification.aspx
  • 5. Certificaciones SQL Server 2012 http://www.microsoft.com/learning/en/us/mcse-sql-data-platform.aspx
  • 6. Certificaciones SQL Server 2012 http://www.microsoft.com/learning/en/us/mcse-sql-business-intelligence.aspx
  • 9. Contenido del examen 70-461 Create database objects (24%) • Create and alter tables using T-SQL syntax (simple statements): Create tables without using the built in tools; ALTER; DROP; ALTER COLUMN; CREATE • Create and alter views (simple statements): Create indexed views; create views without using the built in tools; CREATE, ALTER, DROP • Design views : Ensure code non regression by keeping consistent signature for procedure, views and function (interfaces); security implications • Create and modify constraints (simple statements) : Create constraints on tables; define constraints; unique constraints; default constraints; primary and foreign key constraints • Create and alter DML triggers: Inserted and deleted tables; nested triggers; types of triggers; update functions; handle multiple rows in a session; performance implications of triggers
  • 10. Contenido del examen 70-461 Work with data (27%) • Query data by using SELECT statements: Use the ranking function to select top(X) rows for multiple categories in a single query; write and perform queries efficiently using the new (SQL 2005/8->) code items such as synonyms, and joins (except, intersect); implement logic which uses dynamic SQL and system metadata; write efficient, technically complex SQL queries, including all types of joins versus the use of derived tables; determine what code may or may not execute based on the tables provided; given a table with constraints, determine which statement set would load a table; use and understand different data access technologies; case versus isnull versus coalesce. • Implement sub-queries: Identify problematic elements in query plans; pivot and unpivot; apply operator; cte statement; with statement • Implement data types: Use appropriate data; understand the uses and limitations of each data type; impact of GUID (newid, newsequentialid) on database performance, when to use what data type for columns • Implement aggregate queries: New analytic functions; grouping sets; spatial aggregates; apply ranking functions • Query and manage XML data: Understand XML datatypes and their schemas and interop w/, limitations and restrictions; implement XML schemas and handling of XML data; XML data: how to handle it in SQL Server and when and when not to use it, including XML namespaces; import and export XML; XML indexing
  • 11. Contenido del examen 70-461 Modify data (24%) • • • • Create and alter stored procedures (simple statements): Write a stored procedure to meet a given set of requirements; branching logic; create stored procedures and other programmatic objects; techniques for developing stored procedures; different types of storeproc result; create stored procedure for data access layer; program stored procedures, triggers, functions with T-SQL Modify data by using INSERT, UPDATE, and DELETE statements: Given a set of code with defaults, constraints, and triggers, determine the output of a set of DDL; know which SQL statements are best to solve common requirements; use output statement Combine datasets: Difference between UNION and UNION all; case versus isnull versus coalesce; modify data by using MERGE statements Work with functions: Understand deterministic, non-deterministic functions; scalar and table values; apply built-in scalar functions; create and alter user-defined functions (UDFs)
  • 12. Contenido del examen 70-461 Troubleshoot and optimize (25%) • • • • Optimize queries : Understand statistics; read query plans; plan guides; DMVs; hints; statistics IO; dynamic vs. parameterized queries; describe the different join types (HASH, MERGE, LOOP) and describe the scenarios they would be used in Manage transactions: Mark a transaction; understand begin tran, commit, and rollback; implicit vs explicit transactions; isolation levels; scope and type of locks; trancount Evaluate the use of row-based operations vs. set-based operations: When to use cursors; impact of scalar UDFs; combine multiple DML operations Implement error handling:Implement try/catch/throw; use set based rather than row based logic; transaction management
  • 13. IBM 305 RAMAC computer en 1956. Tenía 50 discos de 24” con una capacidad de almacenamiento de 5 millones (poco menos de 5 MB)
  • 14. Introducción a combinación de tablas Cross Join Inner Join Outer Join • Realiza un producto cartesiano • También conocido como todos con todos • Combina las filas basado en una o más columnas comunes • Normalmente las llaves primarias y las foráneas • Solo muestra los registros que tengan un valor común en ambas tablas • Preserva una de las tablas y en los registros que tengan un campo en común con la segunda tabla extrae la información que necesitamos, de lo contrario estas columnas quedarán con un valor no determinado (NULL) • Puede ser LEFT Outer JOIN o RIGHT Outer JOIN Cuando en la consulta intervienen más de dos tablas el sistema va creando una tabla virtual con el resultado de la primera combinación y utiliza este para hacer el “join” con la siguiente tabla
  • 17. LEFT OUTER JOIN Id ID STUDENT 1 Ivan Andrea 3 Pipe Cali 4 10 Tumaco 3 1 Pereira 2 2 2 1 IDCITY CITY Neiva ID STUDENT IDCITY Id CITY 1 Ivan 2 2 Tumaco 2 Andrea 1 1 Pereira 3 Pipe 10 NULL NULL
  • 18. RIGHT OUTER JOIN Id ID STUDENT 1 Ivan Andrea 3 Pipe Tumaco 3 1 Pereira 2 2 2 1 IDCITY CITY Cali 10 ID STUDENT IDCITY Id CITY 1 Ivan 2 2 Tumaco 2 Andrea 1 1 Pereira NULL 3 Cali NULL NULL
  • 20. TABLAS DERIVADAS Basados en el resultado de una consulta se genera un conjunto de datos que será tratado como insumo que será tratado como una tabla para una consulta superior. SELECT PA.Nombre ,NROCAN.NROCANDIDATOS FROM dbo.Partidos AS PA INNER JOIN (SELECT idpartido, COUNT(*) AS NROCANDIDATOS FROM dbo.candidatos2014 GROUP BY idPartido) AS NROCAN ON PA.IDPartido=NROCAN.idpartido ORDER BY NROCAN.NROCANDIDATOS DESC
  • 21. COMMON TABLE EXPRESSION (CTE) Son subconsultas que hacen que el código se vea más limpio, haciendo más fácil su mantenimiento. Normalmente son utilizadas en consultar recursivas. WITH NROCAN AS (SELECT idpartido, COUNT(*) AS NROCANDIDATOS FROM dbo.candidatos2014 GROUP BY idPartido) SELECT PA.Nombre, NROCAN.NROCANDIDATOS FROM dbo.Partidos AS PA INNER JOIN NROCAN ON PA.IDPartido=NROCAN.idpartido ORDER BY NROCAN.NROCANDIDATOS DESC
  • 22. APPLY • A diferencia de los JOIN, en el cual el motor toma las 2 tablas y las cruza por uno o más campos indicados. El comando APPLY puede generar una consulta en la segunda tabla basada en cada una de las filas devultas por la tabla que está a la derecha. • La diferencia entre el CROSS APPLY y el OUTER APPLY es que el primero devuelve solo los registros que encuentra en ambas tablas y el OUTER devolverá NULLs en las columnas donde no consiga un registro de salida en la tabla que se encuentra a la derecha.
  • 23. APPLY SELECT D.deptid, D.deptname, D.deptmgrid ,ST.empid, ST.empname, ST.mgrid FROM Departments AS D CROSS APPLY fn_getsubtree(D.deptmgrid) AS ST;
  • 26. URL de Interés • http://royal.pingdom.com/2008/04/08/the-history-ofcomputer-data-storage-in-pictures/ • http://rateyourmusic.com/list/jweber14/top_100_rock_ba nds_of_the_70s/ • http://en.wikipedia.org/wiki/Latin_American_debt_crisis • http://www.registraduria.gov.co/?page=candidatos_2014 • http://es.wikipedia.org/wiki/Anexo:Partidos_pol%C3%ADtic os_de_Colombia • http://www.amazon.com/Training-Kit-Exam-70-461Microsoft/dp/0735666059/ref=sr_1_1?ie=UTF8&qid=1392 299933&sr=8-1&keywords=70-461 • https://www.facebook.com/groups/7399452387/