|
Ejemplo:
SELECT *
FROM pedidos INNER JOIN clientes ON pedidos.clie = clientes.numclie
tabla1 y tabla2 son especificaciones
de tabla (nombre de tabla con alias o no, nombre de consulta
guardada), de las tablas cuyos registros se van a combinar.
Pueden ser las dos la misma
tabla, en este caso es obligatorio
definir al menos un alias de tabla.
col1, col2 son las columnas de emparejamiento.
Observar que dentro de la cláusula ON
los nombres de columna deben ser nombres
cualificados (llevan delante el nombre de la tabla y un punto).
Las columnas de emparejamiento
deben contener la misma clase de datos,
las dos de tipo texto, de tipo fecha etc... los campos numéricos deben
ser de tipos similares. Por ejemplo, se puede combinar campos AutoNumérico
y Long puesto que son tipos similares, sin embargo, no se puede combinar
campos de tipo Simple y Doble. Además las columnas no pueden ser
de tipo Memo ni OLE.
comp representa cualquier operador de comparación
( =, <, >, <=, >=, o <> ) y se utiliza para establecer la condición
de emparejamiento.
Se pueden definir varias condiciones
de emparejamiento unidas por los operadores
AND y OR
poniendo cada condición entre paréntesis.
Ejemplo:
SELECT *
FROM pedidos INNER JOIN productos ON (pedidos.fab = productos.idfab) AND
(pedidos.producto = productos.idproducto)
Se pueden combinar más de dos
tablas
En este caso hay que sustituir en
la sintaxis una tabla por un INNER
JOIN completo.
Por ejemplo:
SELECT *
FROM (pedidos INNER JOIN clientes ON pedidos.clie = clientes.numclie)
INNER JOIN empleados ON pedidos.rep = empleados.numemp
En vez de tabla1 hemos escrito un INNER JOIN completo,
también podemos escribir:
SELECT *
FROM clientes INNER JOIN (pedidos INNER JOIN empleados ON pedidos.rep
= empleados.numemp) ON pedidos.clie = clientes.numclie
En este caso hemos sustituido tabla2 por un INNER
JOIN completo.
|