SlideShare una empresa de Scribd logo
1 de 8
En esta sección, describiremos las siguientes palabras claves y conceptos SQL:
 SQL UNION
 SQL UNION ALL
 SQL INTERSECT
 SQL MINUS
 SQL Subconsulta
 SQL EXISTS
 SQL CASE
SQL UNION >>
l propósito del comando SQL UNION es combinar los resultados de dos consultas juntas. En este
sentido,UNION es parecido a Join, ya que los dos se utilizan para información relacionada en
múltiples tablas. Una restricción de UNION es que todas las columnas correspondientes necesitan
ser del mismo tipo de datos. También, cuando utilizamos UNION, sólo se seleccionan valores
distintos (similar a SELECTDISTINCT).
La sintaxis es la siguiente:
[Instrucción SQL 1]
UNION
[Instrucción SQL 2]
Supongamos que tenemos las siguientes dos tablas,
Tabla Store_Information
store_name Sales Date
Los Angeles 1500 € 05-Jan-1999
San Diego 250 € 07-Jan-1999
Los Angeles 300 € 08-Jan-1999
Boston 700 € 08-Jan-1999
Tabla Internet_Sales
Date Sales
07-Jan-1999 250 €
10-Jan-1999 535 €
11-Jan-1999 320 €
12-Jan-1999 750 €
y deseamos saber de todas las fechas donde hay una operación de venta. Para hacerlo, utilizamos
la siguiente instrucción SQL:
SELECT Date FROM Store_Information
UNION
SELECT Date FROM Internet_Sales
Resultado:
Date
05-Jan-1999
07-Jan-1999
08-Jan-1999
10-Jan-1999
11-Jan-1999
12-Jan-1999
Por favor note que si ingresamos "SELECT DISTINCT Date" para cada o ambas instrucciones
SQL, obtendremos el mismo conjunto de resultados.
SQL UNION ALL >>
El propósito del Comando SQL UNION ALL es también combinar los resultados de dos consultas
juntas. Ladiferencia entre UNION ALL y UNION es que, mientrasUNION sólo selecciona valores
distintos, UNION ALLselecciona todos los valores.
La sintaxis para UNION ALL es la siguiente:
[Instrucción SQL 1]
UNION ALL
[Instrucción SQL 2]
Utilicemos el mismo ejemplo de la sección anterior para ilustrar la diferencia. Supongamos que
tenemos las siguientes dos tablas,
Tabla Store_Information
store_name Sales Date
Los Angeles 1500 € 05-Jan-1999
San Diego 250 € 07-Jan-1999
Los Angeles 300 € 08-Jan-1999
Boston 700 € 08-Jan-1999
Tabla Internet_Sales
Date Sales
07-Jan-1999 250 €
10-Jan-1999 535 €
11-Jan-1999 320 €
12-Jan-1999 750 €
y deseamos encontrar las fechas en donde se realizó una operación de venta en un negocio como
así también las fechas donde hay una venta a través de Internet. Para hacerlo, utilizamos la
siguiente instrucción SQL:
SELECT Date FROM Store_Information
UNION ALL
SELECT Date FROM Internet_Sales
Resultado:
Date
05-Jan-1999
07-Jan-1999
08-Jan-1999
08-Jan-1999
07-Jan-1999
10-Jan-1999
11-Jan-1999
12-Jan-1999
SQL INTERSECT >>
Parecido al comando UNION, INTERSECT también opera en dos instrucciones SQL. La diferencia
es que, mientras UNION actúa fundamentalmente como unoperador OR (O) (el valor se selecciona
si aparece en la primera o la segunda instrucción), el comandoINTERSECT actúa como un
operador AND (Y) (el valor se selecciona si aparece en ambas instrucciones).
La sintaxis es la siguiente:
[Instrucción SQL 1]
INTERSECT
[Instrucción SQL 2]
Digamos que tenemos las siguientes dos tablas:
Tabla Store_Information
store_name Sales Date
Los Angeles 1500 € 05-Jan-1999
San Diego 250 € 07-Jan-1999
Los Angeles 300 € 08-Jan-1999
Boston 700 € 08-Jan-1999
Tabla Internet_Sales
Date Sales
07-Jan-1999 250 €
10-Jan-1999 535 €
11-Jan-1999 320 €
12-Jan-1999 750 €
y deseamos encontrar todas las fechas donde hay ventas tanto en el negocio como en Internet.
Para hacerlo, utilizamos la siguiente instrucción SQL:
SELECT Date FROM Store_Information
INTERSECT
SELECT Date FROM Internet_Sales
Resultado:
Date
07-Jan-1999
Por favor note que el comando INTERSECT sólo arrojará valores distintivos.
SQL MINUS >>
MINUS opera en dos instrucciones SQL. Toma todos los resultados de la primera instrucción SQL,
y luego sustrae aquellos que se encuentran presentes en la segunda instrucción SQL para obtener
una respuestafinal. Si la segunda instrucción SQL incluye resultados que no están presentes en la
primera instrucción SQL, dichos resultados se ignoran.
La sintaxis es la siguiente:
[Instrucción SQL 1]
MINUS
[Instrucción SQL 2]
Continuemos con el mismo ejemplo:
Tabla Store_Information
store_name Sales Date
Los Angeles 1500 € 05-Jan-1999
San Diego 250 € 07-Jan-1999
Los Angeles 300 € 08-Jan-1999
Boston 700 € 08-Jan-1999
Tabla Internet_Sales
Date Sales
07-Jan-1999 250 €
10-Jan-1999 535 €
11-Jan-1999 320 €
12-Jan-1999 750 €
y deseamos encontrar todas las fechas donde hay ventas en el negocio, pero no aquellas
realizadas por Internet. Para hacerlo, utilizamos la siguiente instrucción SQL:
SELECT Date FROM Store_Information
MINUS
SELECT Date FROM Internet_Sales
Resultado:
Date
05-Jan-1999
08-Jan-1999
"05-Jan-1999", "07-Jan-1999",et "08-Jan-1999" son los valores distintivos arrojados desde
"SELECT Date FROM Store_Information." También se arroja "07-Jan-1999" de la segunda
instrucción SQL, "SELECT Date FROM Internet_Sales," de este modo se lo excluye del conjunto
final de resultados.
Por favor note que el comando MINUSsólo arrojará valores distintos.
Algunas bases de datos pueden utilizar EXCEPT en vez de MINUS. Por favor verifique la
documentación para su base de datos específica para el uso apropiado.
SQL Subconsulta >>
Es posible incorporar una instrucción SQL dentro de otra. Cuando esto se hace en las
instruccionesWHERE o HAVING, tenemos una construcción de subconsulta.
La sintaxis es la siguiente:
SELECT "nombre1_columna"
FROM "nombre1_tabla"
WHERE "nombre2_columna" [Operador de Comparación]
(SELECT "nombre3_columna"
FROM "nombre2_tabla"
WHERE [Condición])
[Operador de Comparación] podrían ser operadores de igualdad tales como =, >, <, >=, <=.
También puede ser un operador textual como "LIKE". La parte en rojose considera como la
"consulta interna", mientras que la parte en verde se considera como la "consulta externa".
Utilisons le même exemple que celui que nous avons utilisé pour illustrer les jointures SQL :
Table Store_Information
store_name Sales Date
Los Angeles 1500 € 05-Jan-1999
San Diego 250 € 07-Jan-1999
Los Angeles 300 € 08-Jan-1999
Boston 700 € 08-Jan-1999
Table Geography
region_name store_name
East Boston
East New York
West Los Angeles
West San Diego
et en utilisant une sous-requête pour trouver les ventes de tous les magasins dans la région West
(Ouest), il faudra utiliser l’instruction SQL suivante :
SELECT SUM(Sales) FROM Store_Information
WHERE Store_name IN
(SELECT store_name FROM Geography
WHERE region_name = 'West')
Résultat :
SUM(Sales)
2050
Dans cet exemple, au lieu de joindre directement les deux tables et d’ajouter seulement le montant
des ventes des magasins de la région West (Ouest), nous allons d’abord utiliser la sous-requête
pour trouver les magasins situés dans la région West (Ouest), puis additionner le montant des
ventes de ces magasins.
Dans l’exemple ci-dessus, la requête interne est d’abord exécutée, puis le résultat est envoyé à la
requête externe. Cetype de sous-requête est appelé sous-requête simple. Si la requête interne
dépend de la requête externe, nous aurons une sous-requête corrélée. Vous trouverez ci-dessous
un exemple de de sous-requête corrélée :
SELECT SUM(a1.Sales) FROM Store_Information a1
WHERE a1.Store_name IN
(SELECT store_name FROM Geography a2
WHERE a2.store_name = a1.store_name)
Notez la clause WHERE dans la requête interne, où la condition nécessite une table de la requête
externe.
SQL EXISTS >>
En la sección anterior, utilizamos IN para enlazar la consulta interna y la consulta externa en una
instrucción de subconsulta. IN no es la única forma de hacerlo – uno puede utilizar muchos
operadores tales como >, <, o =. EXISTS es un operador especial que describiremos
en esta sección.
EXISTS simplemente verifica si la consulta interna arroja alguna fila. Si lo hace, entonces la
consulta externa procede. De no hacerlo, la consulta externa no se ejecuta, y la totalidad de la
instrucción SQL no arroja nada.
La sintaxis para EXISTS es
SELECT "nombre1_columna"
FROM "nombre1_tabla"
WHERE EXISTS
(SELECT *
FROM "nombre2_tabla"
WHERE [Condición])
Por favor note que en vez de *, puede seleccionar una o más columnas en la consulta interna. El
efecto será idéntico.
Utilizamos las mismas tablas de ejemplos:
Tabla Store_Information
store_name Sales Date
Los Angeles 1500 € 05-Jan-1999
San Diego 250 € 07-Jan-1999
Los Angeles 300 € 08-Jan-1999
Boston 700 € 08-Jan-1999
Tabla Geography
region_name store_name
East Boston
East New York
West Los Angeles
West San Diego
colocaríamos la siguiente consulta SQL:
SELECT SUM(Sales) FROM Store_Information
WHERE EXISTS
(SELECT * FROM Geography
WHERE region_name = 'West')
Obtendremos el siguiente resultado:
SUM(Sales)
2750
Al principio, esto puede parecer confuso, debido a que la subsequencia incluye la condición
[region_name = 'West'], aún así la consulta sumó los negocios para todas las regiones. Si
observamos de cerca, encontramos que debido a que la subconsulta arroja más de 0 filas, la
condición EXISTS es verdadera, y la condición colocada dentro de la consulta interna
no influencia la forma en que se ejecuta la consulta externa.
SQL CASE >>
CASE se utiliza para brindar un tipo de lógica "si-entonces-otro" para SQL. Su sintaxis es:
SELECT CASE ("nombre_columna")
WHEN "condición1" THEN "resultado1"
WHEN "condición2" THEN "resultado2"
...
[ELSE "resultadoN"]
END
FROM "nombre_tabla"
"condición" puede ser un valor estático o una expresión. La cláusula ELSE es opcional.
En nuestra Tabla Store_Information de ejemplo,
Tabla Store_Information
store_name Sales Date
Los Angeles 1500 € 05-Jan-1999
San Diego 250 € 07-Jan-1999
San Francisco 300 € 08-Jan-1999
Boston 700 € 08-Jan-1999
si deseamos multiplicar las sumas de ventas de 'Los Angeles' por 2 y las sumas de ventas de 'San
Diego' por 1,5, ingresamos,
SELECT store_name, CASE store_name
WHEN 'Los Angeles' THEN Sales * 2
WHEN 'San Diego' THEN Sales * 1.5
ELSE Sales
END
"Nuevas Ventas",
Date
FROM Store_Information
"Nuevas Ventas" es el nombre que se le otorga a la columna con la instrucción CASE.
Resultado:
store_name Nuevas Ventas Date
Los Angeles 3000 € 05-Jan-1999
San Diego 375 € 07-Jan-1999
San Francisco 300 € 08-Jan-1999
Boston 700 € 08-Jan-1999

