Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

CROSS JOIN vs INNER JOIN w SQL

Oto najlepszy przykład łączenia krzyżowego i łączenia wewnętrznego.

Rozważ następujące tabele

TABELA:Teacher

x------------------------x
| TchrId   | TeacherName | 
x----------|-------------x
|    T1    |    Mary     |
|    T2    |    Jim      |
x------------------------x

TABELA:Student

x--------------------------------------x
|  StudId  |    TchrId   | StudentName | 
x----------|-------------|-------------x            
|    S1    |     T1      |    Vineeth  |
|    S2    |     T1      |    Unni     |
x--------------------------------------x

1. DOŁĄCZENIE WEWNĘTRZNE

Złączenie wewnętrzne wybiera wiersze, które spełniają wymagania obu tabeli .

Rozważ, że musimy znaleźć nauczycieli, którzy są nauczycielami klas i odpowiadających im uczniów. W takim przypadku musimy zastosować JOIN lub INNER JOIN i będzie

Zapytanie

SELECT T.TchrId,T.TeacherName,S.StudentName 
FROM #Teacher T
INNER JOIN #Student S ON T.TchrId = S.TchrId
  • SKOCZKA SQL

Wynik

x--------------------------------------x
|  TchrId  | TeacherName | StudentName | 
x----------|-------------|-------------x            
|    T1    |     Mary    |    Vineeth  |
|    T1    |     Mary    |    Unni     |
x--------------------------------------x

2. POŁĄCZENIE KRZYŻOWE

Złączenie krzyżowe wybiera wszystkie wiersze z pierwszej tabeli i wszystkie wiersze z drugiej tabeli i pokazuje jako produkt kartezjański, tj. ze wszystkimi możliwościami

Rozważ, że musimy znaleźć wszystkich nauczycieli w szkole i uczniów, niezależnie od nauczycieli klasowych, musimy zastosować CROSS JOIN .

Zapytanie

SELECT T.TchrId,T.TeacherName,S.StudentName 
FROM #Teacher T
CROSS JOIN #Student S 
  • SKOCZKA SQL

Wynik

x--------------------------------------x
|  TchrId  | TeacherName | StudentName | 
x----------|-------------|-------------x            
|    T2    |     Jim     |    Vineeth  |
|    T2    |     Jim     |    Unni     |
|    T1    |     Mary    |    Vineeth  |
|    T1    |     Mary    |    Unni     |
x--------------------------------------x


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Znajdź wartości nieliczbowe w kolumnie w SQL Server

  2. Dlaczego przesyłanie/konwertowanie z int zwraca gwiazdkę

  3. Wyzwalacze logowania w SQL Server

  4. Wprowadzenie do tabel tymczasowych w SQL Server

  5. Jak zaimportować plik .bak programu SQL Server do MySQL?