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

Các loại SQL JOIN

SQL JOIN kết hợp một hoặc nhiều bảng dựa trên mối quan hệ của chúng. SQL JOIN liên quan đến một bảng cha và một mối quan hệ bảng con.

Có nhiều loại SQL JOINS:

  1. Tham gia nội bộ
  2. Tham gia bên ngoài bên trái
  3. Tham gia bên ngoài bên phải
  4. Tham gia Toàn bộ Bên ngoài
  5. Tham gia chéo.

Hãy hiểu từng kiểu kết hợp SQL với sự trợ giúp của các ví dụ.

Tham gia bên trong

Phép nối bên trong trong SQL là một phép nối được sử dụng rộng rãi. Nó tìm nạp tất cả các bản ghi từ cả hai bảng cho đến khi và trừ khi điều kiện phù hợp. Có nghĩa là phép nối này sẽ chỉ trả về những hàng chung trong cả hai bảng.

Cú pháp của phép nối bên trong SQL:

 CHỌN Table_Name1.Colum_Name1, Table_Name1.Column_Name2, Table_Name1.Column_Name3, Table_Name2.Column_Name1, Table_Name2.Column_Name2, Table_Name2.Column_Name3, FROM Table_Name1 INNER JOIN Table_Name2 ON table_Name1.Column2.Column =Table_Name 

Hãy xem xét các bảng đã tồn tại, có các dữ liệu nhất định:

Bảng 1:Nhân viên

EMPLOYEEID FIRST_NAME LAST_NAME TIỀN LƯƠNG THÀNH PHỐ KHOA MANAGERID
1001 VAIBHAVI MISHRA 65500 PUNE ORACLE 1
1002 VAIBHAV SHARMA 60000 NOIDA C # 5
1003 NIKHIL VANI 50500 JAIPUR FMW 2
2001 PRACHI SHARMA 55500 ĐIỀU CHỈNH ORACLE 1
2002 BHAVESH JAIN 65500 PUNE FMW 2
2003 RUCHIKA JAIN 50000 MUMBAI C # 5
3001 PRANOTI CHIA SẺ 55500 PUNE JAVA 3
3002 ANUJA DÂY 50500 JAIPUR FMW 2
3003 DEEPAM JAUHARI 58500 MUMBAI JAVA 3
4001 RAJESH MỤC TIÊU 60500 MUMBAI KIỂM TRA 4
4002 ASHWINI TÚI XÁCH 54500 NOIDA JAVA 3
4003 RUCHIKA AGARWAL 60000 DELHI ORACLE 1
5001 ARCHIT SHARMA 55500 DELHI KIỂM TRA 4

Bảng 2:Người quản lý

Managerid manager_name manager_department
1 Snehdeep Kaur ORACLE
2 Kirti Kirtane FMW
3 Abhishek Manish JAVA
4 Anupam Mishra KIỂM TRA
5 Akash Kadam C #

Bảng 3:Máy tính xách tay:

LAPTOPID TÊN NGƯỜI LAO ĐỘNG
L101 DELL KHÔNG ĐẦY ĐỦ
L102 HP 1002
L103 LENOVO KHÔNG ĐẦY ĐỦ
L104 HP 3003
L105 DELL 4002
L106 LENOVO 4003
L107 DELL 5001
L108 HP KHÔNG ĐẦY ĐỦ
L109 DELL KHÔNG ĐẦY ĐỦ
L110 HP KHÔNG ĐẦY ĐỦ

Ví dụ về phép nối bên trong SQL

Ví dụ 1: Thực thi truy vấn để tham gia Bảng nhân viên và Bảng người quản lý, đồng thời hiển thị thông tin chi tiết của nhân viên như id nhân viên, tên nhân viên, lương từ bảng của nhân viên cũng như id người quản lý và tên người quản lý từ bảng người quản lý.

 CHỌN E.EMPLOYEEID, E.FIRST_NAME, E.LAST_NAME, E.SALARY, M.MANAGERID, M.MANAGER_NAME TỪ NHÂN VIÊN E INNER JOIN MANAGER M ON E.MANAGERID =M.MANAGERID; 

