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

Phụ lục
cach-tao-view-va-nhung-loi-ich-khi-su-dung

Ở 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.

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.

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é.


Devwork
Devwork là Nền tảng tuyển dụng kỹ sư IT vượt trội với mô hình kết nối Nhà tuyển dụng với mạng lưới hơn 30.000 CTV tuyển dụng.
Hơn 1500 Nhà tuyển dụng tin dùng Devwork để :
Tối ưu chi phí
Tiết kiệm thời gian
Chất lượng chuyên nghiệp
Hãy đăng ký ngay Devwork trong hôm nay để có thể gia tăng sự cạnh tranh của công ty bạn.
Hoặc liên hệ với chúng tôi :
Email: hello@devwork.vn

Tag Cloud:

Tác giả: quyenntt

Chia sẻ bài viết

Sao chép đường dẫn

Việc làm tại Devwork

khám phá các cơ hội việc làm tốt nhất tại Devwork Xem thêm

Tiền thưởng

Đăng nhập để xem

Tiền thưởng

Đăng nhập để xem

Sale Manager

  • Negotiate
  • Hồ Chí Minh

Tiền thưởng

Đăng nhập để xem

SALES STAFF

  • Negotiate
  • Hồ Chí Minh

Tiền thưởng

Đăng nhập để xem

Bài viết liên quan

Danh sách bài viết liên quan có thể bạn sẽ thích Xem thêm