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

    1. 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:

  1. 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.