SlideShare una empresa de Scribd logo
Consultas combinadas

   HABITUALMENTE CUANDO NECESITAMOS
RECUPERAR LA INFORMACIÓN DE UNA BASE
DE DATOS NOS ENCONTRAMOS CON QUE
DICHA    INFORMACIÓN   SE   ENCUENTRA
REPARTIDA      EN    VARIAS    TABLAS,
REFERENCIADAS    A TRAVÉS   DE  VARIOS
CÓDIGOS. DE ESTE MODO SI TUVIERAMOS
UNA TABLA DE VENTAS CON UN CAMPO
CLIENTE, DICHO CAMPO CONTENDRÍA EL
CÓDIGO DEL CLIENTE DE LA TABLA DE
CLIENTE.
       SIN   EMBARGO  ESTÁ  FORMA   DE
ALMACENAR LA INFORMACIÓN NO RESULTA
MUY ÚTIL A LA HORA DE CONSULTAR LOS
Combinación interna

Combinación externa

     Uniones
NOS PERMITE MOSTRAR LOS DATOS DE DOS O MÁS
       TABLAS A TRAVÉS DE UNA CONDICIÓN .

PARA REALIZAR LA CONSULTA COMBINADA ENTRE ESTAS
        DOS TABLAS DEBEMOS ESCRIBIR UNA
     CONSULTA SELECT EN CUYA CLAÚSULA FROM
   ESCRIBIREMOS EL NOMBRE DE LAS DOS TABLAS,
      SEPARADOS POR COMAS, Y UNA CONDICIÓN
WHERE QUE OBLIGUE A QUE EL CÓDIGO DE MARCA DE LA
    TABLA DE COCHES SEA IGUAL AL CÓDIGO DE LA
                TABLA DE MARCAS.
Consultas com
La sintaxis es muy parecida a la combinación interna,

           SELECT [ALL | DISTINCT ]
       <nombre_campo> [{,<nombre campo>}]
            FROM <nombre_tabla>
[{LEFT|RIGHT OUTER JOIN <nombre_tabla> ON
          <condicion_combinacion>}]
 [WHERE <condicion> [{ AND|OR <condicion>}]]
[GROUP BY <nombre_campo> [{,<nombre_campo
                      >}]]
 [HAVING <condicion>[{ AND|OR <condicion>}]]
                  [ORDER BY
 <nombre_campo>|<indice_campo> [ASC | DESC]
       [{,<nombre_campo>|<indice_campo> [AS
                 C | DESC ]}]]
La combinación externa puede ser diestra o siniestra, LEFT
OUTER JOIN o RIGHT OUTER JOIN. Con LEFT OUTER JOIN
obtenemos todos los registros de en la tabla que situemos a la
izquierda de la clausula JOIN, mientras que con RIGHT OUTER
JOIN obtenemos el efecto contrario.

 COMO MEJOR SE VE LA COMBINACIÓN EXTERNA
           ES CON UN EJEMPLO.

        SELECT TCOCHES.MATRICULA,
                TMARCAS.MARCA,
               TCOCHES.MODELO,
                TCOCHES.COLOR,
        TCOCHES.NUMERO_KILOMETROS,
             TCOCHES.NUM_PLAZAS
               FROM TCOCHES
LEFT OUTER JOIN TMARCAS ON TCOCHES.MARCA
             = TMARCAS.CODIGO
     ESTA CONSULTA DEVOLVERÁ TODOS LOS
           REGISTROS DE LA TABLA
   TCOCHES, INDEPENDIENTEMENTE DE QUE
 TENGAN MARCA O NO. EN EL CASO DE QUE EL
LA CLÁUSULA UNION PERMITE UNIR DOS O MÁS
CONJUNTOS DE RESULTADOS EN UNO DETRAS
DEL OTRO COMO SI SE TRATASE DE UNA ÚNICA
TABLA. DE ESTE MODO PODEMOS OBTENER LOS
REGISTROS DE MAS DE UNA TABLA "UNIDOS".
 LA    SINTAXIS     CORRESPONDE     A     LA
DE VARIAS SELECT UNIDAS A TRAVÉS DE UNION,
COMO SE MUESTRA A CONTINUACIÓN:
PARA UTILIZAR LA CLAUSULA UNION DEBEMOS
CUMPLIR UNA SERIE DE NORMAS.
LAS CONSULTAS A UNIR DEBEN TENER EL MISMO
NÚMERO CAMPOS, Y ADEMÁS LOS CAMPOS DEBEN
SER DEL MISMO TIPO.
SÓLO PUEDE HABER UNA ÚNICA CLAUSULA
ORDER BY AL FINAL DE LA SENTENCIA SELECT.

Más contenido relacionado

