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

Hiểu bản thân Tham gia

Tự nối giống như một phép nối bên trong trong đó hai hoặc nhiều trường hợp của cùng một bảng được nối với nhau thông qua một cột / trường kiểu dữ liệu chung. Kết quả như vậy (phép nối bên trong) tạo ra các hàng chung, dựa trên điều kiện nối.

Bảng nhân viên chứa ba bản ghi. Trong trường hợp này,

nhân viên với tư cách là nhân viên:

+-----+---------------+------------+
| id  | employee      | manager_id |
+-----+---------------+------------+
| 1   | Ola           |   NULL     |
| 2   | Ahmed         |    1       |
| 3   | Tove          |    1       |
+----------+----------+------------+

nhân viên với tư cách là người quản lý:

+-----+---------------+------------+
| id  | employee      | manager_id |
+-----+---------------+------------+
| 1   | Ola           |   NULL     |
| 2   | Ahmed         |    1       |
| 3   | Tove          |    1       |
+----------+----------+------------+

Bây giờ Trường hợp đầu tiên:Hãy thử điều này để hiểu sự khác biệt:

CHỌN emp.* , người quản lý manager.* TỪ nhân viên là tôi, nhân viên là người quản lýWHERE emp.id =manager.manager_id

+-----+---------------+------------+-----+---------------+------------+
| id  | employee      | manager_id | id  | employee      | manager_id |
+-----+---------------+------------+-----+---------------+------------+
| 1   | Ola           |   NULL     | 2   | Ahmed         |    1       |
| 1   | Ola           |   NULL     | 3   | Tove          |    1       |
+----------+----------+------------+----------+----------+------------+

Hãy xem, emp.id =manager.manager_id. Do đó, emp.employee với tư cách là NAME sẽ cung cấp các hàng Ola từ bảng đầu tiên &manager .employee với tư cách là MANAGER sẽ cung cấp các hàng Ahmed &Tove từ bảng thứ hai.

Bây giờ Trường hợp thứ hai:Hãy thử điều này để hiểu sự khác biệt:

CHỌN emp.* , người quản lý manager.* TỪ nhân viên là tôi, nhân viên là người quản lýWHERE manager.id =emp.manager_id

+-----+---------------+------------+-----+---------------+------------+
| id  | employee      | manager_id | id  | employee      | manager_id |
+-----+---------------+------------+-----+---------------+------------+
| 2   | Ahmed         |    1       | 1   | Ola           |   NULL     |  
| 3   | Tove          |    1       | 1   | Ola           |   NULL     |
+----------+----------+------------+----------+----------+------------+

Hãy xem, manager.id =emp.manager_id. Do đó, emp.employee với tư cách là NAME đang cung cấp các hàng Ahmed &Tove từ bảng đầu tiên &manager .employee với tư cách là MANAGER sẽ cung cấp các hàng Ola từ bảng thứ hai.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Để SHA512-băm một mật khẩu trong cơ sở dữ liệu MySQL bằng Python

  2. vòng lặp foreach php và nút addmore trong một biểu mẫu

  3. laravel có:Không tìm thấy cột

  4. Cảnh báo:một biểu mẫu trên trang này có hơn 1000 trường PHP MySql

  5. Cách đặt hàng lên đầu trong truy vấn mysql.