Oracle bases de datos relacionales utilizan instrucción SELECT de SQL que muestra listas de datos , incluidos los campos de las tablas y los resultados calculados. SELECT tiene cláusulas opcionales para extraer condicionalmente información, ordenarla y crear títulos de grupo y totales . Con la cláusula JOIN , se crea una tabla virtual mediante la vinculación de dos o más tablas independientes en los campos de datos comunes . Por ejemplo , una tabla de pedidos tiene un número de orden , código del artículo y la cantidad comprada , pero no la descripción del artículo . La descripción del artículo reside en la tabla de elementos. Para imprimir una lista de pedidos con descripciones , se une a las tablas orders y artículos sobre el código del artículo . Al unir las dos tablas , se tiene acceso a los campos de ambos.
Combinación interna
La cláusula JOIN en Oracle 8i SQL dispone de dos variantes básicas , interior y exterior . Una unión interior combina los registros de un par de mesas , pero si una tabla no tiene registros que coinciden con los del otro , la tabla virtual resultante no contiene registros para cualquiera . Una combinación interna tiene entradas sólo cuando ambas tablas tienen registros coincidentes . Por ejemplo , una tabla de comentarios orden tiene número de pedido y comentarios campos. No todos los pedidos tienen comentarios , sin embargo , si se vincula la tabla pedidos a la mesa de comentarios para el uso de una combinación interna , la tabla virtual contiene sólo los pedidos con comentarios
explícita combinación externa < br . >
una combinación externa siempre incluye registros de una de las dos tablas vinculadas , independientemente si el otro ha entradas coincidentes o no. Si la combinación es una combinación externa izquierda , SQL incluye la tabla de la izquierda , una combinación externa derecha incluye registros de la tabla de la derecha. Cuando la instrucción SQL SELECT incluye las palabras , " combinación externa izquierda " o " RIGHT OUTER JOIN, " se le llama explícitamente unirse. La siguiente sentencia SELECT incluye todos los registros de pedidos , incluyendo aquellos con comentarios:
SELECT orders.order_number , customer_code , los comentarios de las órdenes LEFT JOIN order_comments EXTERIORES EN orders.order_number = order_comments.order_number ;
Oracle comenzó a utilizar el formato de combinación externa explícita con la versión 9i de su software.
implícita combinación externa
Además de una combinación externa explícita , Oracle 8i tiene una sintaxis opcional que le permite poner la combinación en la cláusula WHERE. En este caso, debe especificar una combinación externa izquierda , colocando un signo más a la izquierda de un signo igual , una combinación externa derecha tiene el signo más a la derecha. Esta instrucción SELECT hace una combinación externa izquierda entre las tablas orders y comentarios orden que antes , pero utiliza la sintaxis implícita :
SELECT orders.order_number , customer_code , los comentarios de las órdenes , order_comments DONDE orders.order_number + = order_comments . número_pedido ;
Aunque la combinación externa implícita es más compacto y más fácil de escribir , los expertos prefieren el método explícito , ya que se ajusta más a la sintaxis SQL estándar y evitar ambigüedades en el proceso de unión
.