SQL| JOIN(wewnętrzne, lewe, prawe i pełne połączenia)
w tym artykule omówimy pozostałe dwa połączenia:
- Cartesian JOIN
- SELF JOIN
rozważ dwie tabele poniżej:
kurs studencki
- połączenie kartezjańskie: połączenie kartezjańskie jest również znane jako połączenie krzyżowe. W kartezjańskim JOIN istnieje join dla każdego wiersza jednej tabeli do każdego wiersza innej tabeli., Zwykle dzieje się tak, gdy pasująca kolumna lub gdy warunek nie jest określony.
- w przypadku braku warunku WHERE połączenie kartezjańskie będzie zachowywało się jak iloczyn kartezjański . tzn. ilość wierszy w wynikowym zestawie jest iloczynem liczby wierszy obu tabel.
- w obecności warunku WHERE to połączenie będzie działać jak połączenie wewnętrzne.,
- Ogólnie rzecz biorąc, Cross join jest podobny do wewnętrznego join, gdzie warunek join zawsze będzie oceniany na True
składnia:
SELECT table1.column1 , table1.column2, table2.column1...FROM table1CROSS JOIN table2;table1: First table.table2: Second table
przykładowe zapytania(Cartesian JOIN):
- w poniższym zapytaniu wybierzemy nazwę i wiek z tabeli studenta i numer kursu z tabeli stół studencki. Na wyjściu widać, że każdy wiersz tabeli Student jest połączony z każdym wierszem tabeli StudentCourse. Suma wierszy w wynikowym zestawie = 4 * 4 = 16.,
SELECT Student.NAME, Student.AGE, StudentCourse.COURSE_IDFROM StudentCROSS JOIN StudentCourse;
Wyjście:
- SELF JOIN: jak sama nazwa wskazuje, w SELF JOIN tabela jest połączona z sobą. Oznacza to, że każdy wiersz tabeli jest połączony ze sobą i wszystkie inne wiersze w zależności od pewnych warunków. Innymi słowy, możemy powiedzieć, że jest to połączenie pomiędzy dwoma kopiami tej samej tabeli.,Składnia:
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.
przykładowe zapytania(SELF JOIN):
SELECT a.ROLL_NO , b.NAMEFROM Student a, Student bWHERE a.ROLL_NO < b.ROLL_NO;
Wyjście:
autorem artykułu jest harsh Agarwal. Jeśli lubisz GeeksforGeeks i chciałbyś przyczynić się do tego, możesz również napisać artykuł za pomocą contribute.geeksforgeeks.org lub wyślij artykuł do [email protected]. Zobacz swój artykuł pojawiający się na stronie głównej GeeksforGeeks i pomóż innym Geekom.