Más contenido relacionado

La actualidad más candente (16)

Consultas en sql básico
Consultas en sql básicoConsultas en sql básico
Consultas en sql básico
 
Lab5 sql
Lab5 sqlLab5 sql
Lab5 sql
 
Lab5
Lab5Lab5
Lab5
 
Lab5 sql
Lab5 sqlLab5 sql
Lab5 sql
 
Lab5. SQL
Lab5. SQLLab5. SQL
Lab5. SQL
 
Sql c1
Sql c1Sql c1
Sql c1
 
USO DE SENTECIAS SQL
USO DE SENTECIAS SQLUSO DE SENTECIAS SQL
USO DE SENTECIAS SQL
 
SENTENCIAS DE SQL SERVER
SENTENCIAS DE SQL SERVERSENTENCIAS DE SQL SERVER
SENTENCIAS DE SQL SERVER
 
Introducción a sql server
Introducción a sql serverIntroducción a sql server
Introducción a sql server
 
Sql server 2014 básico
Sql server 2014 básicoSql server 2014 básico
Sql server 2014 básico
 
Comandos SQL
Comandos SQLComandos SQL
Comandos SQL
 
Combinacion de consultas y consultas multitablas
Combinacion de consultas y consultas multitablasCombinacion de consultas y consultas multitablas
Combinacion de consultas y consultas multitablas
 
