SlideShare una empresa de Scribd logo
1 de 13
Descargar para leer sin conexión
Autor: Nicola Strappazzon C.
                 e-mail: nicola51980@gmail.com




                                                                         7
                 Blog: http://www.swapbytes.com/
                 Revisión: 17/11/11




Sección
      Usando los operadores
          de conjunto

Este material se encuentra basado en el curso de Fundamentos a SQL de ORACLE, el cual es adaptado para
el producto PostgreSQL, todos los ejemplos, códigos fuentes y la Base de Datos HR es propiedad de ORACLE.
Objetivos
    Al completar esta lección usted podrá entender los
    siguientes puntos:
    • Describir cuales son los diversos tipos de operadores de
      conjunto.
    • Como usar los operadores de conjunto en múltiples
      consultas.
    • Controlar el orden de como son retornados los registros




L- 2 -
   L
Consideraciones de los operadores
   • La lógica de estos tipos de operadores nace de la teoría
     de conjuntos.
   • Permite unir dos o mas consultas en una sola.
   • Cada consulta debe retornar la misma cantidad de
     columnas y del mismo tipo de dato.
   • No importa si el nombre de las columna son diferentes,
     siempre se muestran los nombres de la primera
     consulta..
   • No importa la cantidad de registros retornados.
   • Puede utilizar la cláusula ORDER BY o LIMIT, al final de
     la ultima consulta, esto afecta a todo el resultado.


L- 3-
   L
¿Cuando se usan los operadores?
   • Reportes donde se requiere complementar los datos
     mediante totales, estos pueden estar divididos por
     grupos.
   • Construir un reporte que consolide un solo resultado
     desde diversas fuentes.




L- 4-
   L
Tipos de operadores de conjuntos



         A   B       A       B       A       B            A        B


         UNION      UNION ALL        INTERSECT              EXCEPT

  Une distintas   Une distintas   Une distintas        Une distintas
  consultas, no   consultas, si   consultas, retorna   consultas, y solo
  muestra los     muestra los     únicamente los       muestra los
  registros       registros       registros que son    registros de A y
  duplicados.     duplicados.     duplicados.          no los de B.




L- 5 -
   L
Usando el operador UNION

   Lista los códigos de cada empleado, con su cargo
   actual y su historio.
   SELECT   employee_id, job_id
   FROM     employees
   UNION
   SELECT   employee_id, job_id
   FROM     job_history;

    employee_id |   job_id
   -------------+------------
            100 | AD_PRES
            101 | AC_ACCOUNT
            101 | AC_MGR
            101 | AD_VP
            102 | AD_VP
   ▪ ▪ ▪
   (105 rows)

L- 6-
   L
Usando el operador UNION ALL

   Lista los códigos de cada empleado, con su cargo
   actual y su historio, sin importar que se repitan.
   SELECT employee_id, job_id, department_id
   FROM   employees
   UNION ALL
   SELECT employee_id, job_id, department_id
   FROM   job_history
   ORDER BY employee_id;

    employee_id |   job_id   | department_id
   -------------+------------+---------------
   ▪ ▪ ▪
            200 | AC_ACCOUNT |            90
            200 | AD_ASST    |            10
            200 | AD_ASST    |            90
            201 | MK_REP     |            20
   ▪ ▪ ▪
   (117 rows)
L- 7-
   L
Usando el operador INTERSECT

   Lista los códigos de cada empleado, con su cargo
   actual y su historio, siempre y cuando se repitan.
   SELECT employee_id, job_id
   FROM   employees
   INTERSECT
   SELECT employee_id, job_id
   FROM   job_history

    employee_id | job_id
   -------------+---------
            176 | SA_REP
            200 | AD_ASST
   (2 rows)




L- 8-
   L
