Truy vấn CẬP NHẬT trong MySQL là một câu lệnh DML được sử dụng để sửa đổi dữ liệu của bảng. Truy vấn CẬP NHẬT phải yêu cầu mệnh đề SET và WHERE. Mệnh đề SET được sử dụng để thay đổi các giá trị của cột được chỉ định trong mệnh đề WHERE
Mệnh đề THAM GIA trong MySQL được sử dụng trong câu lệnh để truy xuất dữ liệu bằng cách nối nhiều bảng trong một truy vấn
CẬP NHẬT THAM GIA là một câu lệnh MySQL được sử dụng để thực hiện cập nhật giữa các bảng có nghĩa là chúng ta có thể cập nhật một bảng bằng một bảng khác với điều kiện mệnh đề THAM GIA. Truy vấn này cập nhật và thay đổi dữ liệu trong đó có nhiều bảng được nối dựa trên Khóa CHÍNH và Khóa NGOẠI TỆ và một điều kiện nối được chỉ định. Chúng tôi có thể cập nhật một hoặc nhiều cột cùng một lúc bằng cách sử dụng truy vấn CẬP NHẬT
GHI CHÚ. Câu lệnh MySQL UPDATE JOIN được hỗ trợ từ phiên bản 4. 0 hoặc cao hơn
cú pháp
Sau đây là cú pháp cơ bản của câu lệnh UPDATE JOIN để sửa đổi bản ghi trong bảng MySQL
Trong cú pháp MySQL UPDATE JOIN ở trên
Đầu tiên, chúng tôi đã chỉ định hai bảng. bảng chính (Tab1) và một bảng khác (tab2) sau mệnh đề CẬP NHẬT. Sau mệnh đề CẬP NHẬT, cần chỉ định ít nhất một bảng. Tiếp theo, chúng tôi đã chỉ định các loại mệnh đề THAM GIA, tôi. e. , INNER JOIN hoặc LEFT JOIN, xuất hiện ngay sau mệnh đề UPDATE và sau đó là vị từ nối được chỉ định sau từ khóa ON. Sau đó, chúng ta phải gán các giá trị mới cho các cột trong Tab1 và/hoặc Tab2 để sửa đổi trong bảng. Cuối cùng, điều kiện mệnh đề WHERE được sử dụng để giới hạn các hàng để cập nhật
CẬP NHẬT THAM GIA hoạt động như thế nào trong MySQL?
Quá trình làm việc CẬP NHẬT THAM GIA trong MySQL giống như được mô tả trong cú pháp trên. Nhưng đôi khi, chúng tôi thấy rằng truy vấn này một mình thực hiện cập nhật bảng chéo mà không liên quan đến bất kỳ phép nối nào. Cú pháp sau đây là một cách khác để cập nhật một bảng bằng một bảng khác
Câu lệnh UPDATE ở trên tạo ra kết quả tương tự như UPDATE JOIN với mệnh đề INNER JOIN hoặc LEFT JOIN. Có nghĩa là chúng ta có thể viết lại cú pháp trên như cú pháp UPDATE JOIN đã hiển thị ở trên
Hãy để chúng tôi lấy một số ví dụ để hiểu cách hoạt động của câu lệnh UPDATE JOIN trong bảng MySQL
CẬP NHẬT THAM GIA Ví dụ
Trước tiên, chúng ta sẽ tạo hai bảng có tên là Hiệu suất và Nhân viên và cả hai bảng đều có liên quan với nhau thông qua khóa ngoại. Ở đây, "Hiệu suất" là bảng cha và "Nhân viên" là bảng con. Các tập lệnh sau tạo cả hai bảng cùng với bản ghi của chúng
Cái bàn. Hiệu suất
Tiếp theo, điền các bản ghi vào bảng bằng câu lệnh INSERT
Sau đó, thực hiện truy vấn CHỌN để xác minh dữ liệu như trong hình bên dưới
Cái bàn. Người lao động
Tiếp theo, điền các bản ghi vào bảng bằng câu lệnh INSERT
Sau đó, thực hiện truy vấn CHỌN để xác minh dữ liệu như trong hình bên dưới
UPDATE JOIN với INNER JOIN Ví dụ
Giả sử chúng tôi muốn cập nhật tiền lương của nhân viên trên cơ sở hiệu suất của họ. Chúng tôi có thể cập nhật tiền lương của nhân viên trong bảng Nhân viên bằng cách sử dụng câu lệnh UPDATE INNER JOIN vì phần trăm hiệu suất được lưu trữ trong bảng hiệu suất
Trong các bảng trên, chúng ta phải sử dụng trường hiệu suất để tham gia bảng Nhân viên và Hiệu suất. Xem truy vấn bên dưới
Sau khi thực hiện câu lệnh trên ta sẽ được kết quả như bên dưới cột lương của nhân viên được cập nhật thành công
Hãy cho chúng tôi hiểu cách truy vấn này hoạt động trong MySQL. Trong truy vấn, chúng tôi chỉ chỉ định bảng Nhân viên sau mệnh đề CẬP NHẬT. Đó là bởi vì chúng tôi chỉ muốn thay đổi bản ghi trong bảng Nhân viên, không phải trong cả hai bảng
Truy vấn kiểm tra các giá trị cột hiệu suất cho mỗi hàng trong bảng "Nhân viên" so với cột hiệu suất của bảng "Hiệu suất". Nếu nó nhận được cột hiệu suất phù hợp, thì nó sẽ lấy tỷ lệ phần trăm trong bảng Hiệu suất và cập nhật cột lương của bảng Nhân viên. Truy vấn này cập nhật tất cả các bản ghi trong bảng Nhân viên vì chúng tôi chưa chỉ định mệnh đề WHERE trong truy vấn CẬP NHẬT THAM GIA
CẬP NHẬT THAM GIA với LEFT JOIN Ví dụ
Để hiểu UPDATE JOIN với LEFT JOIN, trước tiên chúng ta cần chèn hai hàng mới vào bảng employee
Vì những nhân viên này là nhân viên mới, nên hồ sơ hiệu suất của họ không có sẵn. Xem đầu ra bên dưới
Nếu chúng ta muốn cập nhật lương cho nhân viên mới được tuyển dụng, chúng ta không thể sử dụng truy vấn UPDATE INNER JOIN. Đó là do không có dữ liệu hiệu suất của họ trong bảng Hiệu suất. Vì vậy, chúng tôi sẽ sử dụng câu lệnh UPDATE LEFT JOIN để đáp ứng nhu cầu này
Câu lệnh UPDATE LEFT JOIN trong MySQL được sử dụng để cập nhật một hàng trong bảng khi không tìm thấy bản ghi nào trong hàng tương ứng của bảng khác
Ví dụ, nếu chúng ta muốn tăng lương cho một nhân viên mới được tuyển dụng lên 2. 5%, chúng ta có thể làm điều này với sự trợ giúp của câu lệnh sau
Sau khi thực hiện truy vấn trên, chúng ta sẽ nhận được kết quả như hình dưới đây, chúng ta có thể thấy mức lương của nhân viên mới được tuyển dụng được cập nhật thành công
Trong bài viết này, chúng ta đã học câu lệnh MySQL Update Join cho phép chúng ta thay đổi dữ liệu hiện có trong một bảng bằng dữ liệu mới từ một bảng khác với điều kiện mệnh đề THAM GIA. Truy vấn này thuận lợi khi chúng ta cần sửa đổi một số cột nhất định được chỉ định trong mệnh đề WHERE cùng với việc sử dụng mệnh đề INNER JOIN hoặc LEFT JOIN