Trong truy vấn trên, chúng tôi đã tìm nạp id nhân viên, tên, họ, lương từ bảng của nhân viên và id người quản lý, tên người quản lý từ bảng người quản lý trong đó cột id người quản lý bảng của nhân viên bằng với cột id người quản lý bảng của người quản lý. Truy vấn sẽ trả về tất cả các bản ghi đối sánh từ cả hai bảng. Id người quản lý là một cột chung giữa cả hai bảng. E là tên bí danh cho bảng của nhân viên, trong khi M là tên cho bảng của người quản lý. Trường id người quản lý được đặt làm khóa ngoại trên bảng nhân viên. Id người quản lý hoạt động như khóa chính trong bảng người quản lý, tạo mối quan hệ cha-con giữa hai bảng.

Đầu ra:

EMPLOYEEID FIRST_NAME LAST_NAME TIỀN LƯƠNG MANAGERID MANAGER_NAME
1001 VAIBHAVI MISHRA 65500 1 Sneedeep Kaur
2001 PRACHI SHARMA 55500 1 Sneedeep Kaur
4003 RUCHIKA AGARWAL 60000 1 Sneedeep Kaur
1003 NIKHIL VANI 50500 2 Kirti kirtane
2002 BHAVESH JAIN 65500 2 Kirti kirtane
3002 ANUJA DÂY 50500 2 Kirti kirtane
3001 PRANOTI CHIA SẺ 55500 3 Abhishek Manish
3003 DEEPAM JAUHARI 58500 3 Abhishek Manish
4002 ASHWINI TÚI XÁCH 54500 3 Abhishek Manish
4001 RAJESH MỤC TIÊU 60500 4 Anupam Mishra
5001 ARCHIT SHARMA 55500 4 Anupam Mishra
1002 VAIBHAV SHARMA 60000 5 Akash Kadam
2003 RUCHIKA JAIN 50000 4 Akash Kadam

Các bản ghi được hiển thị theo thứ tự tăng dần theo id người quản lý.

Ví dụ 2: Thực hiện truy vấn để tham gia Bảng nhân viên và bảng Người quản lý, đồng thời hiển thị thông tin chi tiết của nhân viên như id nhân viên, tên nhân viên, lương từ bảng của nhân viên và id người quản lý và bộ phận người quản lý từ bảng người quản lý nơi lương của nhân viên lớn hơn 58000.

 CHỌN E.EMPLOYEEID, E.FIRST_NAME, E.LAST_NAME, E.SALARY, M.MANAGERID, M.MANAGER_DEPARTMENT TỪ NHÂN VIÊN E INNER JOIN MANAGER M ON E.MANAGERID =M.MANAGERID WHERE SALARY> 58000; 

Trong truy vấn trên, chúng tôi đã tìm nạp id nhân viên, tên, họ, lương từ bảng của nhân viên, id người quản lý và bộ phận người quản lý từ bảng người quản lý trong đó id người quản lý từ bảng nhân viên bằng với id người quản lý từ người quản lý. chỉ bảng những hồ sơ nhân viên có mức lương lớn hơn 58000.

Đầu ra:

EMPLOYEEID FIRST_NAME LAST_NAME TIỀN LƯƠNG MANAGERID MANAGER_DEPARTMENT
1001 VAIBHAVI MISHRA 65500 1 ORACLE
4003 RUCHIKA AGARWAL 60000 1 ORACLE
2002 BHAVESH JAIN 65500 2 FMW
3003 DEEPAM JAUHARI 58500 3 JAVA
4001 RAJESH MỤC TIÊU 60500 4 KIỂM TRA
1002 VAIBHAV SHARMA 60000 5 C #

Chỉ có sáu bản ghi được hiển thị trong đó mức lương của một nhân viên vượt quá 58000.

Ví dụ 3: Thực thi truy vấn để kết hợp bảng Nhân viên và Bảng máy tính xách tay, hiển thị thông tin chi tiết của nhân viên như id nhân viên, tên nhân viên và lương, thành phố từ bảng nhân viên, id máy tính xách tay và tên máy tính xách tay từ bảng máy tính xách tay

 CHỌN EMP.EMPLOYEEID, EMP.FIRST_NAME, EMP.SALARY, EMP.CITY, LAP.LAPTOPID, LAP. TÊN TỪ NHÂN VIÊN EM BÊN TRONG THAM GIA LAP LAPTOP TRÊN EMP.EMPLOYEEID =LAP.EMPLOYEEID; 

