varios valores uso operadores ejemplos datos consultas sql with-clause

valores - operadores sql y ejemplos



Ejemplo de cláusula SQL WITH (2)

Posible duplicado:
Diferencia entre CTE y SubQuery?

Estaba tratando de entender cómo usar la cláusula WITH y el propósito de la cláusula WITH .

Todo lo que entendí fue que la cláusula WITH reemplazaba las subconsultas normales.

¿Alguien puede explicarme esto con un pequeño ejemplo en detalle?


Esto ha sido completamente respondido here .

Consulte los documentos de Oracle en SELECT para ver cómo funciona el factoring de subconsulta y el ejemplo de Mark:

WITH employee AS (SELECT * FROM Employees) SELECT * FROM employee WHERE ID < 20 UNION ALL SELECT * FROM employee WHERE Sex = ''M''


La cláusula SQL WITH fue introducida por Oracle en la base de datos Oracle 9i release 2. La cláusula SQL WITH le permite asignar un nombre a un bloque de subconsulta (un proceso también llamado refactorización de subconsulta), que se puede referenciar en varios lugares dentro de la consulta SQL principal. El nombre asignado a la subconsulta se trata como si fuera una vista o tabla en línea. La cláusula SQL WITH es básicamente un reemplazo directo a la subconsulta normal.

Sintaxis para la cláusula SQL WITH

A continuación, se muestra la sintaxis de la cláusula SQL WITH cuando se utiliza un solo alias de subconsulta.

WITH <alias_name> AS (sql_subquery_statement) SELECT column_list FROM <alias_name>[,table_name] [WHERE <join_condition>]

Al usar múltiples alias de sub-consulta, la sintaxis es la siguiente.

WITH <alias_name_A> AS (sql_subquery_statement), <alias_name_B> AS(sql_subquery_statement_from_alias_name_A or sql_subquery_statement ) SELECT <column_list> FROM <alias_name_A>, <alias_name_B> [,table_names] [WHERE <join_condition>]

En la documentación de sintaxis anterior, las apariciones de alias_name es un nombre significativo que le daría a la alias_name después de la cláusula AS. Cada subconsulta debe separarse con un ejemplo de coma para la instrucción WITH . El resto de las consultas siguen los formatos estándar para consultas SQL SELECT simples y complejas.

Para más información: http://www.brighthub.com/internet/web-development/articles/91893.aspx