SQL| JOIN(Inner, Left, Right and Full Joins)
i den här artikeln kommer vi att diskutera om de återstående två anslutningarna:
- CARTESIAN JOIN
- SELF JOIN
överväga de två tabellerna nedan:
Studentcourse
- Cartesian join: cartesian join är också känd som cross join. I en kartesisk koppling finns en koppling för varje rad i ett bord till varje rad i ett annat bord., Detta händer vanligtvis när matchande kolumn eller där villkoret inte anges.
- i avsaknad av en där tillstånd CARTESIAN JOIN kommer att bete sig som en kartesisk produkt . dvs. antalet rader i resultatuppsättningen är produkten av antalet rader i de två tabellerna.
- i närvaro av var villkoret denna koppling kommer att fungera som en inre koppling.,
- generellt sett liknar Cross join en inre koppling där join-condition alltid kommer att utvärdera till True
Syntax:
SELECT table1.column1 , table1.column2, table2.column1...FROM table1CROSS JOIN table2;table1: First table.table2: Second table
exempelfrågor(CARTESIAN JOIN):
- i nedanstående fråga väljer vi namn och ålder från Studentbordet och COURSE_ID från Studentkurstabellen. I utmatningen kan du se att varje rad i tabellstudenten förenas med varje rad i Tabellstudentenkurs. De totala raderna i resultatet-set = 4 * 4 = 16.,
SELECT Student.NAME, Student.AGE, StudentCourse.COURSE_IDFROM StudentCROSS JOIN StudentCourse;
Output:
- SELF JOIN: som namnet betyder, i SELF JOIN en tabell förenas med sig själv. Det vill säga, varje rad i tabellen förenas med sig själv och alla andra rader beroende på vissa förhållanden. Med andra ord kan vi säga att det är en koppling mellan två kopior av samma tabell.,Syntax:
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.
exempelfrågor(self JOIN):
SELECT a.ROLL_NO , b.NAMEFROM Student a, Student bWHERE a.ROLL_NO < b.ROLL_NO;
utgång:
den här artikeln harsh Agarwal bidragit med. Om du gillar GeeksforGeeks och vill bidra, kan du också skriva en artikel med contribute.geeksforgeeks.org eller maila din artikel till [email protected]. se din artikel som visas på GeeksforGeeks huvudsida och hjälpa andra nördar.