join

JOIN | Obtener datos de multiples tablas en Oracle

La sentencia JOIN en SQL permite combinar registros de dos o más tablas en una base de datos relacional. En el Lenguaje de Consultas Estructurado de Oracle (SQL) hay cinco tipos de JOINs: Natural JOIN, Self-join, Nonequijoins, Outer Join y Cross joins.

Matemáticamente, JOIN es composición relacional, la operación fundamental en el álgebra relacional, y, generalizando, es una función de composición.

Para entender como funciona la cláusula JOIN podemos ver el siguiente bloque de código

Podemos observar de forma reducida todos los tipos de JOINs que soporta una base de datos Oracle:

  • NATURAL JOIN une dos tablas basándose en las columnas que tengan el mismo nombre.
  • JOIN tabla2 USING nombre_columna realiza un equijoin basado en el nombre de columna que se especifica en la cláusula USING.
  • JOIN tabla2 ON tabla1.nombre_columna = tabla2.nombre_columna realiza un equijoin basado en la condición que se especifica en la cláusula ON.
  • LEFT / RIGHT / FULL OUTER son usados para realizar OUTER joins.
  • CROSS JOIN regresa un producto cartesiano de dos tablas.

(more…)

Clausulas de limitación

Clausulas de limitación para ’SQL Row’ | Novedades Oracle 12c

En “Oracle Database 12c los mecanismos para limitar cantidad y modo de extracción de registros han tenido una mejora significativa, proveyéndonos de nuevas clausulas.

Podemos especificar la cantidad de registros a ser retornados utilizando las palabras claves: “FETCH”,”FIRST”,”NEXT”. También podemos especificar la cantidad de registros a ser retornados con la clausula “PERCENT”.

Con la clausula “OFFSET” podemos especificar la cantidad de registros deseados a partir del primer registro de un set de resultados complemento a la data que ya se ha obtenido.

Las consultas que generalmente utilizan este tipo de clausulas son conocidas como: “Top-N Queries”. Veamos un ejemplo práctico de esta característica:

(more…)

Auto_increment en Oracle

Auto_increment en Oracle | Novedades Oracle 12c

Al momento de pasarte a trabajar con la Base de Datos de Oracle una de las primeras cosas que siempre preguntan los programadores es como hacen el auto_increment en Oracle o el Identity (sql server). Anteriormente dicho procedimiento pasaba por crear una sequencia y posteriormente utilizarla en cualquier sentencia insert que realizaras sobre la tabla Read more…