Usando el operador EXCEPT
   Lista los códigos de cada empleado, con su cargo
   actual y su historio, siempre y cuando no existan en la
   segunda consulta.
   SELECT   employee_id, job_id
   FROM     employees
   EXCEPT
   SELECT   employee_id, job_id
   FROM     job_history;

    employee_id |   job_id
   -------------+------------
   ▪ ▪ ▪
            199 | SH_CLERK
            201 | MK_MAN
            202 | MK_REP
            203 | HR_REP
   ▪ ▪ ▪
   (105 rows)
L- 9-
   L
Manejo de columnas no existentes
     • Puede remplazar el nombre de una columna por un valor
       por defecto.
     • Los valores serán colocados en la consulta que no tiene
       la columna a mostrar.
     • Estos valores deben ser del tipo de dato a la columna
       que hacemos referencia, como por ejemplo:
        - Utilizamos null como un valor genérico, el valor 0 u
           otro tipo de literales.




L - 10 -
     L
Utilizando el valor null

    SELECT department_id, hire_date, null
    FROM   employees
    UNION
    SELECT department_id, null, location_id
    FROM   departments
    LIMIT 100;

      department_id | hire_date | ?column?
     ---------------+------------+----------
                 10 | 1987-09-17 |
                 10 |            |     1700
                 20 | 1996-02-17 |
                 20 | 1997-08-17 |
                 20 |            |     1800
                 30 | 1994-12-07 |
     ▪ ▪ ▪
     (100 rows)


L - 11 -
     L
Utilizando valores por defecto

    SELECT   employee_id, job_id, salary
    FROM     employees
    UNION
    SELECT   employee_id, job_id, 0
    FROM     job_history;

      employee_id |   job_id   | salary
     -------------+------------+--------
              100 | AD_PRES    | 24000
              101 | AC_ACCOUNT |      0
              101 | AC_MGR     |      0
              101 | AD_VP      | 17000
              102 | AD_VP      | 17000
              102 | IT_PROG    |      0
              103 | IT_PROG    |   9000
     ▪ ▪ ▪
     (130 rows)

L - 12 -
     L
Resumen

     En esta lección, usted debió entender como:
     • Usar el operador UNION para retornar diferentes
       registros.
     • Usar el operador UNION ALL para retornar todos los
       registros incluyendo los duplicados.
     • Usar el operador INTERSECT para retornar todos los
       registros comunes.
     • Usar el operador EXCEPT para retornar todos los
       registros que son diferentes en la primera consulta, y
       estos no se encuentran en la segunda consulta.
     • Ordenar los registros con la cláusula ORDER BY o definir
       un máximo con la cláusula LIMIT.
L - 13 -
     L

Más contenido relacionado

La actualidad más candente

Normalización de Base de Datos
Normalización de Base de DatosNormalización de Base de Datos
Normalización de Base de DatosVictor Chavez
 
Comandos ddl y dml
Comandos ddl y dmlComandos ddl y dml
Comandos ddl y dmlGerardo
 
PostgreSQL - Lección 4 - Usando funciones para manipular grupos de datos
PostgreSQL - Lección 4 - Usando funciones para manipular grupos de datosPostgreSQL - Lección 4 - Usando funciones para manipular grupos de datos
PostgreSQL - Lección 4 - Usando funciones para manipular grupos de datosNicola Strappazzon C.
 
Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos josecuartas
 
Manual de instalacion de Mongo db
Manual de instalacion de Mongo dbManual de instalacion de Mongo db
Manual de instalacion de Mongo dbRuby B. Blanca
 
Listas Doblemente Enlazadas y Listas Circulares
Listas Doblemente Enlazadas y Listas CircularesListas Doblemente Enlazadas y Listas Circulares
Listas Doblemente Enlazadas y Listas CircularesMago Julio Cesar
 
Comandos utilizados en sql
Comandos utilizados en sqlComandos utilizados en sql
Comandos utilizados en sqlByron Eras
 
Normalización de una base de datos
Normalización de una base de datosNormalización de una base de datos
Normalización de una base de datosReimer Xavier
 