Trong truy vấn trên, chúng tôi đã tìm nạp id nhân viên, tên, lương, thành phố từ id máy tính xách tay của bảng nhân viên và tên từ bảng máy tính xách tay trong đó id nhân viên từ bảng nhân viên bằng id nhân viên từ bảng máy tính xách tay. Id nhân viên là một khóa ngoại trong bảng Máy tính xách tay, tạo mối quan hệ mẹ-con giữa bảng Nhân viên và bảng Máy tính xách tay.

Đầu ra:

EMPLOYEEID FIRST_NAME TIỀN LƯƠNG THÀNH PHỐ LAPTOPID TÊN
1002 VAIBHAV 60000 NOIDA L102 HP
3003 DEEPAM 58500 MUMBAI L104 HP
4002 ASHWINI 54500 NOIDA L105 DELL
4003 RUCHIKA 60000 DELHI L106 LENOVO
5001 ARCHIT 55500 DELHI L107 DELL

Chỉ có năm hồ sơ của nhân viên được hiển thị.

Ví dụ 4: Viết truy vấn để hiển thị id nhân viên, họ tên, lương và phòng ban từ bảng nhân viên Id người quản lý và tên người quản lý từ bảng người quản lý bằng cách sử dụng tham gia bên trong trong đó mức lương> 55000 và phòng ban là Oracle.

 CHỌN EMPLOYEEID, FIRST_NAME, SALARY, DEPARTMENT, M.MANAGERID, M.MANAGER_NAME FROM EMPLOYEES E INNER JOIN MANAGER M ON E.MANAGERID =M.MANAGERID WHERE SALARY> 55000 AND DEPARTMENT ='ORACLE'; 

Trong ví dụ truy vấn kết hợp ở trên, chúng tôi hiển thị thông tin chi tiết của nhân viên như id, tên, lương và phòng ban từ bảng của nhân viên, id người quản lý và tên người quản lý từ bảng người quản lý trong đó id người quản lý từ bảng của nhân viên bằng id người quản lý từ người quản lý chỉ những nhân viên có mức lương lớn hơn 55000 và Bộ phận là Oracle.

Đầu ra:

EMPLOYEEID FIRST_NAME TIỀN LƯƠNG KHOA MANAGERID MANAGER_NAME
1001 VAIBHAVI 65500 ORACLE 1 Snehdeep Kaur
2001 PRACHI 55500 ORACLE 1 Snehdeep Kaur
4003 RUCHIKA 60000 ORACLE 1 Snehdeep Kaur

Chỉ có ba nhân viên có mức lương lớn hơn 55000 và bộ phận là Oracle.

Ví dụ 5: Thực thi truy vấn tham gia trên bảng Máy tính xách tay, Người quản lý và Nhân viên, đồng thời hiển thị thông tin chi tiết của nhân viên, id người quản lý và id máy tính xách tay.

 CHỌN E.EMPLOYEEID, E.FIRST_NAME, E.LAST_NAME, M.MANAGERID, L.LAPTOPID TỪ NHÂN VIÊN E INNER JOIN MANAGER M ON E.MANAGERID =M.MANAGERID INNER JOIN LAPTOP L ON E.EMPLOYEEID =L.EMPLOYEEID; 

Truy vấn trên hiển thị id nhân viên, tên, họ, id người quản lý và id máy tính xách tay từ nhân viên, người quản lý và bảng máy tính xách tay. Chúng tôi tham gia ba bảng. Id nhân viên là một cột chung giữa các nhân viên và bảng máy tính xách tay và tạo ra mối quan hệ cha-con giữa ba bảng này. Giữa nhân viên và người quản lý, id người quản lý bảng là cột chung.

Đầu ra:

EMPLOYEEID FIRST_NAME LAST_NAME MANAGERID LAPTOPID
4003 RUCHIKA AGARWAL 1 L106
3003 DEEPAM JAUHARI 3 L104
4002 ASHWINI TÚI XÁCH 3 L105
5001 ARCHIT SHARMA 4 L107
1002 VAIBHAV SHARMA 5 L102

Tham gia bên ngoài bên trái

Phép nối bên ngoài bên trái sẽ trả về tất cả các bản ghi bảng ở phía bên trái của phép nối và các bản ghi phù hợp cho bảng ở phía bên phải của phép nối. Tập kết quả chứa null cho các bản ghi không phổ biến ở phía bên phải.