Consultas básicas en sql server
Consultas básicas en sql serverConsultas básicas en sql server
Consultas básicas en sql server
 
Ejercicio sql tienda informatica (1)
Ejercicio sql tienda informatica (1)Ejercicio sql tienda informatica (1)
Ejercicio sql tienda informatica (1)
 
Consultas en SQL
Consultas en SQLConsultas en SQL
Consultas en SQL
 
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
 

Destacado

Ffch 6013 health promotion and disease prevention module
Ffch 6013 health promotion and disease prevention moduleFfch 6013 health promotion and disease prevention module
Ffch 6013 health promotion and disease prevention modulek007381
 
Venicio informe de Plan de Tesis 2010
Venicio informe de Plan de Tesis 2010Venicio informe de Plan de Tesis 2010
Venicio informe de Plan de Tesis 2010Venicio Davila Rocano
 
ВИЧ и подростки: рекомендации ВОЗ
ВИЧ и подростки: рекомендации ВОЗ ВИЧ и подростки: рекомендации ВОЗ
ВИЧ и подростки: рекомендации ВОЗ Tania Evlampieva
 
The Health and Learning Benefits of Green Schools for Our Children
The Health and Learning Benefits of Green Schools for Our ChildrenThe Health and Learning Benefits of Green Schools for Our Children
The Health and Learning Benefits of Green Schools for Our ChildrenBenBeckers
 
Prestação de contas não enviadas pdde pde escola 2012
Prestação de contas não enviadas pdde pde   escola 2012Prestação de contas não enviadas pdde pde   escola 2012
Prestação de contas não enviadas pdde pde escola 2012José Ripardo
 
Optcl (working capital management)
Optcl (working capital management)Optcl (working capital management)
Optcl (working capital management)Vikash Kumar Jha
 
Modulo Visual Basic 6.0
Modulo Visual Basic 6.0Modulo Visual Basic 6.0
Modulo Visual Basic 6.0Free TIC
 
Maths engagment and real-world problem solving through Maths tasks. The Langu...
Maths engagment and real-world problem solving through Maths tasks. The Langu...Maths engagment and real-world problem solving through Maths tasks. The Langu...
Maths engagment and real-world problem solving through Maths tasks. The Langu...ROCIO YUSTE
 
Generacion de la_informacion_catastral
Generacion de la_informacion_catastralGeneracion de la_informacion_catastral
Generacion de la_informacion_catastralYadisita-2014
 
WSDM2012読み会: Learning to Rank with Multi-Aspect Relevance for Vertical Search
WSDM2012読み会: Learning to Rank with Multi-Aspect Relevance for Vertical SearchWSDM2012読み会: Learning to Rank with Multi-Aspect Relevance for Vertical Search
WSDM2012読み会: Learning to Rank with Multi-Aspect Relevance for Vertical Searchsleepy_yoshi
 
Insulinoterapia 08 2007beta
Insulinoterapia 08 2007betaInsulinoterapia 08 2007beta
Insulinoterapia 08 2007betaRocio Fernández
 
