GoConqr hat ein neues Design! Sag uns, wie es dir gefällt.

Karteikarten

Join

jose Antonio Spanisch 22 Karten

Karten in diesem Stapel (22)

  1. 1Subqueries para resolver problemas: Un subquery es un query que anida un select , insert, update o delete.Un subquery puede recuperar un set de registros o un solo registro. se llama un subquery scalar al que trae un solo valor y una sola columna
  2. 2Los lugares donde puede ir un subquery son; En el select, en el from , en el where y en la clausula having.Un subquery es referido como un INNER QUERY y la sentencia donde ocurre es un outer query
  3. 3No hay limites para la escritura de los subqueriesa nivel del from es ilimitado y a nivel del where hasta 255EL subquery debe ejecutarse antes del query padre de donde es llamado.
  4. 4Un subquery select puede invocarse desde un select como una columna, es decir el resultado del query sera la columna en el select padre, y pueden server para diferentes columnas , varios select de diferentes tablas.Using NOT IN is fraught with problems because of the way SQL handles
    NULLs. As a general rule, do not use NOT IN unless you are certain that the
    result set will not include a NULL.
  5. 5the star transformation often needed in data warehouse applicationsThere is an instance initialization parameter, STAR_TRANSFORMATION_
    ENABLED, which (if set to true) will permit the Oracle query optimizer to
    re-write code into star queries.
  6. 6Diseñar un query tipo estrella es mas eficiente, por ejemplo en un query donde luego del from tenermos varias tablas y luego con el where hacemos los join comparando las columnas comunes es menos eficiente que un start transformation queryun query del start transformacion permite hacer dentro de un query padre varios subquery anidades, comparando los campos de la tabla del query padre, con cada una lista de valores (IN) generadas por un otro subquery para cada una de las tablas que conforman el query estrella
  7. 7En modelo de query estrella o start la clausula WHERE es utilizada para hacer el join con el resto de las tablas.Los subqueries pueden ser usados en la clausula FROM, esto es referido como "INLINE VIEWS"
  8. 8Cuando colocamos un subquery en el from, Oracle crea una tabla con las condiciones del join, y a este grupo de registrios tratado como una tabla el query padre realiza la consulta correspondiente.El tercer ligar para el subquery es el SELECT, se puede hacer una lista de columnas donde cada columna es el resultado de un select que debe traer un solo valor y pueden ser varios select list, el valoe debe ser un scalar en cada consulta sino producira un error.
  9. 9Nota: Un subquery select no puede ser usado para como valor para insertar registros en una tabla.Se pueden colocar subqueries scalares en cualquier parte de la sentencia de un subquery o query padre
  10. 10Tipos de subqueries Single-row Multiple-row Correlative-subqueriesUn query single row es un query scalar, que retorna un simple regisro y un campo, un query Multiple-row retorna un grupo d registros, estos normalmente son usados para pasar a otros DML o select , estos seran ejecutados siempre primero antes del query padre
  11. 11El single row y multiple row puede ser usado en la clausula WHERE y HAVING, pero hay algunas restricciones con los operadores.Si es alguno de estos operadores el subquery debe ser single-row:
    =,<,>,>=,<=,<> , !=, el subquery fallara si es utilizado si retorna mas de un registro.
  12. 12Para queries multiple-row puede usarse estos operadores: IN. ANY, NOT IN, ALLCorrelative Subqueries:
    Ocurre cuando el resultado del subqquery dependera del query padre.
  13. 13La mejor forma de evitar un error ORA-01427 cuando un subquery retorna mas de un registro es usar funciones de aggregation o los operadores IN , ALL,ANYSubqueries can be used to generate values for the select list of a query to generate
    an inline view to be used in the FROM clause, in the WHERE clause, and in the
    HAVING clause. When used in the WHERE or HAVING clauses, single-row
    subqueries can be used with these comparison operators: =, >, >=, <, <=, <>;
    multiple-row subqueries can be used with these comparison operators: IN, NOT IN,
    ANY, ALL.
  14. 14Write Single-Row and Multiple-Row Subqueries ❑ Single-row subqueries should be used with single-row comparison operators. ❑ Multiple-row subqueries should be used with multiple-row comparison operators. ❑ The ALL and ANY operators can be alternatives to use of aggregations.En un subquery correlativo el subquery se ejecutara una vez por cada registro de la tabla padre o del query principal
  15. 15inner query -> subquery outer query -> main queryUtilizar un subquery es equivalente a dos queries secuenciales y utilizar el resultado del promero como valor de busqueda del segundo query.
  16. 16el subquery o inner query se ejecuta antes del query principal o outer query. El resultado del subquery es utilizado por el main query.Tambien un subquery es llamado un nested select, sub select, inner select, existen dos tipos de operadores simple y multiples rows
  17. 17la diferencia entre un simple y multiple rows subquery esta en que los valores retornados por el inner query son multiple o retornan un solo valor al main query.operadores para single-row:
    =, >, >=, <, <=, <>
    Operadores para multiple rows:
    IN, EXIST
    ALL, ANY: estos deben estar precedidos por los operadores =, >, >=, <, <=, <>
  18. 18Un error comun es retornar varios valores de un subquery a un query principal que espera un solo valor, por ejemplo en algunos casos se puede cambiar el signo = con el operador IN• ANY means more than the minimum.
    • =ANY is equivalent to IN.
    >ALL means more than the maximum and
  19. 19The reason is that all conditions that compare a null value result in a null. So whenever null values are likely to be part of the results set of a subquery, do not use the NOT IN operator. The NOT IN operator is equivalent to <> ALL.Set operators
    The UNION operator returns rows from both queries after eliminating
    duplications.
    Nota: el numero de campos seleccionados debe ser igual en ambas tablas e igual del mismo tipo.
    los nombres de las columnas noo tienes que ser iguales
  20. 20en el operador Union los valores null no son ignorados durante el chequeo de duplicacion. Por defecto la salida es ordenada en forma ascendente de la columna en el select.Si los registros estan duplicados en ambas tablas solo se mostrara un solo registro.
    Los registros son unicos en la totalidad de sus campos, y se ordenan pro el primer campo.
  21. 21The UNION ALL operator returns rows from both queries, including all duplications. Unlike UNION, duplicate rows are not eliminated and the output is not sorted by default.INTERSECT Operator
    Use the INTERSECT operator to return all rows that are common to multiple queries
    la cantidad de columnas y tipo de datos de estas debe ser igual en el select para las dos tablas, los nombre de las columns no requieren ser iguales
    El intersect no ignora los valores null
  22. 22The MINUS operator returns all the distinct rows selected by the first query, but not present in the second query result set.

Informationen

Beschreibung
Karteikarten am Join, erstellt von jose Antonio am 16/04/2017.
Erstellt von
jose Antonio
Aufrufe
0
Bewertung

Feedback

Worum geht es?

Wie gefällt dir das neue Design?

Dein Eindruck