Cú pháp của phép nối ngoài cùng bên trái:

 CHỌN Table_Name1.Colum_Name1, Table_Name1.Column_Name2, Table_Name1.Column_Name3, Table_Name2.Column_Name1, Table_Name2.Column_Name2, Table_Name2.Column_Name3, FROM Table_Name1 LEFT OUTER JOIN Table_Name2 ON Table_Name1.Column2.Comumn 

Hãy xem xét các bảng hiện có, có các bản ghi sau:

Bảng 1:Nhân viên

EMPLOYEEID FIRST_NAME LAST_NAME TIỀN LƯƠNG THÀNH PHỐ KHOA MANAGERID
1001 VAIBHAVI MISHRA 65500 PUNE ORACLE 1
1002 VAIBHAV SHARMA 60000 NOIDA C # 5
1003 NIKHIL VANI 50500 JAIPUR FMW 2
2001 PRACHI SHARMA 55500 ĐIỀU CHỈNH ORACLE 1
2002 BHAVESH JAIN 65500 PUNE FMW 2
2003 RUCHIKA JAIN 50000 MUMBAI C # 5
3001 PRANOTI CHIA SẺ 55500 PUNE JAVA 3
3002 ANUJA DÂY 50500 JAIPUR FMW 2
3003 DEEPAM JAUHARI 58500 MUMBAI JAVA 3
4001 RAJESH MỤC TIÊU 60500 MUMBAI KIỂM TRA 4
4002 ASHWINI TÚI XÁCH 54500 NOIDA JAVA 3
4003 RUCHIKA AGARWAL 60000 DELHI ORACLE 1
5001 ARCHIT SHARMA 55500 DELHI KIỂM TRA 4

Bảng 2:Người quản lý

Managerid manager_name manager_department
1 Snehdeep Kaur ORACLE
2 Kirti Kirtane FMW
3 Abhishek Manish JAVA
4 Anupam Mishra KIỂM TRA
5 Akash Kadam C #

Bảng 3:Máy tính xách tay

LAPTOPID TÊN NGƯỜI LAO ĐỘNG
L101 DELL KHÔNG ĐẦY ĐỦ
L102 HP 1002
L103 LENOVO KHÔNG ĐẦY ĐỦ
L104 HP 3003
L105 DELL 4002
L106 LENOVO 4003
L107 DELL 5001
L108 HP KHÔNG ĐẦY ĐỦ
L109 DELL KHÔNG ĐẦY ĐỦ
L110 HP KHÔNG ĐẦY ĐỦ

Ví dụ về SQL Left Outer Join

Ví dụ 1: Thực thi truy vấn nối ngoài cùng bên trái trên bảng Nhân viên và bảng Máy tính xách tay, nơi hiển thị id nhân viên, tên nhân viên và id máy tính xách tay.

 CHỌN E.EMPLOYEEID, E.FIRST_NAME, E.LAST_NAME, L.LAPTOPID, L.NAME TỪ NHÂN VIÊN E TRÁI RA THAM GIA LAPTOP L TRÊN E.EMPLOYEEID =L.EMPLOYEEID; 

Trong truy vấn trên, chúng tôi đã hiển thị id nhân viên, tên, họ từ id máy tính xách tay trong bảng của nhân viên và tên từ bảng máy tính xách tay và thực hiện truy vấn nối ngoài cùng bên trái trên hai bảng này. Truy vấn sẽ trả về giá trị null ở phía bên phải của bảng nếu các hàng không giống nhau giữa các bảng.

Đầu ra:

EMPLOYEEID FIRST_NAME LAST_NAME LAPTOPID TÊN
1001 VAIBHAVI MISHRA KHÔNG ĐẦY ĐỦ KHÔNG ĐẦY ĐỦ
1002 VAIBHAV SHARMA L102 HP
1003 NIKHIL VANI KHÔNG ĐẦY ĐỦ KHÔNG ĐẦY ĐỦ
2001 PRACHI SHARMA KHÔNG ĐẦY ĐỦ KHÔNG ĐẦY ĐỦ
2002 BHAVESH JAIN KHÔNG ĐẦY ĐỦ KHÔNG ĐẦY ĐỦ
2003 RUCHIKA JAIN KHÔNG ĐẦY ĐỦ KHÔNG ĐẦY ĐỦ
3001 PRANOTI CHIA SẺ KHÔNG ĐẦY ĐỦ KHÔNG ĐẦY ĐỦ
3002 ANUJA DÂY KHÔNG ĐẦY ĐỦ KHÔNG ĐẦY ĐỦ
3003 DEEPAM JAUHARI L104 HP
4001 RAJESH MỤC TIÊU KHÔNG ĐẦY ĐỦ KHÔNG ĐẦY ĐỦ
4002 ASHWINI TÚI XÁCH L105 DELL
4003 RUCHIKA AGARWAL L106 LENOVO
5001 ARCHIT SHARMA L107 DELL

Ví dụ 2: Viết truy vấn để tìm nạp id nhân viên, họ, tên, lương từ bảng của nhân viên bên trái, kết hợp bên ngoài trên bảng máy tính xách tay có mức lương> 55000.

 CHỌN E.EMPLOYEEID, E.FIRST_NAME, E.LAST_NAME, E.SALARY, L.LAPTOPID, L.NAME TỪ NHÂN VIÊN E TRÁI RA THAM GIA LAPTOP L TRÊN E.EMPLOYEEID =L.EMPLOYEEID TẠI ĐÂU LƯƠNG> 55000;  

Trong truy vấn trên, chúng tôi đã tìm nạp chi tiết nhân viên từ bảng nhân viên và chi tiết máy tính xách tay từ bảng máy tính xách tay, nhưng chỉ những chi tiết nhân viên có mức lương lớn hơn 55000. Chúng tôi đã thực hiện truy vấn nối ngoài cùng bên trái trên hai bảng này. Truy vấn sẽ trả về giá trị null ở phía bên phải của bảng nếu các hàng không giống nhau giữa các bảng.

Đầu ra:

EMPLOYEEID FIRST_NAME LAST_NAME TIỀN LƯƠNG LAPTOPID TÊN
1001 VAIBHAVI MISHRA 65500 KHÔNG ĐẦY ĐỦ KHÔNG ĐẦY ĐỦ
1002 VAIBHAV SHARMA 60000 L102 HP
2001 PRACHI SHARMA 55500 KHÔNG ĐẦY ĐỦ KHÔNG ĐẦY ĐỦ
2002 BHAVESH JAIN 65500 KHÔNG ĐẦY ĐỦ KHÔNG ĐẦY ĐỦ
3001 PRANOTI CHIA SẺ 55500 KHÔNG ĐẦY ĐỦ KHÔNG ĐẦY ĐỦ
3003 DEEPAM JAUHARI 58500 L104 HP
4001 RAJESH MỤC TIÊU 60500 KHÔNG ĐẦY ĐỦ KHÔNG ĐẦY ĐỦ
4003 RUCHIKA AGARWAL 60000 L106 LENOVO
5001 ARCHIT SHARMA 55500 L107 DELL

Tham gia bên ngoài bên phải

Phép nối bên ngoài bên phải sẽ trả về tất cả các bản ghi bảng ở phía bên phải của phép nối và các bản ghi phù hợp cho bảng ở phía bên trái của phép nối. Tập hợp kết quả chứa rỗng đối với các bản ghi không phổ biến ở phía bên trái.

Cú pháp của phép nối ngoài bên phải:

 SELECT Table_Name1.Colum_Name1, Table_Name1.Column_Name2, Table_Name1.Column_Name3, Table_Name2.Column_Name1, Table_Name2.Column_Name2, Table_Name2.Column_Name3, FROM Table_Name1 RIGHT OUTER JOIN Table_Name2 ON Table_Name1.Column2.Column =Table_Name 

Ví dụ về SQL Right Outer Join

Ví dụ 1: Thực thi truy vấn kết hợp bên ngoài bên phải trên bảng của nhân viên và bảng máy tính xách tay, nơi hiển thị id nhân viên, tên của nhân viên.

 CHỌN E.EMPLOYEEID, E.FIRST_NAME, E.LAST_NAME, L.LAPTOPID, L.NAME TỪ NHÂN VIÊN E NGAY NGƯỜI RA THAM GIA LAPTOP L TRÊN E.EMPLOYEEID =L.EMPLOYEEID; 

Trong truy vấn trên, chúng tôi đã hiển thị id nhân viên, tên, họ từ id máy tính xách tay bảng của nhân viên và tên từ bảng máy tính xách tay và thực hiện truy vấn kết hợp bên ngoài bên phải trên hai bảng này. Truy vấn sẽ trả về giá trị null ở phía bên trái của bảng nếu các hàng không giống nhau giữa các bảng.

Đầu ra:

EMPLOYEEID FIRST_NAME LAST_NAME LAPTOPID TÊN
NULL KHÔNG ĐẦY ĐỦ KHÔNG ĐẦY ĐỦ L101 DELL
1002 VAIBHAV SHARMA L102 HP
NULL KHÔNG ĐẦY ĐỦ KHÔNG ĐẦY ĐỦ L103 LENOVO
3003 DEEPAM JAUHARI L104 HP
4002 ASHWINI TÚI XÁCH L105 DELL
4003 RUCHIKA AGARWAL L106 LENOVO
5001 ARCHIT SHARMA L107 DELL
NULL KHÔNG ĐẦY ĐỦ KHÔNG ĐẦY ĐỦ L108 HP
NULL KHÔNG ĐẦY ĐỦ KHÔNG ĐẦY ĐỦ L109 DELL
NULL KHÔNG ĐẦY ĐỦ KHÔNG ĐẦY ĐỦ L110 HP

Ví dụ 2: Viết truy vấn để tìm nạp id, tên và họ của nhân viên từ bảng của nhân viên. Tham gia bên ngoài bên phải trên bảng máy tính xách tay nơi tên máy tính xách tay bao gồm một trong các danh sách là Dell, HP.

 CHỌN E.EMPLOYEEID, E.FIRST_NAME, E.LAST_NAME, E.SALARY, L.LAPTOPID, L.NAME TỪ NHÂN VIÊN E RIGHT OUTER THAM GIA LAPTOP L ON E.EMPLOYEEID =L.EMPLOYEEID WHERE L.NAME IN (' DELL ',' HP '); 

Trong truy vấn trên, chúng tôi đã hiển thị thông tin chi tiết của nhân viên từ chi tiết máy tính xách tay trên bảng của nhân viên trên bảng máy tính xách tay. Chúng tôi đã thực hiện truy vấn kết hợp bên ngoài bên phải trên hai bảng này chỉ nhân viên có tên máy tính xách tay bao gồm một trong các danh sách là Dell và HP. Truy vấn sẽ trả về giá trị null ở phía bên trái của bảng nếu các hàng không giống nhau giữa các bảng.

Đầu ra:

EMPLOYEEID FIRST_NAME LAST_NAME LAPTOPID TÊN
NULL KHÔNG ĐẦY ĐỦ KHÔNG ĐẦY ĐỦ L101 DELL
1002 VAIBHAV SHARMA L102 HP
3003 DEEPAM JAUHARI L104 HP
4002 ASHWINI TÚI XÁCH L105 DELL
5001 ARCHIT SHARMA L107 DELL
NULL KHÔNG ĐẦY ĐỦ KHÔNG ĐẦY ĐỦ L108 HP
NULL KHÔNG ĐẦY ĐỦ KHÔNG ĐẦY ĐỦ L109 DELL
NULL KHÔNG ĐẦY ĐỦ KHÔNG ĐẦY ĐỦ L110 HP

Tham gia toàn bộ bên ngoài

Tham gia bên ngoài đầy đủ kết hợp kết quả của cả tham gia bên ngoài bên trái và liên kết ngoài bên phải. Full Outer Join cũng giống như Cross Join. Full Outer Joins trả về kết quả đầu ra, trong đó các hàng là phổ biến hoặc không phổ biến giữa các bảng.

Cú pháp của phép nối bên ngoài đầy đủ:

 CHỌN COLUMNNAME1, COLUMNNAME2 TỪ BẢNG1 ĐẦY ĐỦ THAM GIA BẢNG2; 

Ví dụ 1: Viết truy vấn để hiển thị id nhân viên, tên, họ từ id người quản lý từ bảng của nhân viên đầy đủ tham gia bên ngoài Bảng người quản lý trong đó mức lương của nhân viên lớn hơn 65000.

 CHỌN NHÂN VIÊN, FIRST_NAME, LAST_NAME, M.MANAGERID TỪ NGƯỜI QUẢN LÝ ĐẦY ĐỦ THAM GIA M WHERE SALARY> 65000; 

Trong truy vấn trên, chúng tôi đã hiển thị thông tin chi tiết của nhân viên và chi tiết người quản lý từ bảng nhân viên và người quản lý, nơi mức lương của nhân viên lớn hơn 65000 bằng cách sử dụng tham gia đầy đủ. Một cách đầy đủ, hãy nối từng Hàng trong bảng của nhân viên qua từng Hàng trong bảng của người quản lý, tức là tích Đề-các sẽ xảy ra. M * N