mejoramiento continuo F.U.S
mejoramiento continuo F.U.Smejoramiento continuo F.U.S
mejoramiento continuo F.U.Sguest595683
 

Destacado (20)

Pathways 25 3
Pathways 25 3Pathways 25 3
Pathways 25 3
 
Colgate marketing report
Colgate marketing reportColgate marketing report
Colgate marketing report
 
Ffch 6013 health promotion and disease prevention module
Ffch 6013 health promotion and disease prevention moduleFfch 6013 health promotion and disease prevention module
Ffch 6013 health promotion and disease prevention module
 
Venicio informe de Plan de Tesis 2010
Venicio informe de Plan de Tesis 2010Venicio informe de Plan de Tesis 2010
Venicio informe de Plan de Tesis 2010
 
ВИЧ и подростки: рекомендации ВОЗ
ВИЧ и подростки: рекомендации ВОЗ ВИЧ и подростки: рекомендации ВОЗ
ВИЧ и подростки: рекомендации ВОЗ
 
Letter writing
Letter writingLetter writing
Letter writing
 
Avso Effects Of Youth Volunteering
Avso Effects Of Youth VolunteeringAvso Effects Of Youth Volunteering
Avso Effects Of Youth Volunteering
 
The Health and Learning Benefits of Green Schools for Our Children
The Health and Learning Benefits of Green Schools for Our ChildrenThe Health and Learning Benefits of Green Schools for Our Children
The Health and Learning Benefits of Green Schools for Our Children
 
Prestação de contas não enviadas pdde pde escola 2012
Prestação de contas não enviadas pdde pde   escola 2012Prestação de contas não enviadas pdde pde   escola 2012
Prestação de contas não enviadas pdde pde escola 2012
 
Picture Medicine
Picture MedicinePicture Medicine
Picture Medicine
 
Optcl (working capital management)
Optcl (working capital management)Optcl (working capital management)
Optcl (working capital management)
 
El plagio
El plagioEl plagio
El plagio
 
Modulo Visual Basic 6.0
Modulo Visual Basic 6.0Modulo Visual Basic 6.0
Modulo Visual Basic 6.0
 
Maths engagment and real-world problem solving through Maths tasks. The Langu...
Maths engagment and real-world problem solving through Maths tasks. The Langu...Maths engagment and real-world problem solving through Maths tasks. The Langu...
Maths engagment and real-world problem solving through Maths tasks. The Langu...
 
Singapore safety mgmt-sys
Singapore safety mgmt-sysSingapore safety mgmt-sys
Singapore safety mgmt-sys
 
Generacion de la_informacion_catastral
Generacion de la_informacion_catastralGeneracion de la_informacion_catastral
Generacion de la_informacion_catastral
 
El comportamiento organizacional
El comportamiento organizacionalEl comportamiento organizacional
El comportamiento organizacional
 
WSDM2012読み会: Learning to Rank with Multi-Aspect Relevance for Vertical Search
WSDM2012読み会: Learning to Rank with Multi-Aspect Relevance for Vertical SearchWSDM2012読み会: Learning to Rank with Multi-Aspect Relevance for Vertical Search
WSDM2012読み会: Learning to Rank with Multi-Aspect Relevance for Vertical Search
 
Insulinoterapia 08 2007beta
Insulinoterapia 08 2007betaInsulinoterapia 08 2007beta
Insulinoterapia 08 2007beta
 
mejoramiento continuo F.U.S
mejoramiento continuo F.U.Smejoramiento continuo F.U.S
mejoramiento continuo F.U.S
 

Similar a Sql avanzado

Proyecto De Aplicacion A La Bases Datos
Proyecto De Aplicacion A La Bases DatosProyecto De Aplicacion A La Bases Datos
Proyecto De Aplicacion A La Bases DatosAndreitap de Granda
 
Comandos utilizados en sql
Comandos utilizados en sqlComandos utilizados en sql
Comandos utilizados en sqlByron Eras
 
diapositiva-clase-unidad-4-sql.pptx
diapositiva-clase-unidad-4-sql.pptxdiapositiva-clase-unidad-4-sql.pptx
diapositiva-clase-unidad-4-sql.pptxrch_bar
 
diapositiva-clase-unidad-4-sql.pptx
diapositiva-clase-unidad-4-sql.pptxdiapositiva-clase-unidad-4-sql.pptx
diapositiva-clase-unidad-4-sql.pptxpolo28slp
 
Mejoras en T-SQL para SQL Server 2005
Mejoras en T-SQL para SQL Server 2005Mejoras en T-SQL para SQL Server 2005
Mejoras en T-SQL para SQL Server 2005pabloesp
 
Insertar editarborrar registros sql_server_tutorial 2015
Insertar editarborrar registros sql_server_tutorial 2015Insertar editarborrar registros sql_server_tutorial 2015
Insertar editarborrar registros sql_server_tutorial 2015Jomar Burgos Palacios
 
Guía de declaraciones de open sql
Guía  de declaraciones de open sqlGuía  de declaraciones de open sql
Guía de declaraciones de open sqlMarcos Nava Ramirez
 
Introducción a Sql
Introducción a SqlIntroducción a Sql
Introducción a Sqlalexmerono
 
Transacciones en mysql
Transacciones en mysqlTransacciones en mysql
Transacciones en mysqlCarmen Sena C
 
Excel Intermedio - Unidad Didactica I
Excel Intermedio - Unidad Didactica IExcel Intermedio - Unidad Didactica I
Excel Intermedio - Unidad Didactica IEdwin Raymundo
 