Tipos de gramatica y arboles de derivacion
Tipos de gramatica y arboles de derivacionTipos de gramatica y arboles de derivacion
Tipos de gramatica y arboles de derivacionjorge severino
 
Ejercicio sql tienda informatica (1)
Ejercicio sql tienda informatica (1)Ejercicio sql tienda informatica (1)
Ejercicio sql tienda informatica (1)Jsrfs Montemayor
 
Formas normales
Formas normalesFormas normales
Formas normalesdidachos1
 
DDL - Lenguaje de definición de datos
DDL - Lenguaje de definición de datosDDL - Lenguaje de definición de datos
DDL - Lenguaje de definición de datosvargasaldanajohanna
 
Algebra relacional fundamentos de base de datos
Algebra relacional fundamentos de base de datosAlgebra relacional fundamentos de base de datos
Algebra relacional fundamentos de base de datosJosepSalvadorSotoObregon
 
Creación de tablas y relaciones en mysql workbench
Creación de tablas y relaciones en mysql workbenchCreación de tablas y relaciones en mysql workbench
Creación de tablas y relaciones en mysql workbenchJair Ospino Ardila
 

La actualidad más candente (20)

Normalización de Base de Datos
Normalización de Base de DatosNormalización de Base de Datos
Normalización de Base de Datos
 
MySql:Introduction
MySql:IntroductionMySql:Introduction
MySql:Introduction
 
Comandos ddl y dml
Comandos ddl y dmlComandos ddl y dml
Comandos ddl y dml
 
PostgreSQL - Lección 4 - Usando funciones para manipular grupos de datos
PostgreSQL - Lección 4 - Usando funciones para manipular grupos de datosPostgreSQL - Lección 4 - Usando funciones para manipular grupos de datos
PostgreSQL - Lección 4 - Usando funciones para manipular grupos de datos
 
Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos
 
Manual de instalacion de Mongo db
Manual de instalacion de Mongo dbManual de instalacion de Mongo db
Manual de instalacion de Mongo db
 
Consultas base de datos en SQL
Consultas base de datos en SQLConsultas base de datos en SQL
Consultas base de datos en SQL
 
Listas Doblemente Enlazadas y Listas Circulares
Listas Doblemente Enlazadas y Listas CircularesListas Doblemente Enlazadas y Listas Circulares
Listas Doblemente Enlazadas y Listas Circulares
 
Comandos utilizados en sql
Comandos utilizados en sqlComandos utilizados en sql
Comandos utilizados en sql
 
Normalización de una base de datos
Normalización de una base de datosNormalización de una base de datos
Normalización de una base de datos
 
Búsqueda secuencial y binaria
Búsqueda secuencial y binariaBúsqueda secuencial y binaria
Búsqueda secuencial y binaria
 
Tipos de gramatica y arboles de derivacion
Tipos de gramatica y arboles de derivacionTipos de gramatica y arboles de derivacion
Tipos de gramatica y arboles de derivacion
 
Ejercicio sql tienda informatica (1)
Ejercicio sql tienda informatica (1)Ejercicio sql tienda informatica (1)
Ejercicio sql tienda informatica (1)
 
Formas normales
Formas normalesFormas normales
Formas normales
 
Programación 3: listas enlazadas
Programación 3: listas enlazadasProgramación 3: listas enlazadas
Programación 3: listas enlazadas
 
Inner join
Inner joinInner join
Inner join
 
DDL - Lenguaje de definición de datos
DDL - Lenguaje de definición de datosDDL - Lenguaje de definición de datos
DDL - Lenguaje de definición de datos
 
DBMS 10 | Database Transactions
DBMS 10 | Database TransactionsDBMS 10 | Database Transactions
DBMS 10 | Database Transactions
 
Algebra relacional fundamentos de base de datos
Algebra relacional fundamentos de base de datosAlgebra relacional fundamentos de base de datos
Algebra relacional fundamentos de base de datos
 
