Ir a Emagister Encuentra tu formación ideal
¡Mailxmail y emagister se unen para que tengas toda la formación a tu alcance!
12.170 cursos gratis
8.186.442 alumnos
Facebook Twitter YouTube
Busca cursos gratis:

SQL

Autor: Claudio
Curso:
8,97/10 (798 opiniones) |73355 alumnos|Fecha publicación: 10/05/2004

Capítulo 13:

 Consulta de combinación entre tablas (III)

La sintaxis expuesta anteriormente pertenece a ACCESS, en donde todas las sentencias con la sintaxis funcionan correctamente. Los manuales de SQL-SERVER dicen que esta sintaxis es incorrecta y que hay que añadir la palabra reservada OUTER: LEFT OUTER JOIN y RIGHT OUTER JOIN. En la práctica funciona correctamente de una u otra forma.

No obstante, los INNER JOIN ORACLE no es capaz de interpretarlos, pero existe una sintaxis en formato ANSI para los INNER JOIN que funcionan en todos los sistemas. Tomando como referencia la siguiente sentencia:

SELECT

Facturas.*,

Albaranes.*

FROM

Facturas

INNER JOIN

Albaranes

ON

Facturas.IdAlbaran = Albaranes.IdAlbaran

WHERE

Facturas.IdCliente = 325

La transformación de esta sentencia a formato ANSI sería la siguiente:

SELECT

Facturas.*,

Albaranes.*

FROM

Facturas, Albaranes

WHERE

Facturas.IdAlbaran = Albaranes.IdAlbaran

AND

Facturas.IdCliente = 325

Como se puede observar los cambios realizados han sido los siguientes:

Todas las tablas que intervienen en la consulta se especifican en la cláusula FROM. Las condiciones que vinculan a las tablas se especifican en la cláusula WHERE y se vinculan mediante el operador lógico AND.

Referente a los OUTER JOIN, no funcionan en ORACLE y además conozco una sintaxis que funcione en los tres sistemas. La sintaxis en ORACLE es igual a la sentencia anterior pero añadiendo los caracteres (+) detrás del nombre de la tabla en la que deseamos aceptar valores nulos, esto equivale a un LEFT JOIN:

SELECT

Facturas.*,

Albaranes.*

FROM

Facturas, Albaranes

WHERE

Facturas.IdAlbaran = Albaranes.IdAlbaran (+)

AND

Facturas.IdCliente = 325

Y esto a un RIGHT JOIN:

SELECT

Facturas.*,

Albaranes.*

FROM

Facturas, Albaranes

WHERE

Facturas.IdAlbaran (+) = Albaranes.IdAlbaran

AND

Facturas.IdCliente = 325

En SQL-SERVER se puede utilizar una sintaxis parecida, en este caso no se utiliza los caracteres (+) sino los caracteres =* para el LEFT JOIN y *= para el RIGHT JOIN.

Nuestras novedades en tu e-mail

Escribe tu e-mail:

Al presionar "Recibir" estás dándote de alta y aceptas las condiciones legales de mailxmail

Cursos similares a SQL


  • Vídeo
  • Alumnos
  • Valoración
  • Cursos
1. Curso de MySQL con PHP
El gestor de bases de datos MySQL se basa en el sistema de bases de datos... [10/01/11]
1.754  
2. Introducción al lenguaje SQL
Curso de programación, aprende el lenguaje sql que es un lenguaje de acceso a bases... [16/11/11]
131  
3. SQL. Uso de la clausula WHERE
Vamos a aprender a hacer algunas consultas en sql desde las básicas hasta algunas... [19/12/11]
7  

El blog de mailxmail|¿Qué es mailxmail.com?|ISSN: 1699-4914|Ayuda
Publicidad|Condiciones legales de mailxmail


Ponte al día de Programación con nuestros cursos gratis