He encontrado la siguiente consulta y agradecería si alguien puede ayudar que me explique lo que esto significa.

select * from table1, table2
  • Por qué no simplemente ejecutarlo para ver lo que hace? Es la creación de un cartesian product mediante el uso de un cross join
  • Gracias @sgeddes, Ahora lo entiendo. Pido disculpas por mi estupidez.
InformationsquelleAutor Asiri Dissa | 2016-10-04

3 Comentarios

  1. 9

    Esto se llama CROSS JOIN pero el uso de la sintaxis antigua con , en FROM cláusula. Mi consejo es no utilizar la sintaxis antigua, con el palo de JOIN aquí.

    Produce un producto cartesiano, por lo que el número de filas del conjunto de resultados será el número de filas de table1, multiplicado por el número de filas de table2 (suponiendo que no existen restricciones en el WHERE cláusula). Efectivamente pares de cada fila de table1 con una fila procedentes de table2.

    Por debajo de consulta es un equivalente, pero no explícito JOIN operación de la que se separa de la restricción de la lógica de la recuperación de datos (normalmente se pone dentro de la WHERE cláusula) de la lógica de la conexión de datos relacionados almacenados en tablas separadas (dentro de la FROM cláusula):

    SELECT *
    FROM table1
    CROSS JOIN table2

    Considerar un ejemplo donde table1 tiene 8 filas y table2 tiene 5 filas. En la salida, usted obtendrá 40 filas (8 filas * 5 filas), ya que los pares de todas las filas de ambas fuentes (tablas).

    • Gracias por la explicación.
  2. 1

    Obtendrá todas las filas de la tabla1 se multiplica por todas las filas de la tabla2, y mostrará dependiendo de las columnas de ambas tablas. Como @sgeddes señalado, la creación de un producto cartesiano.

  3. 0

    Tabla1 (Col1, Col2) con 4 Registros

    Tabla2 (Col11, Col22, Col33) con 3 Registros

    cuando se utiliza la consulta dada a continuación, se va a producir NxM número de filas (combinación Cartesianas)

    select * from table1, table2 

    El resultado y la columna de la secuencia de ambas tablas se daría por debajo de 4 x 3 = 12 Registros.
    Col1,Col2, Col11, Col22, Col33

Dejar respuesta

Please enter your comment!
Please enter your name here