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

Cập nhật truy vấn bằng Truy vấn con trong Máy chủ Sql

bạn có thể tham gia cả hai bảng ngay cả vào UPDATE tuyên bố,

UPDATE  a
SET     a.marks = b.marks
FROM    tempDataView a
        INNER JOIN tempData b
            ON a.Name = b.Name
  • Bản trình diễn SQLFiddle

để có hiệu suất nhanh hơn, hãy xác định một INDEX trên cột marks trên cả hai bảng.

sử dụng SUBQUERY

UPDATE  tempDataView 
SET     marks = 
        (
          SELECT marks 
          FROM tempData b 
          WHERE tempDataView.Name = b.Name
        )
  • Bản trình diễn SQLFiddle


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tại sao NULL =NULL đánh giá thành false trong máy chủ SQL

  2. Không thể bỏ giản đồ vì nó không tồn tại hoặc bạn không có quyền. - Hướng dẫn SQL Server / TSQL Phần 29

  3. SQL Server, XLOCK gây hiểu lầm &tối ưu hóa

  4. Nối nhiều bảng trả về giá trị NULL

  5. Làm cách nào để thay đổi các giá trị cột nhận dạng theo lập trình?