El término NIVEL hace referencia a una pseudocolumna en Oracle que se utiliza en una consulta jerárquica para identificar el nivel de jerarquía (principal->secundario) en formato numérico. El NIVEL devuelve 1 para la fila raíz, 2 para el hijo de la fila raíz y así sucesivamente, como una estructura similar a un árbol. LEVEL debe usarse con la cláusula CONNECT BY . La cláusula CONNECT BY define la relación jerárquica entre las filas principales y las filas secundarias de la jerarquía. DUAL es una tabla ficticia generada automáticamente por la base de datos Oracle junto con el diccionario de datos.
Ejemplo 1:
SELECT Level AS Sequence FROM Dual CONNECT BY Level <= 5
Explicación:
la consulta anterior ejecutará el nivel que tiene el valor inicial 1 de dual, que es una tabla ficticia. ‘Secuencia’ actúa como un nombre de ALias , es decir, el nombre temporal de la columna. En la consulta, se verificará la condición y se creará la relación mediante Conectar por entre el nivel que tiene el valor 1 y la condición especificada. Mostrará valores hasta que pase esa condición especificada.
Producción:
Secuencia |
---|
1 |
2 |
3 |
4 |
5 |
Iniciar secuencia a partir de un número específico:
el nivel puede ser útil para iniciar una secuencia de números a partir de cualquier valor inicial en particular. Solo necesita sumar uno menos que ese valor para Nivelar con condición en Conectar por.
Sintaxis:
SELECT Level+(n-1) AS Alias Name FROM Dual CONNECT BY Level <= 10
Donde n es el número específico inicial y el nombre de alias es el nombre temporal definido de la columna.
Ejemplo-2:
SELECT Level+(6-1) AS Sequence FROM Dual CONNECT BY Level <= 10
Explicación:
para la visualización de la secuencia de números del 6 al 10. En el ejemplo anterior, sume uno menos de 6 al nivel y tenga la condición hasta 10 usando Conectar por. Ejecutará y mostrará el valor especificado del rango como nombre de columna ‘Secuencia’ de la tabla ficticia Dual.
Producción:
Secuencia |
---|
6 |
7 |
8 |
9 |
10 |
Ejemplo-3:
SELECT Level AS Sequence, Sysdate AS System_date FROM Dual CONNECT BY Level <= 5
Explicación:
la consulta anterior se ejecutará y mostrará tanto la secuencia de números como la fecha. El nivel tiene el nombre de columna Temporal Secuencia y Fecha tienen el nombre de columna System_date, como se define. Recuperará datos de una tabla ficticia llamada Dual. Tendrá 5 números de filas según la condición especificada en Conectar por, del 1 al 5 en la columna Secuencia y tendrá la misma fecha en las 5 filas en la columna System_date.
Producción:
Secuencia | Fecha del sistema |
---|---|
1 | 2019-01-05 |
2 | 2019-01-05 |
3 | 2019-01-05 |
4 | 2019-01-05 |
5 | 2019-01-05 |
Publicación traducida automáticamente
Artículo escrito por ShubhamMaurya3 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA