Common Table Expression (CTE) in SQL


Ý nghĩa:

– Sử dụng để định nghĩa khối các câu truy vấn phức tạp được sử dụng nhiều lần trong các câu lệnh truy vấn và cập nhật dữ liệu.

– Các khối câu truy vấn sẽ được đĩnh nghĩa kèm vói các lệnh SELECT, INSERT, DELETE, UPDATE, hoặc CREATE VIEW

Cú pháp:

Ví dụ:

Sử dụng mệnh đề WITH cho biết tên các phòng ban và tổng lương của các nhân viên trong phòng thỏa điều kiện là tổng lương của phòng phải lớn hơn trung bình tổng lương các phòng.

WITH
Luong_tung_phong AS (
SELECT ph.tenphong, SUM (nv.mucluong) AS Tong_phong
FROM nhanvien nv, phong ph
WHERE nv.maphong = ph.maphong
GROUP BY ph.tenphong),
TB_luong_cac_phong AS (
SELECT SUM (Tong_phong)/COUNT(*) AS TB_phong
FROM Loung_tung_phong)
SELECT *
FROM Luong_tung_phong
WHERE Tong_phong >
(SELECT TB_phong
FROM TB_luong_cac_phong)
ORDER BY tenphong

Lưu ý:

– Không cần sử dụng nhiều từ khóa WITH mà chỉ cần thêm dấu phẩy rồi viết câu lệnh CTE kế tiếp.

Bình luận về bài viết này