Kiến thức về row constructor trong SQL Server

  • Monday 26/05/2025

Row constructor là một tính năng mạnh mẽ trong SQL Server cho phép chúng ta tạo ra các “hàng” (rows) dữ liệu tạm thời để sử dụng trong các câu lệnh truy vấn. Mặc dù có vẻ đơn giản, nhưng việc hiểu và sử dụng row constructors một cách hiệu quả có thể giúp chúng ta viết các câu lệnh SQL gọn gàng, dễ đọc và tối ưu hơn trong nhiều trường hợp.

1. Row constructor là gì?

Một row constructor là một biểu thức trả về một hàng dữ liệu. Cú pháp cơ bản của nó là một danh sách các giá trị được phân tách bằng dấu phẩy, được đặt trong dấu ngoặc đơn. Mỗi giá trị trong danh sách này đại diện cho một cột trong hàng.

Cú pháp cơ bản:

(value1, value2, value3, ...)

Trong đó: value1, value2, value3, … là các biểu thức hoặc hằng số trả về giá trị cho các cột tương ứng.

2. Một số trường hợp sử dụng

Row constructors thường được sử dụng trong các ngữ cảnh sau:

2.1. Trong Mệnh Đề VALUES của Câu Lệnh INSERT

Đây là trường hợp sử dụng phổ biến nhất của row constructors. Khi chúng ta muốn chèn một hoặc nhiều hàng dữ liệu vào một bảng, chúng ta sử dụng row constructors trong mệnh đề VALUES.

Ví dụ:

row constructor

Trong ví dụ này, mỗi cặp dấu ngoặc đơn (..., ..., ...) là một row constructor, đại diện cho một hàng dữ liệu được chèn vào bảng Employees.

2.2. Trong Mệnh Đề WHERE với Toán Tử IN

Chúng ta có thể sử dụng row constructors kết hợp với toán tử IN để kiểm tra sự tồn tại của một tập hợp các giá trị trong một tập hợp khác. Điều này đặc biệt hữu ích khi chúng ta muốn so sánh nhiều cột cùng một lúc.

Ví dụ:

Giả sử chúng ta muốn tìm các nhân viên làm việc ở phòng ban 101 hoặc 102 và có tên là ‘Nguyen Van A’ hoặc ‘Tran Thi B’.

row constructor

Lưu ý: Việc sử dụng row constructors với IN để so sánh nhiều cột là một tính năng mạnh mẽ và gọn gàng hơn so với việc sử dụng nhiều toán tử ANDOR phức tạp.

2.3. Trong Bảng Biểu Thức Chung (CTE – Common Table Expression)

Chúng ta có thể tạo ra các bảng tạm thời bằng cách sử dụng VALUES kết hợp với CTE, nơi mà mỗi hàng được định nghĩa bằng một row constructor.

Ví dụ:

row constructor

Ở đây, MyTempTable được tạo ra từ ba row constructors, sau đó chúng ta có thể truy vấn nó như một bảng thông thường. Điều này rất hữu ích cho việc tạo dữ liệu mẫu hoặc kiểm thử.

2.4. Trong Mệnh Đề SET của Câu Lệnh UPDATE (SQL Server 2022 trở lên)

SQL Server 2022 đã giới thiệu khả năng sử dụng row constructors trong mệnh đề SET của câu lệnh UPDATE, cho phép chúng ta cập nhật nhiều cột cùng một lúc một cách thuận tiện.

Ví dụ (SQL Server 2022+):

row constructor

Lưu ý: Tính năng này yêu cầu phiên bản SQL Server 2022 trở lên. Nếu chúng ta đang sử dụng phiên bản cũ hơn, bạn sẽ phải cập nhật từng cột một.

3. Ưu – Nhược điểm

3.1. Ưu điểm

  • Tính gọn gàng: Giúp viết các câu lệnh SQL ngắn gọn và dễ đọc hơn, đặc biệt khi làm việc với nhiều giá trị hoặc nhiều cột.
  • Hiệu quả: Trong một số trường hợp, việc sử dụng row constructors có thể được tối ưu hóa tốt hơn so với các phương pháp thay thế (ví dụ: chuỗi OR dài).
  • Dễ đọc: Cú pháp trực quan giúp chúng ta dễ dàng hiểu ý định của câu lệnh.

3.2. Nhược điểm và lưu ý

  • Tính tương thích: Một số tính năng của row constructors (ví dụ: trong mệnh đề UPDATE) có thể chỉ khả dụng ở các phiên bản SQL Server mới hơn.
  • Kiểu dữ liệu: Các giá trị trong một row constructor phải tương thích về kiểu dữ liệu với các cột mà chúng được gán hoặc so sánh.
  • Số lượng cột: Số lượng giá trị trong một row constructor phải khớp với số lượng cột mà nó đang được áp dụng.

Tóm lại, row constructors là một công cụ đơn giản nhưng rất hữu ích trong SQL Server. Việc nắm vững cách sử dụng chúng sẽ giúp chúng ta viết các câu lệnh SQL hiệu quả hơn, gọn gàng hơn và dễ bảo trì hơn. Hãy luyện tập và áp dụng row constructors vào các truy vấn của chúng ta để khai thác tối đa sức mạnh của chúng.

Hy vọng qua bài viết này mọi người sẽ có thông tin hữu ích và hiểu rõ hơn một vài kiến thức cơ bản về kiến thức về row constructor trong SQL Server..


P.A Việt Nam cung cấp đa dạng các Plan Hosting đáp ứng yêu cầu của khách hàng
Hosting Phổ Thông
Hosting Chất Lượng Cao
Hosting WordPress

Tham khảo các ưu đãi: https://www.pavietnam.vn/vn/tin-khuyen-mai/

5/5 - (1 bình chọn)