Creación de tablas y relaciones en mysql workbench
Creación de tablas y relaciones en mysql workbenchCreación de tablas y relaciones en mysql workbench
Creación de tablas y relaciones en mysql workbench
 

Destacado

PostgreSQL - Lección 5 - Recibiendo datos desde múltiples tablas
PostgreSQL - Lección 5 - Recibiendo datos desde múltiples tablasPostgreSQL - Lección 5 - Recibiendo datos desde múltiples tablas
PostgreSQL - Lección 5 - Recibiendo datos desde múltiples tablasNicola Strappazzon C.
 
PostgreSQL - Lección 1 - Usando la sentencia SELECT
PostgreSQL - Lección 1 - Usando la sentencia SELECTPostgreSQL - Lección 1 - Usando la sentencia SELECT
PostgreSQL - Lección 1 - Usando la sentencia SELECTNicola Strappazzon C.
 
PostgreSQL - Lección 2 - Restringiendo y Ordenando los Datos retornados por e...
PostgreSQL - Lección 2 - Restringiendo y Ordenando los Datos retornados por e...PostgreSQL - Lección 2 - Restringiendo y Ordenando los Datos retornados por e...
PostgreSQL - Lección 2 - Restringiendo y Ordenando los Datos retornados por e...Nicola Strappazzon C.
 
PostgreSQL - Lección 3 - Usando funciones simples para manipular la salida de...
PostgreSQL - Lección 3 - Usando funciones simples para manipular la salida de...PostgreSQL - Lección 3 - Usando funciones simples para manipular la salida de...
PostgreSQL - Lección 3 - Usando funciones simples para manipular la salida de...Nicola Strappazzon C.
 
PostgreSQL - Lección 8 - Manipulando Datos y Transacciones
PostgreSQL - Lección 8 - Manipulando Datos y TransaccionesPostgreSQL - Lección 8 - Manipulando Datos y Transacciones
PostgreSQL - Lección 8 - Manipulando Datos y TransaccionesNicola Strappazzon C.
 
MANUAL DE CREACION DE UNA BASE DE DATOS EN POSTGRESQL
MANUAL DE CREACION DE UNA BASE DE DATOS EN POSTGRESQLMANUAL DE CREACION DE UNA BASE DE DATOS EN POSTGRESQL
MANUAL DE CREACION DE UNA BASE DE DATOS EN POSTGRESQLJesus Alberto Casco Agudelo
 
Dba PostgreSQL desde básico a avanzado parte2
Dba PostgreSQL desde básico a avanzado parte2Dba PostgreSQL desde básico a avanzado parte2
Dba PostgreSQL desde básico a avanzado parte2EQ SOFT EIRL
 
Brief eventos c&d
Brief eventos c&dBrief eventos c&d
Brief eventos c&dalex145
 
Comandos y funciones sql postgres
Comandos y funciones sql postgresComandos y funciones sql postgres
Comandos y funciones sql postgresHIPOLITO GRULLON
 
White Paper - Claves para generar engagement en Facebook
White Paper - Claves para generar engagement en FacebookWhite Paper - Claves para generar engagement en Facebook
White Paper - Claves para generar engagement en FacebookIdeonomía
 
Del Castillo, Manel - ¿Y el compromiso profesional?
Del Castillo, Manel - ¿Y el compromiso profesional?Del Castillo, Manel - ¿Y el compromiso profesional?
Del Castillo, Manel - ¿Y el compromiso profesional?ponencias_mihealth2012
 
SENTENCIAS SQL
SENTENCIAS SQL SENTENCIAS SQL
SENTENCIAS SQL Jair Cruz
 
Compromiso ético profesional
Compromiso ético profesionalCompromiso ético profesional
Compromiso ético profesionalElcyGuerrero11
 
Ejercicios en prolog
Ejercicios en prologEjercicios en prolog
Ejercicios en prologJeffoG92
 

Destacado (20)

