SQL| JOIN(Interior, Stânga, Dreapta și Complet se Alătură)
În acest articol, vom discuta despre celelalte două se ALĂTURĂ:
- CARTEZIAN se ALĂTURE
- AUTO se ALĂTURE
lua în Considerare cele două tabele de mai jos:
StudentCourse
- CARTEZIAN se ALĂTURE: CARTEZIENE se ALĂTURE este, de asemenea, cunoscut sub numele de CRUCE se ALĂTURE. Într-un JOIN cartezian există un join pentru fiecare rând de o masă la fiecare rând de un alt tabel., Acest lucru se întâmplă de obicei atunci când coloana de potrivire sau în cazul în care condiția nu este specificată.
- În absența unei condiții în care îmbinarea carteziană se va comporta ca un produs cartezian . adică, numărul de rânduri din setul de rezultate este produsul numărului de rânduri din cele două tabele.
- în prezența condiției în care această îmbinare va funcționa ca o îmbinare interioară.,
- în General vorbind, Cross join este similar cu un inner join unde se alăture-starea întotdeauna va evalua la True
Sintaxa:
SELECT table1.column1 , table1.column2, table2.column1...FROM table1CROSS JOIN table2;table1: First table.table2: Second table
Exemplu de Interogări(CARTEZIAN se ALĂTURE):
- În interogare de mai jos vom selecta NUMELE și Vârsta de Student masă și COURSE_ID de StudentCourse masă. În ieșire puteți vedea că fiecare rând al studentului de masă este unit cu fiecare rând al studentului de masă. Rândurile totale din rezultat-set = 4 * 4 = 16.,
SELECT Student.NAME, Student.AGE, StudentCourse.COURSE_IDFROM StudentCROSS JOIN StudentCourse;
Ieșire:
- AUTO ALĂTURAȚI-vă: Ca nume semnifică, în SINE ALĂTURAȚI-vă un tabel este unit cu sine. Adică, fiecare rând al tabelului este unit cu el însuși și cu toate celelalte rânduri, în funcție de anumite condiții. Cu alte cuvinte, putem spune că este o îmbinare între două copii ale aceluiași tabel.,Sintaxa:
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.
Exemplu de Interogări(SELF JOIN):
SELECT a.ROLL_NO , b.NAMEFROM Student a, Student bWHERE a.ROLL_NO < b.ROLL_NO;
Ieșire:
Acest articol este contribuit Dure Agarwal. Dacă vă place GeeksforGeeks și ar dori să contribuie, de asemenea, puteți scrie un articol folosind contribute.geeksforgeeks.org sau e-mail la art. [email protected]. Vezi articolul apare pe GeeksforGeeks pagina principală și de a ajuta alte Geeks.