Consultas multitabla clase
Consultas multitabla claseConsultas multitabla clase
Consultas multitabla claseAlejandra Vera
 

Similar a Sql avanzado (20)

Funciones
FuncionesFunciones
Funciones
 
Proyecto De Aplicacion A La Bases Datos
Proyecto De Aplicacion A La Bases DatosProyecto De Aplicacion A La Bases Datos
Proyecto De Aplicacion A La Bases Datos
 
Ti. Sql.Caso1al9.Consultas
Ti. Sql.Caso1al9.ConsultasTi. Sql.Caso1al9.Consultas
Ti. Sql.Caso1al9.Consultas
 
Comandos utilizados en sql
Comandos utilizados en sqlComandos utilizados en sql
Comandos utilizados en sql
 
diapositiva-clase-unidad-4-sql.pptx
diapositiva-clase-unidad-4-sql.pptxdiapositiva-clase-unidad-4-sql.pptx
diapositiva-clase-unidad-4-sql.pptx
 
diapositiva-clase-unidad-4-sql.pptx
diapositiva-clase-unidad-4-sql.pptxdiapositiva-clase-unidad-4-sql.pptx
diapositiva-clase-unidad-4-sql.pptx
 
Mejoras en T-SQL para SQL Server 2005
Mejoras en T-SQL para SQL Server 2005Mejoras en T-SQL para SQL Server 2005
Mejoras en T-SQL para SQL Server 2005
 
Insertar editarborrar registros sql_server_tutorial 2015
Insertar editarborrar registros sql_server_tutorial 2015Insertar editarborrar registros sql_server_tutorial 2015
Insertar editarborrar registros sql_server_tutorial 2015
 
Guía de declaraciones de open sql
Guía  de declaraciones de open sqlGuía  de declaraciones de open sql
Guía de declaraciones de open sql
 
Practica5
Practica5Practica5
Practica5
 
Bases de datos ii
Bases de datos iiBases de datos ii
Bases de datos ii
 
Introducción a Sql
Introducción a SqlIntroducción a Sql
Introducción a Sql
 
Transacciones en mysql
Transacciones en mysqlTransacciones en mysql
Transacciones en mysql
 
Sentencia select
Sentencia selectSentencia select
Sentencia select
 
Sentencias sql
Sentencias sqlSentencias sql
Sentencias sql
 
Lab5 sql
Lab5 sqlLab5 sql
Lab5 sql
 
Lab5 sql
Lab5 sqlLab5 sql
Lab5 sql
 
Excel Intermedio - Unidad Didactica I
Excel Intermedio - Unidad Didactica IExcel Intermedio - Unidad Didactica I
Excel Intermedio - Unidad Didactica I
 
Operaciones basicas de sql
Operaciones basicas de sqlOperaciones basicas de sql
Operaciones basicas de sql
 
Consultas multitabla clase
Consultas multitabla claseConsultas multitabla clase
Consultas multitabla clase
 

Último

Biografías y Cuadro compartivo_Cuautle Ocelotl Angel Efren.pdf.pdf
Biografías y Cuadro compartivo_Cuautle Ocelotl Angel Efren.pdf.pdfBiografías y Cuadro compartivo_Cuautle Ocelotl Angel Efren.pdf.pdf
Biografías y Cuadro compartivo_Cuautle Ocelotl Angel Efren.pdf.pdfANGELEFRENCUAUTLEOCE
 
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
 
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,juberrodasflores
 
PANTEÓN DE Paris en historia de la arquitectura
PANTEÓN DE Paris en historia de la arquitecturaPANTEÓN DE Paris en historia de la arquitectura
PANTEÓN DE Paris en historia de la arquitecturaRosaHurtado26
 
Familias sionistas dentro de los 10 clanes familiares más ricos por regiones ...
Familias sionistas dentro de los 10 clanes familiares más ricos por regiones ...Familias sionistas dentro de los 10 clanes familiares más ricos por regiones ...
Familias sionistas dentro de los 10 clanes familiares más ricos por regiones ...JC Díaz Herrera
 
Familias más ricas de países de AL en inicio de su hegemonía (2024).pdf
Familias más ricas de países de AL en inicio de su hegemonía (2024).pdfFamilias más ricas de países de AL en inicio de su hegemonía (2024).pdf
Familias más ricas de países de AL en inicio de su hegemonía (2024).pdfJC Díaz Herrera
 
Posiciones en el IDH global de EUA (1950-2024).pdf
Posiciones en el IDH global de EUA (1950-2024).pdfPosiciones en el IDH global de EUA (1950-2024).pdf
Posiciones en el IDH global de EUA (1950-2024).pdfJC Díaz Herrera
 
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
 
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
 
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
 
Posiciones_del_sionismo_en_los_imperios globales de la humanidad (2024).pdf
Posiciones_del_sionismo_en_los_imperios globales de la humanidad (2024).pdfPosiciones_del_sionismo_en_los_imperios globales de la humanidad (2024).pdf
Posiciones_del_sionismo_en_los_imperios globales de la humanidad (2024).pdfJC Díaz Herrera
 
Industria musical de EUA vs Industria musical Corea del Sur (2024).pdf
Industria musical de EUA vs Industria musical Corea del Sur (2024).pdfIndustria musical de EUA vs Industria musical Corea del Sur (2024).pdf
Industria musical de EUA vs Industria musical Corea del Sur (2024).pdfJC Díaz Herrera
 
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
 
