Trang chủ » Blog » Cách tạo VIEW và những lợi ích khi sử dụng

Cách tạo VIEW và những lợi ích khi sử dụng

Ở phần kiến thức hôm nay, mình tiếp tục chia sẻ về VIEW, là một khái niệm nâng cao hơn so với các bài trước đây. Và kiến thức này cũng hay được sử dụng trong khi làm dự án.

1. VIEW trong SQL là gì?

Là table ảo (virtual) dựa trên kết quả từ câu lệnh SQL SELECT. Và nó cũng có các dòng và cột nhưng là table thật. Vậy hãy cùng theo dõi tiếp bên dưới nó có gì khác với table thật hay không.

Khái niệm View

2. Mục đích sử dụng VIEW

Giúp thao tác nhanh với dữ liệu mà không cần viết lại câu lệnh SQL SELECT từ đầu. Vì nó cũng chứa các dòng và cột như table thật, nên chúng ta có thể thao tác như một table thông thường.

3. Hướng dẫn thao tác với VIEW trong SQL

3.1. Tạo VIEW

Cú pháp

CREATE VIEW view_name AS

SELECT column1, column2, ...

FROM table_name

WHERE condition;

Lưu ý: Dữ liệu ở VIEW luôn được cập nhật theo dữ liệu mới nhất ở table chính.

Ví dụ

Tạo ra VIEW để liệt kê ra toàn bộ thông tin các bác sĩ và thông tin tài khoản. Với các bác sĩ chưa có tài khoản, hay tài khoản chưa có ai sở hữu thì cũng phải liệt kê ra.

CREATE VIEW view_full_join AS

SELECT d.doctor_id, d.last_name, a.account

FROM doctor d

LEFT JOIN account_system a ON d.doctor_id = a.doctor_id

UNION ALL

SELECT d.doctor_id, d.last_name, a.account

FROM doctor d

RIGHT JOIN account_system a ON d.doctor_id = a.doctor_id;

3.2. Thao tác với VIEW

Tiếp tục ví dụ bên trên, vì VIEW là một table ảo, nên bạn có thể dùng SELECT để truy vấn như một table thật:

SELECT *

FROM view_full_join;

Nhưng bạn hãy nhớ một số lưu ý khi muốn cập nhật dữ liệu (INSERT, UPDATE, DELETE) trên VIEW:

  • VIEW không chứa GROUP BY, ORDER BY.
  • Không chứa DISTINCT.
  • Nên chứa cả các column NOT NULL.
  • Không chứa sub query.
  • VIEW chỉ nên được tạo từ 1 table.

3.3. Để cập nhật cấu trúc VIEW

Khi bạn muốn cập nhật cấu trúc VIEW, hãy sử dụng với cú pháp:

CREATE OR REPLACE VIEW view_name AS

SELECT column1, column2, ...

FROM table_name

WHERE condition;

3.4. Xoá VIEW

Như là các khái niệm được tạo ra bởi CREATE, thì khi xoá chúng ta cũng sẽ sử dụng DROP như bên dưới:

DROP VIEW view_name;

Kết luận

Nếu trong dự án xuất hiện nhiều câu lệnh truy vấn phức tạp, thì hãy sử dụng VIEW để giải quyết vấn đề này. Ngoài ra, VIEW cũng có nhiều loại, các bạn hãy tìm hiểu thêm để linh hoạt trong cách sử dụng nhé.

0 Lời bình

Gửi Lời bình

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

BÀI VIẾT LIÊN QUAN

BẠN MUỐN HỌC LẬP TRÌNH?

GỌI NGAY

098 953 44 58

Đăng ký tư vấn lộ trình học lập trình

Đăng ký tư vấn, định hướng lộ trình học và giải đáp các thắc mắc về ngành nghề – Miễn phí – Online.

9 + 9 =

TƯ VẤN VỀ LỘ TRÌNH HỌC NGHỀ LẬP TRÌNH TẠI CODEGYM
TƯ VẤN VỀ LỘ TRÌNH HỌC NGHỀ LẬP TRÌNH TẠI CODEGYM