09.01.2013 Views

Cơ sở dữ liệu - e-ptit.edu.vn

Cơ sở dữ liệu - e-ptit.edu.vn

Cơ sở dữ liệu - e-ptit.edu.vn

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Chương I: Khái niệm cơ bản về các hệ cơ <strong>sở</strong> <strong>dữ</strong> <strong>liệu</strong><br />

FROM CUNG_CAP<br />

WHERE O# IN<br />

(SELECT O#<br />

FROM HOA_DON<br />

WHERE TEN_K =”Nga”)))<br />

Ví dụ Giả sử chắc chắn rằng “Hoa” chỉ có một đơn đặt hàng, khi đó có thể lấy được mã số<br />

đơn đặt hàng đó qua một câu vấn tin con và dùng nó để chọn tất cả các mặt hàng được đặt<br />

bởi “Hoa” từ quan hệ MH_SL. Trong trường hợp không biết chắc chắn “Hoa” đặt một đơn<br />

đặt hàng, mà có thể từ hai đơn đặt hàng trở lên thì câu vấn tin được trình bày dưới đây sẽ trả<br />

lời kết quả sai:<br />

In tên các mặt hàng mà “Hoa” đặt mua (trường hợp chỉ có một đơn đặt).<br />

SELECT TEN_K<br />

FROM MH_SL<br />

WHERE O# =<br />

(SELECT SHD#<br />

FROM HOA_DON<br />

WHERE TEN_K = “Hoa”);<br />

5.6.6 Các phép toán gộp nhóm<br />

SQL cung cấp năm phép toán gộp nhóm thướng dùng AVG, COUNT, SUM, MIN, MAX<br />

và các phép toán STDDEV và VARLANCE để tính độ lệch chuẩn và phương sai của một<br />

danh sách các số. Một câu lệnh SELECT – FROM –- WHERE có thể in ra kết quả khi áp<br />

dụng một hay nhiều các phép toán gộp cho các thuộc tính của một quan hệ bằng cách đặt<br />

quan hệ này trong mệnh đề FROM và trong mệnh đề SELECT AVG(A),<br />

COUNT(A),...trong đó A là một thuộc tính. Nếu trước các thuộc tính A có thêm từ khoá<br />

DISTINCT thì sự trùng lặp bị loại bỏ trước khi phép toán được thực hiện.<br />

Ví dụ<br />

a) In và tính số dư trung bình trong quan hệ CUSTOMERS..<br />

SELECT AVG (TAI_KHOAN)<br />

FROM KHACH_HANG.<br />

b) In và tính số nhà cung cấp<br />

SELECT COUNT(DISTINCT TEN_CC) #TEN<br />

FROM CUNG_CAP<br />

#TEN là tên cột mới khi in ra kết quả.<br />

c) Số các nhà cung cấp “rượu cuốc lủi”<br />

SELECT COUNT(DISTINCT TEN_CC) #TEN_CLUI<br />

FROM CUNG_CAP<br />

WHERE MAT_HANG =”Cuốc lủi”;<br />

118

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!