SQL - CREATE View: Hướng dẫn chi tiết cho người mới bắt đầu

Chào mừng các bạn đam mê cơ sở dữ liệu! Hôm nay, chúng ta sẽ khám phá thế giới thú vị của các view trong SQL. Đừng lo lắng nếu bạn mới bắt đầu học lập trình; tôi sẽ hướng dẫn bạn từng bước qua chủ đề này, giống như tôi đã làm cho hàng trăm học sinh trong những năm dạy học của mình. Hãy cùng bắt đầu hành trình này nhé!

SQL - Create Views

View là gì?

Hãy tưởng tượng bạn đang sắp xếp tủ quần áo. Thay vì phải lục lọi qua tất cả quần áo mỗi lần bạn cần một bộ trang phục, có phải sẽ tuyệt vời nếu bạn có một khu vực đặc biệt cho những món đồ yêu thích của mình không? Đó chính là điều mà một view SQL làm cho cơ sở dữ liệu của bạn!

Một view SQL là một bảng ảo dựa trên kết quả của một câu lệnh SQL. Nó chứa các hàng và cột, giống như một bảng thực tế, nhưng nó không lưu trữ dữ liệu itself. Thay vào đó, nó là một truy vấn SQL đã lưu mà bạn có thể tham khảo sau này, giống như một phím tắt đến bộ trang phục yêu thích của bạn trong cơ sở dữ liệu!

Views mang lại nhiều lợi ích:

  1. Đơn giản: Chúng có thể đơn giản hóa các truy vấn phức tạp.
  2. Bảo mật: Chúng có thể hạn chế truy cập vào dữ liệu cụ thể.
  3. Đồng nhất: Chúng đảm bảo rằng mọi người sử dụng cùng một logic truy vấn.

Câu lệnh SQL CREATE VIEW

Bây giờ, hãy học cách tạo một view. Cú pháp cơ bản rất đơn giản:

CREATE VIEW view_name AS
SELECT column1, column2, ...
FROM table_name
WHERE condition;

Hãy phân tích này với một ví dụ thực tế. Giả sử chúng ta có một bảng叫做 employees với các cột như employee_id, first_name, last_name, department, và salary.

CREATE VIEW high_salary_employees AS
SELECT employee_id, first_name, last_name, department
FROM employees
WHERE salary > 50000;

Trong ví dụ này, chúng ta đã tạo một view叫做 high_salary_employees. View này sẽ hiển thị tất cả các nhân viên có lương trên $50,000, nhưng không bao gồm mức lương thực tế trong kết quả.

Bây giờ, bất cứ khi nào chúng ta muốn xem các nhân viên có thu nhập cao, chúng ta chỉ cần truy vấn view:

SELECT * FROM high_salary_employees;

Điều này dễ dàng hơn nhiều so với việc viết đầy đủ câu truy vấn mỗi lần, phải không? Nó giống như có một danh sách phát sẵn của những bài hát yêu thích của bạn!

Tạo View với WHERE Clause

Chúng ta đã xem qua một ví dụ cơ bản về việc sử dụng WHERE clause trong view, nhưng hãy đào sâu hơn. WHERE clause trong một view cho phép chúng ta lọc dữ liệu mà view sẽ hiển thị.

Dưới đây là một ví dụ khác:

CREATE VIEW marketing_department AS
SELECT employee_id, first_name, last_name, salary
FROM employees
WHERE department = 'Marketing';

View này, marketing_department, sẽ chỉ hiển thị các nhân viên thuộc phòng Marketing. Nó giống như có một lỗ nhìn đặc biệt chỉ hiển thị một phần của tủ quần áo của bạn!

Bạn có thể sử dụng bất kỳ WHERE clause hợp lệ nào trong định nghĩa view của mình. Ví dụ:

CREATE VIEW recent_hires AS
SELECT employee_id, first_name, last_name, hire_date
FROM employees
WHERE hire_date > '2023-01-01';

View này sẽ hiển thị tất cả các nhân viên được tuyển dụng kể từ đầu năm 2023. Rất thú vị phải không?

Clause WITH CHECK OPTION

Bây giờ, hãy xem xét điều thú vị hơn. Clause WITH CHECK OPTION giống như một người bảo vệ cho view của bạn. Nó đảm bảo rằng bất kỳ thay đổi nào được thực hiện thông qua view vẫn nằm trong điều kiện định nghĩa của view.

Hãy xem một ví dụ:

CREATE VIEW young_employees AS
SELECT employee_id, first_name, last_name, age
FROM employees
WHERE age < 30
WITH CHECK OPTION;

View này hiển thị tất cả các nhân viên dưới 30 tuổi. Clause WITH CHECK OPTION có nghĩa là nếu bạn cố gắng chèn hoặc cập nhật một nhân viên thông qua view này, nó chỉ cho phép thao tác nếu tuổi của nhân viên nhỏ hơn 30.

Ví dụ, INSERT này sẽ thành công:

INSERT INTO young_employees (employee_id, first_name, last_name, age)
VALUES (1001, 'John', 'Doe', 25);

Nhưng INSERT này sẽ thất bại:

INSERT INTO young_employees (employee_id, first_name, last_name, age)
VALUES (1002, 'Jane', 'Smith', 35);

INSERT thứ hai thất bại vì Jane đã 35 tuổi, không满足 view's điều kiện age < 30.

Kết luận

Và thế là chúng ta đã đi qua thế giới của các view SQL, từ việc hiểu chúng là gì đến việc tạo chúng với các điều kiện khác nhau. Views là công cụ mạnh mẽ trong bộ công cụ SQL của bạn, giúp bạn tổ chức và đơn giản hóa việc truy cập dữ liệu.

Nhớ rằng, thực hành là cách tốt nhất để trở nên hoàn hảo. Hãy thử tạo view của riêng bạn, thử nghiệm với các điều kiện khác nhau, và sớm bạn sẽ trở thành một chuyên gia về view SQL!

Dưới đây là bảng tóm tắt các phương pháp chúng ta đã xem qua:

Phương pháp Cú pháp Mô tả
CREATE VIEW CREATE VIEW view_name AS SELECT ... Tạo một view mới
WHERE Clause ... WHERE condition Lọc dữ liệu trong view
WITH CHECK OPTION ... WITH CHECK OPTION Đảm bảo rằng các thay đổi thông qua view thỏa mãn điều kiện của view

Chúc các bạn lập trình vui vẻ, và hy vọng các truy vấn của bạn luôn trả về kết quả mà bạn mong muốn!

Credits: Image by storyset