PostgreSQL - Lección 5 - Recibiendo datos desde múltiples tablas
PostgreSQL - Lección 5 - Recibiendo datos desde múltiples tablasPostgreSQL - Lección 5 - Recibiendo datos desde múltiples tablas
PostgreSQL - Lección 5 - Recibiendo datos desde múltiples tablas
 
PostgreSQL - Lección 10 - Vistas
PostgreSQL - Lección 10 - VistasPostgreSQL - Lección 10 - Vistas
PostgreSQL - Lección 10 - Vistas
 
PostgreSQL - Lección 1 - Usando la sentencia SELECT
PostgreSQL - Lección 1 - Usando la sentencia SELECTPostgreSQL - Lección 1 - Usando la sentencia SELECT
PostgreSQL - Lección 1 - Usando la sentencia SELECT
 
PostgreSQL - Lección 2 - Restringiendo y Ordenando los Datos retornados por e...
PostgreSQL - Lección 2 - Restringiendo y Ordenando los Datos retornados por e...PostgreSQL - Lección 2 - Restringiendo y Ordenando los Datos retornados por e...
PostgreSQL - Lección 2 - Restringiendo y Ordenando los Datos retornados por e...
 
PostgreSQL - Lección 3 - Usando funciones simples para manipular la salida de...
PostgreSQL - Lección 3 - Usando funciones simples para manipular la salida de...PostgreSQL - Lección 3 - Usando funciones simples para manipular la salida de...
PostgreSQL - Lección 3 - Usando funciones simples para manipular la salida de...
 
PostgreSQL - Lección 9 - Tablas
PostgreSQL - Lección 9 - TablasPostgreSQL - Lección 9 - Tablas
PostgreSQL - Lección 9 - Tablas
 
PostgreSQL - Lección 8 - Manipulando Datos y Transacciones
PostgreSQL - Lección 8 - Manipulando Datos y TransaccionesPostgreSQL - Lección 8 - Manipulando Datos y Transacciones
PostgreSQL - Lección 8 - Manipulando Datos y Transacciones
 
MANUAL DE CREACION DE UNA BASE DE DATOS EN POSTGRESQL
MANUAL DE CREACION DE UNA BASE DE DATOS EN POSTGRESQLMANUAL DE CREACION DE UNA BASE DE DATOS EN POSTGRESQL
MANUAL DE CREACION DE UNA BASE DE DATOS EN POSTGRESQL
 
Dba PostgreSQL desde básico a avanzado parte2
Dba PostgreSQL desde básico a avanzado parte2Dba PostgreSQL desde básico a avanzado parte2
Dba PostgreSQL desde básico a avanzado parte2
 
Brief eventos c&d
Brief eventos c&dBrief eventos c&d
Brief eventos c&d
 
Comandos y funciones sql postgres
Comandos y funciones sql postgresComandos y funciones sql postgres
Comandos y funciones sql postgres
 
MySQL Good Database Design
MySQL Good Database DesignMySQL Good Database Design
MySQL Good Database Design
 
White Paper - Claves para generar engagement en Facebook
White Paper - Claves para generar engagement en FacebookWhite Paper - Claves para generar engagement en Facebook
White Paper - Claves para generar engagement en Facebook
 
Postgre sql
Postgre sqlPostgre sql
Postgre sql
 
Ejercicios
EjerciciosEjercicios
Ejercicios
 
Del Castillo, Manel - ¿Y el compromiso profesional?
Del Castillo, Manel - ¿Y el compromiso profesional?Del Castillo, Manel - ¿Y el compromiso profesional?
Del Castillo, Manel - ¿Y el compromiso profesional?
 
SENTENCIAS SQL
SENTENCIAS SQL SENTENCIAS SQL
SENTENCIAS SQL
 
Compromiso ético profesional
Compromiso ético profesionalCompromiso ético profesional
Compromiso ético profesional
 
Ejercicios en prolog
Ejercicios en prologEjercicios en prolog
Ejercicios en prolog
 
Php Con Postgres
Php Con PostgresPhp Con Postgres
Php Con Postgres
 

