SQL| JOIN(Innerlijke, Links, Rechts en Volledige Joins)
In dit artikel, zullen we discussiëren over de resterende twee JOINS:

  • CARTESISCHE JOIN
  • SELF-JOIN

Overweeg de twee tabellen hieronder:

StudentCourse

    1. CARTESISCHE JOIN: De CARTESIAANSE JOIN is ook wel bekend als CROSS JOIN. In een Cartesiaanse JOIN is er een join voor elke rij van een tabel om elke rij van een andere tabel., Dit gebeurt meestal wanneer de overeenkomende kolom of waar voorwaarde niet is opgegeven.
      • bij afwezigheid van een WHERE condition zal de cartesiaanse JOIN zich gedragen als een Cartesiaans PRODUCT . dat wil zeggen, het aantal rijen in de resultatenreeks is het product van het aantal rijen van de twee tabellen.
      • In de aanwezigheid van waar voorwaarde deze JOIN zal functioneren als een innerlijke JOIN.,
      • over het algemeen is Cross join vergelijkbaar met een innerlijke join waar de join-voorwaarde altijd zal evalueren naar True

      syntaxis:

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

Voorbeeldqueries(CARTESIAN JOIN):

  • in de onderstaande query selecteren we naam en leeftijd uit de Studententabel en CURSUS_ID uit studentcourse tafel. In de uitvoer kunt u zien dat elke rij van de tabel Student wordt samengevoegd met elke rij van de tabel Student cursus. De totale toeren in het resultaat-set = 4 * 4 = 16.,

    Output:

  1. SELF JOIN: zoals de naam aangeeft, wordt in SELF JOIN een tabel met zichzelf verbonden. Dat wil zeggen, elke rij van de tabel is verbonden met zichzelf en alle andere rijen afhankelijk van een aantal voorwaarden. Met andere woorden, we kunnen zeggen dat het een samenvoeging is tussen twee exemplaren van dezelfde tabel.,Gebruik:
    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:

Dit artikel is bijgedragen door harsh Agarwal. Als je GeeksforGeeks leuk vindt en wil bijdragen, kun je ook een artikel schrijven met contribute.geeksforgeeks.org of mail uw artikel naar [email protected]. zie uw artikel verschijnen op de GeeksforGeeks hoofdpagina en help andere Geeks.