PDF
2010 Fall Newsletter
PPTX
Ontario Airport December 2011
PDF
2004 Summer Newsletter
PDF
Tsunami response one year later
PPT
ONT Airport In Charts
PDF
Fall newsletter-2003
PDF
2008 Winter Newsletter
DOCX
Practica de sql
2010 Fall Newsletter
Ontario Airport December 2011
2004 Summer Newsletter
Tsunami response one year later
ONT Airport In Charts
Fall newsletter-2003
2008 Winter Newsletter
Practica de sql
Publicidad

Consultas com

  • 1. Consultas combinadas HABITUALMENTE CUANDO NECESITAMOS RECUPERAR LA INFORMACIÓN DE UNA BASE DE DATOS NOS ENCONTRAMOS CON QUE DICHA INFORMACIÓN SE ENCUENTRA REPARTIDA EN VARIAS TABLAS, REFERENCIADAS A TRAVÉS DE VARIOS CÓDIGOS. DE ESTE MODO SI TUVIERAMOS UNA TABLA DE VENTAS CON UN CAMPO CLIENTE, DICHO CAMPO CONTENDRÍA EL CÓDIGO DEL CLIENTE DE LA TABLA DE CLIENTE. SIN EMBARGO ESTÁ FORMA DE ALMACENAR LA INFORMACIÓN NO RESULTA MUY ÚTIL A LA HORA DE CONSULTAR LOS
  • 3. NOS PERMITE MOSTRAR LOS DATOS DE DOS O MÁS TABLAS A TRAVÉS DE UNA CONDICIÓN . PARA REALIZAR LA CONSULTA COMBINADA ENTRE ESTAS DOS TABLAS DEBEMOS ESCRIBIR UNA CONSULTA SELECT EN CUYA CLAÚSULA FROM ESCRIBIREMOS EL NOMBRE DE LAS DOS TABLAS, SEPARADOS POR COMAS, Y UNA CONDICIÓN WHERE QUE OBLIGUE A QUE EL CÓDIGO DE MARCA DE LA TABLA DE COCHES SEA IGUAL AL CÓDIGO DE LA TABLA DE MARCAS.
  • 5. La sintaxis es muy parecida a la combinación interna, SELECT [ALL | DISTINCT ] <nombre_campo> [{,<nombre campo>}] FROM <nombre_tabla> [{LEFT|RIGHT OUTER JOIN <nombre_tabla> ON <condicion_combinacion>}] [WHERE <condicion> [{ AND|OR <condicion>}]] [GROUP BY <nombre_campo> [{,<nombre_campo >}]] [HAVING <condicion>[{ AND|OR <condicion>}]] [ORDER BY <nombre_campo>|<indice_campo> [ASC | DESC] [{,<nombre_campo>|<indice_campo> [AS C | DESC ]}]]
  • 6. La combinación externa puede ser diestra o siniestra, LEFT OUTER JOIN o RIGHT OUTER JOIN. Con LEFT OUTER JOIN obtenemos todos los registros de en la tabla que situemos a la izquierda de la clausula JOIN, mientras que con RIGHT OUTER JOIN obtenemos el efecto contrario. COMO MEJOR SE VE LA COMBINACIÓN EXTERNA ES CON UN EJEMPLO. SELECT TCOCHES.MATRICULA, TMARCAS.MARCA, TCOCHES.MODELO, TCOCHES.COLOR, TCOCHES.NUMERO_KILOMETROS, TCOCHES.NUM_PLAZAS FROM TCOCHES LEFT OUTER JOIN TMARCAS ON TCOCHES.MARCA = TMARCAS.CODIGO ESTA CONSULTA DEVOLVERÁ TODOS LOS REGISTROS DE LA TABLA TCOCHES, INDEPENDIENTEMENTE DE QUE TENGAN MARCA O NO. EN EL CASO DE QUE EL
  • 7. LA CLÁUSULA UNION PERMITE UNIR DOS O MÁS CONJUNTOS DE RESULTADOS EN UNO DETRAS DEL OTRO COMO SI SE TRATASE DE UNA ÚNICA TABLA. DE ESTE MODO PODEMOS OBTENER LOS REGISTROS DE MAS DE UNA TABLA "UNIDOS". LA SINTAXIS CORRESPONDE A LA DE VARIAS SELECT UNIDAS A TRAVÉS DE UNION, COMO SE MUESTRA A CONTINUACIÓN: PARA UTILIZAR LA CLAUSULA UNION DEBEMOS CUMPLIR UNA SERIE DE NORMAS. LAS CONSULTAS A UNIR DEBEN TENER EL MISMO NÚMERO CAMPOS, Y ADEMÁS LOS CAMPOS DEBEN SER DEL MISMO TIPO. SÓLO PUEDE HABER UNA ÚNICA CLAUSULA ORDER BY AL FINAL DE LA SENTENCIA SELECT.