Similar a PostgreSQL - Lección 7 - Usando los operadores de conjunto

Similar a PostgreSQL - Lección 7 - Usando los operadores de conjunto (20)

Lecc01
Lecc01Lecc01
Lecc01
 
Fundamentos sql
Fundamentos sqlFundamentos sql
Fundamentos sql
 
Sesion05 - Manipulacion de datos (Oracle)
Sesion05 - Manipulacion de datos (Oracle)Sesion05 - Manipulacion de datos (Oracle)
Sesion05 - Manipulacion de datos (Oracle)
 
Modo de procedimiento postgres
Modo de procedimiento postgresModo de procedimiento postgres
Modo de procedimiento postgres
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
Comandos SQL
Comandos SQLComandos SQL
Comandos SQL
 
Ing gualpa sql
Ing gualpa sqlIng gualpa sql
Ing gualpa 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
 
Consultas select
Consultas selectConsultas select
Consultas select
 
Consultas select
Consultas selectConsultas select
Consultas select
 
Sql2
Sql2Sql2
Sql2
 
Seleccion de datos_sql_2005
Seleccion de datos_sql_2005Seleccion de datos_sql_2005
Seleccion de datos_sql_2005
 
Consultas en SQL
Consultas en SQLConsultas en SQL
Consultas en SQL
 
P1_SQL_Repaso.pdf
P1_SQL_Repaso.pdfP1_SQL_Repaso.pdf
P1_SQL_Repaso.pdf
 
Seleccion de datos_sql_2005
Seleccion de datos_sql_2005Seleccion de datos_sql_2005
Seleccion de datos_sql_2005
 
Sql2
Sql2Sql2
Sql2
 
Manual sql server
Manual sql serverManual sql server
Manual sql server
 
Manualsqlserverparte
ManualsqlserverparteManualsqlserverparte
Manualsqlserverparte
 
Tutorial Teorico-Practico Sql server 2000 (233 paginas)
Tutorial Teorico-Practico Sql server 2000 (233 paginas)Tutorial Teorico-Practico Sql server 2000 (233 paginas)
Tutorial Teorico-Practico Sql server 2000 (233 paginas)
 

Último

9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxRogerPrieto3
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 

Último (15)

9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptx
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 

