SQL| JOIN(Interior, a la Izquierda, Derecha y Une)
En este artículo, vamos a discutir acerca de los dos restantes se UNE:

  • CARTESIANO JOIN
  • SELF JOIN

Considere las siguientes dos tablas:

StudentCourse

    1. combinación CARTESIANAS: La combinación CARTESIANAS es también conocido como CROSS JOIN. En una unión cartesiana hay una unión para cada fila de una tabla a cada fila de otra tabla., Esto generalmente sucede cuando la columna coincidente o donde no se especifica la condición.
      • En ausencia de una condición WHERE la Unión cartesiana se comportará como un producto cartesiano . es decir, el número de filas en el conjunto de resultados es el producto del número de filas de las dos tablas.
      • En presencia de la condición WHERE esta unión funcionará como una unión interna.,
      • En términos generales, la combinación cruzada es similar a una combinación interna donde la condición de combinación siempre se evaluará como verdadera

      sintaxis:

      SELECT table1.column1 , table1.column2, table2.column1...FROM table1CROSS JOIN table2;table1: First table.table2: Second table

consultas de ejemplo(combinación cartesiana):

  • En la siguiente consulta seleccionaremos nombre y edad de la tabla de mesa del curso de estudiantes. En la salida puede ver que cada fila de la tabla Student está unida a cada fila de la tabla StudentCourse. El total de filas en el conjunto de resultados = 4 * 4 = 16.,
    SELECT Student.NAME, Student.AGE, StudentCourse.COURSE_IDFROM StudentCROSS JOIN StudentCourse;

    salida:

  1. SELF JOIN: como el nombre significa, en Self JOIN se une una tabla a sí misma. Es decir, cada fila de la tabla se une consigo misma y todas las demás filas dependiendo de algunas condiciones. En otras palabras, podemos decir que es una unión entre dos copias de la misma tabla.,Sintaxis:
    SELECT a.coulmn1 , b.column2FROM table_name a, table_name bWHERE some_condition;table_name: Name of the table.some_condition: Condition for selecting the rows.

    example Queries(SELF JOIN):

    SELECT a.ROLL_NO , b.NAMEFROM Student a, Student bWHERE a.ROLL_NO < b.ROLL_NO;

    Output:

este artículo es contribuido por harsh Agarwal. Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando contribute.geeksforgeeks.org o envíe su artículo a [email protected]. vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.