Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

CROSS JOIN so với INNER JOIN trong SQL

Đây là ví dụ điển hình nhất về Tham gia chéo và Tham gia nội bộ.

Hãy xem xét các bảng sau

BẢNG:Teacher

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

BẢNG:Student

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

1. THAM GIA INNER

Tham gia bên trong chọn các hàng thỏa mãn cả bảng .

Xem xét chúng ta cần tìm những giáo viên là giáo viên đứng lớp và học sinh tương ứng của họ. Trong điều kiện đó, chúng ta cần áp dụng JOIN hoặc INNER JOIN và sẽ

Truy vấn

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

Kết quả

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

2. THAM GIA CROSS

Kết hợp chéo chọn tất cả các hàng từ bảng đầu tiên và tất cả các hàng từ bảng thứ hai và hiển thị dưới dạng tích Đề-các, tức là với tất cả các khả năng

Cân nhắc rằng chúng ta cần tìm tất cả giáo viên trong trường và học sinh không phân biệt giáo viên đứng lớp, chúng ta cần áp dụng CROSS JOIN .

Truy vấn

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

Kết quả

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. Các trường hợp sử dụng để chọn CHAR qua VARCHAR trong SQL là gì?

  2. Làm cách nào để lấy tập lệnh của dữ liệu SQL Server?

  3. Làm thế nào để thực hiện một GROUP BY phân biệt chữ hoa chữ thường?

  4. Không thể liên kết số nhận dạng nhiều phần

  5. C # Tương đương của Kiểu dữ liệu Máy chủ SQL