Reducción de la pobreza en Sexenio de AMLO (2018-2024).pdf
Reducción de la pobreza en Sexenio de AMLO (2018-2024).pdfReducción de la pobreza en Sexenio de AMLO (2018-2024).pdf
Reducción de la pobreza en Sexenio de AMLO (2018-2024).pdfJC Díaz Herrera
 
Las marcas automotrices con más ventas de vehículos (2024).pdf
Las marcas automotrices con más ventas de vehículos (2024).pdfLas marcas automotrices con más ventas de vehículos (2024).pdf
Las marcas automotrices con más ventas de vehículos (2024).pdfJC Díaz Herrera
 
Panorama Sociodemográfico de México 2020: GUANAJUATO
Panorama Sociodemográfico de México 2020: GUANAJUATOPanorama Sociodemográfico de México 2020: GUANAJUATO
Panorama Sociodemográfico de México 2020: GUANAJUATOJuan Carlos Fonseca Mata
 
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
 
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
 
Los_países_con_la_mayor_cantidad_de_rascacielos (2023).pdf
Los_países_con_la_mayor_cantidad_de_rascacielos (2023).pdfLos_países_con_la_mayor_cantidad_de_rascacielos (2023).pdf
Los_países_con_la_mayor_cantidad_de_rascacielos (2023).pdfJC Díaz Herrera
 
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
 

Último (20)

Biografías y Cuadro compartivo_Cuautle Ocelotl Angel Efren.pdf.pdf
Biografías y Cuadro compartivo_Cuautle Ocelotl Angel Efren.pdf.pdfBiografías y Cuadro compartivo_Cuautle Ocelotl Angel Efren.pdf.pdf
Biografías y Cuadro compartivo_Cuautle Ocelotl Angel Efren.pdf.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
 
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
 
PANTEÓN DE Paris en historia de la arquitectura
PANTEÓN DE Paris en historia de la arquitecturaPANTEÓN DE Paris en historia de la arquitectura
PANTEÓN DE Paris en historia de la arquitectura
 
Familias sionistas dentro de los 10 clanes familiares más ricos por regiones ...
Familias sionistas dentro de los 10 clanes familiares más ricos por regiones ...Familias sionistas dentro de los 10 clanes familiares más ricos por regiones ...
Familias sionistas dentro de los 10 clanes familiares más ricos por regiones ...
 
Familias más ricas de países de AL en inicio de su hegemonía (2024).pdf
Familias más ricas de países de AL en inicio de su hegemonía (2024).pdfFamilias más ricas de países de AL en inicio de su hegemonía (2024).pdf
Familias más ricas de países de AL en inicio de su hegemonía (2024).pdf
 
Posiciones en el IDH global de EUA (1950-2024).pdf
Posiciones en el IDH global de EUA (1950-2024).pdfPosiciones en el IDH global de EUA (1950-2024).pdf
Posiciones en el IDH global de EUA (1950-2024).pdf
 
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
 
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
 
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
 
Posiciones_del_sionismo_en_los_imperios globales de la humanidad (2024).pdf
Posiciones_del_sionismo_en_los_imperios globales de la humanidad (2024).pdfPosiciones_del_sionismo_en_los_imperios globales de la humanidad (2024).pdf
Posiciones_del_sionismo_en_los_imperios globales de la humanidad (2024).pdf
 
Industria musical de EUA vs Industria musical Corea del Sur (2024).pdf
Industria musical de EUA vs Industria musical Corea del Sur (2024).pdfIndustria musical de EUA vs Industria musical Corea del Sur (2024).pdf
Industria musical de EUA vs Industria musical Corea del Sur (2024).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
 
Reducción de la pobreza en Sexenio de AMLO (2018-2024).pdf
Reducción de la pobreza en Sexenio de AMLO (2018-2024).pdfReducción de la pobreza en Sexenio de AMLO (2018-2024).pdf
Reducción de la pobreza en Sexenio de AMLO (2018-2024).pdf
 
Las marcas automotrices con más ventas de vehículos (2024).pdf
Las marcas automotrices con más ventas de vehículos (2024).pdfLas marcas automotrices con más ventas de vehículos (2024).pdf
Las marcas automotrices con más ventas de vehículos (2024).pdf
 
Panorama Sociodemográfico de México 2020: GUANAJUATO
Panorama Sociodemográfico de México 2020: GUANAJUATOPanorama Sociodemográfico de México 2020: GUANAJUATO
Panorama Sociodemográfico de México 2020: GUANAJUATO
 
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
 
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
 
Los_países_con_la_mayor_cantidad_de_rascacielos (2023).pdf
Los_países_con_la_mayor_cantidad_de_rascacielos (2023).pdfLos_países_con_la_mayor_cantidad_de_rascacielos (2023).pdf
Los_países_con_la_mayor_cantidad_de_rascacielos (2023).pdf
 
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
 

