Programacion
<nombre_campos>
FROM <nombre_tabla>
[ INNER | LEFT [OUTER]| RIGHT [OUTER] | CROSS]
[JOIN ]<nombre_tabla> ON <condicion_join>[ AND|OR <condicion>]
[WHERE <condicion> [ AND|OR <condicion>]]
[GROUP BY <nombre_campos>]
[HAVING <condicion>[ AND|OR<condicion>]]
[ORDER BY <nombre_campo> [ASC | DESC] |
El siguiente ejemplo muestra una consulta sencilla que obtiene el código y la "familia" de una tabla llamada familias (representaría familias deproductos por ejemplo).
SELECT CO_FAMILIA, FAMILIA FROM FAMILIAS |
El uso del asterisco indica que queremos que la consulta devuelva todoslos campos que existen en la tabla.
SELECT * FROM FAMILIAS |
Ahora vamos a realizar una consulta obteniendo además de los datos de familias, los datos de lascategorias y los productos.
SELECT *
FROM FAMILIAS INNER JOIN CATEGORIAS ON CATEGORIAS.CO_FAMILIA = FAMILIAS.CO_FAMILIA INNER JOINPRODUCTOS ON PRODUCTOS.CO_CATEGORIA = CATEGORIAS.CO_CATEGORIA |
La combinación se realiza a través de la clausula INNER JOIN, que es una clasula exclusiva, es decir las familias que notengan categorias y productos asociados no se devolveran. Si queremos realizar la consulta para que no sea exclusiva, tenemos que utilizar LEFT JOIN. El uso de la palabra reservada OUTER esopcional.
SELECT * FROM FAMILIAS LEFT OUTER JOIN CATEGORIAS ON CATEGORIAS.CO_FAMILIA = FAMILIAS.CO_FAMILIA LEFT OUTER JOIN...
Regístrate para leer el documento completo.