Đầu ra:

EMPLOYEEID FIRST_NAME LAST_NAME MANAGERID
1001 VAIBHAVI MISHRA 1
1001 VAIBHAVI MISHRA 2
1001 VAIBHAVI MISHRA 3
1001 VAIBHAVI MISHRA 4
1001 VAIBHAVI MISHRA 5
2002 BHAVESH JAIN 1
2002 BHAVESH JAIN 2
2002 BHAVESH JAIN 3
2002 BHAVESH JAIN 4
2002 BHAVESH JAIN 5

Như chúng ta có thể thấy, id nhân viên 1001 kết hợp chéo với mỗi id người quản lý, giống với id nhân viên 2002.

Ví dụ 2: Thực hiện truy vấn kết hợp bên ngoài đầy đủ trên bảng Nhân viên và bảng máy tính xách tay, trong đó mức lương của nhân viên lớn hơn 60000 và vị trí của nhân viên là Pune.

 CHỌN LAPTOPID, E.EMPLOYEEID, E.FIRST_NAME, E.SALARY, E.CITY FROM LAPTOP FULL THAM GIA NHÂN VIÊN E WHERE SALARY> 60000 AND CITY ='PUNE'; 

Trong truy vấn trên, chúng tôi hiển thị id máy tính xách tay, id nhân viên, họ tên, mức lương và thành phố từ máy tính xách tay chỉ những nhân viên tham gia đầy đủ là những người có mức lương lớn hơn 60000 và thành phố là Pune. Nếu cả hai điều kiện phù hợp với chỉ dành cho nhân viên, thì bản ghi sẽ được tìm nạp.

Đầu ra:

Tham gia chéo

Các phép nối chéo trong SQL không có gì khác ngoài được gọi là một sản phẩm cacte. Mỗi Hàng của một bảng được kết hợp hoặc hợp nhất với mỗi Hàng của bảng khác. M * N là Tham gia chéo

Cú pháp của kết hợp chéo:

 CHỌN COLUMNNAME1, COLUMNNAME2 TỪ BẢNG1 CHÉO THAM GIA BẢNG2; 

Ví dụ 1: Viết truy vấn để thực hiện thao tác kết hợp chéo trên bảng nhân viên và bảng người quản lý trong đó tên nhân viên bắt đầu bằng A

 CHỌN NHÂN VIÊN, FIRST_NAME, M.MANAGERID TỪ NHÂN VIÊN CROSS THAM GIA NGƯỜI QUẢN LÝ M TẠI ĐÂU FIRST_NAME THÍCH 'A%'; 

Trong ví dụ truy vấn kết hợp bên ngoài đầy đủ ở trên, chúng tôi đã truy xuất chi tiết nhân viên và chi tiết người quản lý từ bảng nhân viên và bảng người quản lý nhưng chỉ những bản ghi có tên của nhân viên bắt đầu bằng chữ cái 'A'.

Đầu ra:

Kết quả cho thấy rằng id nhân viên là một kết hợp chéo với mỗi hàng id người quản lý.

M * N Ở đây, M =3; id nhân viên từ các bảng nhân viên

N =5; id người quản lý từ bảng người quản lý 3 * 5 =15 hàng.

Ví dụ 2: Viết truy vấn để thực hiện thao tác kết hợp chéo trên bảng máy tính xách tay và bảng nhân viên trong đó mức lương của nhân viên lớn hơn 58000 và Mumbai.

 CHỌN LAPTOPID, TÊN, E.EMPLOYEEID TỪ LAPTOP CROSS THAM GIA NHÂN VIÊN E WHERE SALARY> 58000 AND CITY ='MUMBAI'; 

Trong truy vấn trên, chúng tôi đã hiển thị id máy tính xách tay, tên và id nhân viên từ bảng máy tính xách tay để thực hiện thao tác kết hợp chéo trên bảng nhân viên nơi mức lương của nhân viên lớn hơn 58000 và thành phố là Pune. Tham gia chéo hoạt động như M * N.

Đầu ra:


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. NoSQL là gì và nó được sử dụng như thế nào?

  2. Cách thiết kế mô hình cơ sở dữ liệu cho hệ thống đặt chỗ rạp chiếu phim

  3. Kích hoạt trong SQL

  4. SQL COUNT () cho người mới bắt đầu

  5. Aqua Data Studio