Sql avanzado

  • 1. En esta sección, describiremos las siguientes palabras claves y conceptos SQL:  SQL UNION  SQL UNION ALL  SQL INTERSECT  SQL MINUS  SQL Subconsulta  SQL EXISTS  SQL CASE SQL UNION >> l propósito del comando SQL UNION es combinar los resultados de dos consultas juntas. En este sentido,UNION es parecido a Join, ya que los dos se utilizan para información relacionada en múltiples tablas. Una restricción de UNION es que todas las columnas correspondientes necesitan ser del mismo tipo de datos. También, cuando utilizamos UNION, sólo se seleccionan valores distintos (similar a SELECTDISTINCT). La sintaxis es la siguiente: [Instrucción SQL 1] UNION [Instrucción SQL 2] Supongamos que tenemos las siguientes dos tablas, Tabla Store_Information store_name Sales Date Los Angeles 1500 € 05-Jan-1999 San Diego 250 € 07-Jan-1999 Los Angeles 300 € 08-Jan-1999 Boston 700 € 08-Jan-1999 Tabla Internet_Sales Date Sales 07-Jan-1999 250 € 10-Jan-1999 535 € 11-Jan-1999 320 € 12-Jan-1999 750 € y deseamos saber de todas las fechas donde hay una operación de venta. Para hacerlo, utilizamos la siguiente instrucción SQL: SELECT Date FROM Store_Information UNION SELECT Date FROM Internet_Sales
  • 2. Resultado: Date 05-Jan-1999 07-Jan-1999 08-Jan-1999 10-Jan-1999 11-Jan-1999 12-Jan-1999 Por favor note que si ingresamos "SELECT DISTINCT Date" para cada o ambas instrucciones SQL, obtendremos el mismo conjunto de resultados. SQL UNION ALL >> El propósito del Comando SQL UNION ALL es también combinar los resultados de dos consultas juntas. Ladiferencia entre UNION ALL y UNION es que, mientrasUNION sólo selecciona valores distintos, UNION ALLselecciona todos los valores. La sintaxis para UNION ALL es la siguiente: [Instrucción SQL 1] UNION ALL [Instrucción SQL 2] Utilicemos el mismo ejemplo de la sección anterior para ilustrar la diferencia. Supongamos que tenemos las siguientes dos tablas, Tabla Store_Information store_name Sales Date Los Angeles 1500 € 05-Jan-1999 San Diego 250 € 07-Jan-1999 Los Angeles 300 € 08-Jan-1999 Boston 700 € 08-Jan-1999 Tabla Internet_Sales Date Sales 07-Jan-1999 250 € 10-Jan-1999 535 € 11-Jan-1999 320 € 12-Jan-1999 750 € y deseamos encontrar las fechas en donde se realizó una operación de venta en un negocio como así también las fechas donde hay una venta a través de Internet. Para hacerlo, utilizamos la siguiente instrucción SQL:
  • 3. SELECT Date FROM Store_Information UNION ALL SELECT Date FROM Internet_Sales Resultado: Date 05-Jan-1999 07-Jan-1999 08-Jan-1999 08-Jan-1999 07-Jan-1999 10-Jan-1999 11-Jan-1999 12-Jan-1999 SQL INTERSECT >> Parecido al comando UNION, INTERSECT también opera en dos instrucciones SQL. La diferencia es que, mientras UNION actúa fundamentalmente como unoperador OR (O) (el valor se selecciona si aparece en la primera o la segunda instrucción), el comandoINTERSECT actúa como un operador AND (Y) (el valor se selecciona si aparece en ambas instrucciones). La sintaxis es la siguiente: [Instrucción SQL 1] INTERSECT [Instrucción SQL 2] Digamos que tenemos las siguientes dos tablas: Tabla Store_Information store_name Sales Date Los Angeles 1500 € 05-Jan-1999 San Diego 250 € 07-Jan-1999 Los Angeles 300 € 08-Jan-1999 Boston 700 € 08-Jan-1999 Tabla Internet_Sales Date Sales 07-Jan-1999 250 € 10-Jan-1999 535 € 11-Jan-1999 320 € 12-Jan-1999 750 €
  • 4. y deseamos encontrar todas las fechas donde hay ventas tanto en el negocio como en Internet. Para hacerlo, utilizamos la siguiente instrucción SQL: SELECT Date FROM Store_Information INTERSECT SELECT Date FROM Internet_Sales Resultado: Date 07-Jan-1999 Por favor note que el comando INTERSECT sólo arrojará valores distintivos. SQL MINUS >> MINUS opera en dos instrucciones SQL. Toma todos los resultados de la primera instrucción SQL, y luego sustrae aquellos que se encuentran presentes en la segunda instrucción SQL para obtener una respuestafinal. Si la segunda instrucción SQL incluye resultados que no están presentes en la primera instrucción SQL, dichos resultados se ignoran. La sintaxis es la siguiente: [Instrucción SQL 1] MINUS [Instrucción SQL 2] Continuemos con el mismo ejemplo: Tabla Store_Information store_name Sales Date Los Angeles 1500 € 05-Jan-1999 San Diego 250 € 07-Jan-1999 Los Angeles 300 € 08-Jan-1999 Boston 700 € 08-Jan-1999 Tabla Internet_Sales Date Sales 07-Jan-1999 250 € 10-Jan-1999 535 € 11-Jan-1999 320 € 12-Jan-1999 750 € y deseamos encontrar todas las fechas donde hay ventas en el negocio, pero no aquellas realizadas por Internet. Para hacerlo, utilizamos la siguiente instrucción SQL:
  • 5. SELECT Date FROM Store_Information MINUS SELECT Date FROM Internet_Sales Resultado: Date 05-Jan-1999 08-Jan-1999 "05-Jan-1999", "07-Jan-1999",et "08-Jan-1999" son los valores distintivos arrojados desde "SELECT Date FROM Store_Information." También se arroja "07-Jan-1999" de la segunda instrucción SQL, "SELECT Date FROM Internet_Sales," de este modo se lo excluye del conjunto final de resultados. Por favor note que el comando MINUSsólo arrojará valores distintos. Algunas bases de datos pueden utilizar EXCEPT en vez de MINUS. Por favor verifique la documentación para su base de datos específica para el uso apropiado. SQL Subconsulta >> Es posible incorporar una instrucción SQL dentro de otra. Cuando esto se hace en las instruccionesWHERE o HAVING, tenemos una construcción de subconsulta. La sintaxis es la siguiente: SELECT "nombre1_columna" FROM "nombre1_tabla" WHERE "nombre2_columna" [Operador de Comparación] (SELECT "nombre3_columna" FROM "nombre2_tabla" WHERE [Condición]) [Operador de Comparación] podrían ser operadores de igualdad tales como =, >, <, >=, <=. También puede ser un operador textual como "LIKE". La parte en rojose considera como la "consulta interna", mientras que la parte en verde se considera como la "consulta externa". Utilisons le même exemple que celui que nous avons utilisé pour illustrer les jointures SQL : Table Store_Information store_name Sales Date Los Angeles 1500 € 05-Jan-1999 San Diego 250 € 07-Jan-1999 Los Angeles 300 € 08-Jan-1999 Boston 700 € 08-Jan-1999 Table Geography
  • 6. region_name store_name East Boston East New York West Los Angeles West San Diego et en utilisant une sous-requête pour trouver les ventes de tous les magasins dans la région West (Ouest), il faudra utiliser l’instruction SQL suivante : SELECT SUM(Sales) FROM Store_Information WHERE Store_name IN (SELECT store_name FROM Geography WHERE region_name = 'West') Résultat : SUM(Sales) 2050 Dans cet exemple, au lieu de joindre directement les deux tables et d’ajouter seulement le montant des ventes des magasins de la région West (Ouest), nous allons d’abord utiliser la sous-requête pour trouver les magasins situés dans la région West (Ouest), puis additionner le montant des ventes de ces magasins. Dans l’exemple ci-dessus, la requête interne est d’abord exécutée, puis le résultat est envoyé à la requête externe. Cetype de sous-requête est appelé sous-requête simple. Si la requête interne dépend de la requête externe, nous aurons une sous-requête corrélée. Vous trouverez ci-dessous un exemple de de sous-requête corrélée : SELECT SUM(a1.Sales) FROM Store_Information a1 WHERE a1.Store_name IN (SELECT store_name FROM Geography a2 WHERE a2.store_name = a1.store_name) Notez la clause WHERE dans la requête interne, où la condition nécessite une table de la requête externe. SQL EXISTS >> En la sección anterior, utilizamos IN para enlazar la consulta interna y la consulta externa en una instrucción de subconsulta. IN no es la única forma de hacerlo – uno puede utilizar muchos operadores tales como >, <, o =. EXISTS es un operador especial que describiremos en esta sección. EXISTS simplemente verifica si la consulta interna arroja alguna fila. Si lo hace, entonces la consulta externa procede. De no hacerlo, la consulta externa no se ejecuta, y la totalidad de la instrucción SQL no arroja nada. La sintaxis para EXISTS es
  • 7. SELECT "nombre1_columna" FROM "nombre1_tabla" WHERE EXISTS (SELECT * FROM "nombre2_tabla" WHERE [Condición]) Por favor note que en vez de *, puede seleccionar una o más columnas en la consulta interna. El efecto será idéntico. Utilizamos las mismas tablas de ejemplos: Tabla Store_Information store_name Sales Date Los Angeles 1500 € 05-Jan-1999 San Diego 250 € 07-Jan-1999 Los Angeles 300 € 08-Jan-1999 Boston 700 € 08-Jan-1999 Tabla Geography region_name store_name East Boston East New York West Los Angeles West San Diego colocaríamos la siguiente consulta SQL: SELECT SUM(Sales) FROM Store_Information WHERE EXISTS (SELECT * FROM Geography WHERE region_name = 'West') Obtendremos el siguiente resultado: SUM(Sales) 2750 Al principio, esto puede parecer confuso, debido a que la subsequencia incluye la condición [region_name = 'West'], aún así la consulta sumó los negocios para todas las regiones. Si observamos de cerca, encontramos que debido a que la subconsulta arroja más de 0 filas, la condición EXISTS es verdadera, y la condición colocada dentro de la consulta interna no influencia la forma en que se ejecuta la consulta externa. SQL CASE >> CASE se utiliza para brindar un tipo de lógica "si-entonces-otro" para SQL. Su sintaxis es:
  • 8. SELECT CASE ("nombre_columna") WHEN "condición1" THEN "resultado1" WHEN "condición2" THEN "resultado2" ... [ELSE "resultadoN"] END FROM "nombre_tabla" "condición" puede ser un valor estático o una expresión. La cláusula ELSE es opcional. En nuestra Tabla Store_Information de ejemplo, Tabla Store_Information store_name Sales Date Los Angeles 1500 € 05-Jan-1999 San Diego 250 € 07-Jan-1999 San Francisco 300 € 08-Jan-1999 Boston 700 € 08-Jan-1999 si deseamos multiplicar las sumas de ventas de 'Los Angeles' por 2 y las sumas de ventas de 'San Diego' por 1,5, ingresamos, SELECT store_name, CASE store_name WHEN 'Los Angeles' THEN Sales * 2 WHEN 'San Diego' THEN Sales * 1.5 ELSE Sales END "Nuevas Ventas", Date FROM Store_Information "Nuevas Ventas" es el nombre que se le otorga a la columna con la instrucción CASE. Resultado: store_name Nuevas Ventas Date Los Angeles 3000 € 05-Jan-1999 San Diego 375 € 07-Jan-1999 San Francisco 300 € 08-Jan-1999 Boston 700 € 08-Jan-1999