SQL Server - Tích hợp kết quả từ nhiều câu truy vấn

• Hàm GROUPINGcó thể sử dụng với CUBEhoặc ROLLUP.

• Sử dụng hàm GROUPINGđể tìm những dòng tổng được

thêm bổ sung do các toán tử CUBEhoặc ROLLUP.

• Hàm GROUPINGtrả về giá tri 0 hoặc 1.

pdf14 trang | Chuyên mục: SQL Server | Chia sẻ: dkS00TYs | Lượt xem: 3018 | Lượt tải: 1download
Tóm tắt nội dung SQL Server - Tích hợp kết quả từ nhiều câu truy vấn, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
1TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Tích hợp kết quả từ nhiều câu 
truy vấn
2TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Mệnh đề UNION
Mệnh đề UNION sẽ hội kết 
quả của hai câu truy vấn 
sau khi đã loại bỏ các dòng 
trùng lắp.
B
B
UNION ALL
A B
Mệnh đề UNION ALL sẽ 
không loại bỏ các dòng 
trùng lắp
A
3TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Cú pháp mệnh đề UNION
SELECT danh_sach_cot_1
FROM Ten_bang_1
UNION
SELECT danh_sach_cot_2
FROM ten_bang_2
[ORDER BY ds_cot_sap_xep]
• Ví dụ
SELECT mavtu,‘N’ as LOAI, sum(slnhap) as TONGSL 
FROM CTNVT
GROUP BY mavtu
UNION
SELECT mavtu,‘X’ as LOAI, sum(slxuat) as TONGSL 
FROM CTXVT
GROUP BY mavtu
4TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Mệnh đề EXCEPT
• Trả về những dòng có trong kết quả bên trái và không có 
trong kết quả bên phải
• VD : Tìm những mặt hàng chưa xuất bao giờ
SELECT mavt FROM vattu
EXCEPT
SELECT mavt FROM ctpx
A B
EXCEPT 
5TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Mệnh đề INTERSECT
• Trả về những dòng có trong kết quả của cả 2 bên
• VD : Tìm những mặt hàng vừa có nhập, vừa có xuất
Select mavt from ctpn
INTERSECT
Select mavt from ctpx
A B
INTERSECT
6TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Phần mở rộng của mệnh đề 
GROUP BY
7TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Toán tử ROLLUP
• ROLLUP, CUBE là phần mở rộng của mệnh đề 
GROUP BY
• Sử dụng để phát sinh các tổng trung gian từ các 
cột trong group by 
SELECT [cot,] ham_phan_nhom(cot). . .
FROM ten_bang
[WHERE dieu_kien]
[GROUP BY bieu_thuc_phan_nhom [WITH ROLLUP]]
[HAVING bieu_thuc_loc_nhom];
[ORDER BY cot];
8TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Ví dụ toán tử ROLLUP
SELECT maphong, macongviec, SUM(mucluong) as Luong
FROM qlns.nhanvien 
WHERE maphong < 60
GROUP BY maphong, macongviec WITH ROLLUP
1
2
3
9TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Ví dụ toán tử CUBE
SELECT maphong, macongviec, SUM(mucluong)
FROM qlns.nhanvien 
WHERE maphong < 60
GROUP BY maphong, macongviec WITH CUBE 
1
2
4
3
10
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Hàm GROUPING
• Hàm GROUPING có thể sử dụng với CUBE hoặc ROLLUP.
• Sử dụng hàm GROUPING để tìm những dòng tổng được 
thêm bổ sung do các toán tử CUBE hoặc ROLLUP.
• Hàm GROUPING trả về giá tri 0 hoặc 1.
SELECT [cot,] ham_phan_nhom(cot) . ,
 GROUPING(bieu_thuc)
FROM ten_bang
[WHERE dieu_kien]
[GROUP BY bieu_thuc_phan_nhom [WITH ROLLUP|CUBE]]
[HAVING bieu_thuc_loc_nhom]
[ORDER BY cot];
11
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Ví dụ hàm GROUPING
SELECT maphong maph, macongviec macv, 
 SUM(mucluong),
 GROUPING(maphong) nhom_maph,
 GROUPING(macongviec) nhom_macv
FROM qlns.nhanvien
WHERE maphong < 50
GROUP BY maphong, macongviec WITH ROLLUP
2
3
1
12
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Một số mệnh đề khác trong SELECT
13
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Chép dữ liệu ra bảng khác
• Sử dụng mệnh đề SELECT INTO
−
Chép dữ liệu ra bảng mới
−
Chỉ chạy được 1 lần, ở lần sau bảng đã tồn tại thì sẽ 
gây ra lỗi
• Cú pháp 
SELECT ds_cac_cot INTO ten_bang_moi
FROM ten_bang
…
14
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Tổng hợp dữ liệu cuối nhóm
• Mệnh đề COMPUTE, COMPUTE … BY
−
Sử dụng chung với các hàm thống kê SUM, COUNT, 
MAX, MIN, AVG
−
Với Compute By, phải có mệnh đề ORDER BY đi kèm
• Cú pháp
SELECT ds_cac_cot 
FROM ten_bang
[ORDER BY Ten_cot_phan_nhom]
COMPUTE COUNT|MIN|MAX|SUM|AVG (Ten_cot)
[BY Ten_cot_phan_nhom]

File đính kèm:

  • pdfSQL Server - Tích hợp kết quả từ nhiều câu truy vấn.pdf
Tài liệu liên quan