PostgreSQL - Lección 7 - Usando los operadores de conjunto

  • 1. Autor: Nicola Strappazzon C. e-mail: nicola51980@gmail.com 7 Blog: http://www.swapbytes.com/ Revisión: 17/11/11 Sección Usando los operadores de conjunto Este material se encuentra basado en el curso de Fundamentos a SQL de ORACLE, el cual es adaptado para el producto PostgreSQL, todos los ejemplos, códigos fuentes y la Base de Datos HR es propiedad de ORACLE.
  • 2. Objetivos Al completar esta lección usted podrá entender los siguientes puntos: • Describir cuales son los diversos tipos de operadores de conjunto. • Como usar los operadores de conjunto en múltiples consultas. • Controlar el orden de como son retornados los registros L- 2 - L
  • 3. Consideraciones de los operadores • La lógica de estos tipos de operadores nace de la teoría de conjuntos. • Permite unir dos o mas consultas en una sola. • Cada consulta debe retornar la misma cantidad de columnas y del mismo tipo de dato. • No importa si el nombre de las columna son diferentes, siempre se muestran los nombres de la primera consulta.. • No importa la cantidad de registros retornados. • Puede utilizar la cláusula ORDER BY o LIMIT, al final de la ultima consulta, esto afecta a todo el resultado. L- 3- L
  • 4. ¿Cuando se usan los operadores? • Reportes donde se requiere complementar los datos mediante totales, estos pueden estar divididos por grupos. • Construir un reporte que consolide un solo resultado desde diversas fuentes. L- 4- L
  • 5. Tipos de operadores de conjuntos A B A B A B A B UNION UNION ALL INTERSECT EXCEPT Une distintas Une distintas Une distintas Une distintas consultas, no consultas, si consultas, retorna consultas, y solo muestra los muestra los únicamente los muestra los registros registros registros que son registros de A y duplicados. duplicados. duplicados. no los de B. L- 5 - L
  • 6. Usando el operador UNION Lista los códigos de cada empleado, con su cargo actual y su historio. SELECT employee_id, job_id FROM employees UNION SELECT employee_id, job_id FROM job_history; employee_id | job_id -------------+------------ 100 | AD_PRES 101 | AC_ACCOUNT 101 | AC_MGR 101 | AD_VP 102 | AD_VP ▪ ▪ ▪ (105 rows) L- 6- L
  • 7. Usando el operador UNION ALL Lista los códigos de cada empleado, con su cargo actual y su historio, sin importar que se repitan. SELECT employee_id, job_id, department_id FROM employees UNION ALL SELECT employee_id, job_id, department_id FROM job_history ORDER BY employee_id; employee_id | job_id | department_id -------------+------------+--------------- ▪ ▪ ▪ 200 | AC_ACCOUNT | 90 200 | AD_ASST | 10 200 | AD_ASST | 90 201 | MK_REP | 20 ▪ ▪ ▪ (117 rows) L- 7- L
  • 8. Usando el operador INTERSECT Lista los códigos de cada empleado, con su cargo actual y su historio, siempre y cuando se repitan. SELECT employee_id, job_id FROM employees INTERSECT SELECT employee_id, job_id FROM job_history employee_id | job_id -------------+--------- 176 | SA_REP 200 | AD_ASST (2 rows) L- 8- L
  • 9. Usando el operador EXCEPT Lista los códigos de cada empleado, con su cargo actual y su historio, siempre y cuando no existan en la segunda consulta. SELECT employee_id, job_id FROM employees EXCEPT SELECT employee_id, job_id FROM job_history; employee_id | job_id -------------+------------ ▪ ▪ ▪ 199 | SH_CLERK 201 | MK_MAN 202 | MK_REP 203 | HR_REP ▪ ▪ ▪ (105 rows) L- 9- L
  • 10. Manejo de columnas no existentes • Puede remplazar el nombre de una columna por un valor por defecto. • Los valores serán colocados en la consulta que no tiene la columna a mostrar. • Estos valores deben ser del tipo de dato a la columna que hacemos referencia, como por ejemplo: - Utilizamos null como un valor genérico, el valor 0 u otro tipo de literales. L - 10 - L
  • 11. Utilizando el valor null SELECT department_id, hire_date, null FROM employees UNION SELECT department_id, null, location_id FROM departments LIMIT 100; department_id | hire_date | ?column? ---------------+------------+---------- 10 | 1987-09-17 | 10 | | 1700 20 | 1996-02-17 | 20 | 1997-08-17 | 20 | | 1800 30 | 1994-12-07 | ▪ ▪ ▪ (100 rows) L - 11 - L
  • 12. Utilizando valores por defecto SELECT employee_id, job_id, salary FROM employees UNION SELECT employee_id, job_id, 0 FROM job_history; employee_id | job_id | salary -------------+------------+-------- 100 | AD_PRES | 24000 101 | AC_ACCOUNT | 0 101 | AC_MGR | 0 101 | AD_VP | 17000 102 | AD_VP | 17000 102 | IT_PROG | 0 103 | IT_PROG | 9000 ▪ ▪ ▪ (130 rows) L - 12 - L
  • 13. Resumen En esta lección, usted debió entender como: • Usar el operador UNION para retornar diferentes registros. • Usar el operador UNION ALL para retornar todos los registros incluyendo los duplicados. • Usar el operador INTERSECT para retornar todos los registros comunes. • Usar el operador EXCEPT para retornar todos los registros que son diferentes en la primera consulta, y estos no se encuentran en la segunda consulta. • Ordenar los registros con la cláusula ORDER BY o definir un máximo con la cláusula LIMIT. L - 13 - L