1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Cơ sở Dữ liệu SQL - Phần 3: Truy vấn (Query) và tạo View - Giải các truy vấn khó

4 23 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 4
Dung lượng 96,96 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Nếu như ở phần 2 của Bài giảng Cơ sở Dữ liệu SQL do ThS. Nguyễn Anh Việt biên soạn, tiếp tục trình bày ví dụ Quản lý bán hàng, với mức độ giải về các truy vấn khó hơn, nhằm giúp các bạn làm quen với các dạng câu truy vấn SQL. Mời các bạn cùng tham khảo.

Trang 1

* Tìm mặt hàng ñược khách ñặt hàng nhiều nhất (có số lần ñặt hàng lớn nhất) Hiển thị MaMH, TenMH, SoLanDatHang

- Trước hết, tạo View ñể chứa số lần ñặt hàng của các mặt hàng

Create View "View - Dem Mat hang" as

Select ChiTietDH.MaMH, MatHang.TenMH, Count(ChiTietDH.MaMH) as SoLan From

ChiTietDH Inner Join MatHang On ChiTietDH.MaMH = MatHang.MaMH

Group by ChiTietDH.MaMH, MatHang.TenMH

- Kết quả như sau:

- Tiếp tục các mặt hàng ñược ñặt hàng nhiều nhất

Select MaMH, TenMH, SoLan from "View - Dem Mat hang"

Where SoLan = (Select Max(SoLan) from "View - Dem Mat hang")

- Kết quả như sau:

* Tìm Khách hàng có Tổng số tiền ñặt hàng trung bình trên một hoá ñơn là lớn nhất Hiển thị MaKH, TenKH, SoTienTB_HD

- Trước hết, tạo View ñể chứa số lượng hoá ñơn của các khách hàng

Create View "View - So luong Hoa don" as

SELECT DonDH.MaKH, KhachHang.TenKH, Count(DonDH.MaKH) AS [SoLuongHD]

FROM KhachHang INNER JOIN DonDH ON KhachHang.MaKH = DonDH.MaKH

GROUP BY DonDH.MaKH, KhachHang.TenKH

Trang 2

- Kết quả như sau:

- Trong “View – Tong Thanh tien theo Khach hang” ñã có Tổng số tiền của từng Khách hàng, Đem số này chia cho Số lượng HĐ là có kết quả:

Create View "View - So tien TB tren HD" as

SELECT "View - So luong Hoa don".MaKH, "View - So luong Hoa don".TenKH,

"View - Thanh tien theo Khach hang"."Tong So Tien" / "View - So luong Hoa don".SoLuongHD as TBSoTienHD

FROM "View - So luong Hoa don" INNER JOIN "View - Thanh tien theo Khach hang" ON "View - Thanh tien theo Khach hang".MaKH = "View - So luong Hoa don".MaKH

- Kết quả như sau:

- Cuối cùng tìm khách hàng có số tiền TB trên hoá ñơn cao nhất:

SELECT MaKH, TenKH, TBSoTienHD

From "View - So tien TB tren HD"

Where TBSoTienHD = (Select Max(TBSoTienHD) from "View - So tien TB tren HD")

- Kết quả như sau:

Trang 3

- Tạo View cho truy vấn:

Create View "View - Max So tien TB tren HD" as

SELECT MaKH, TenKH, TBSoTienHD

From "View - So tien TB tren HD"

Where TBSoTienHD = (Select Max(TBSoTienHD) from "View - So tien TB tren HD")

* Tìm các Khách hàng không có ñặt hàng trong tháng 5/2004 Hiển thị MaKH, TenKH

- Trước hết, tạo View ñể tìm các khách hàng có ñặt hàng trong tháng 5/2004:

Create View "View - Khach hang dat hang thang 5/2004" as

SELECT CONVERT(VARCHAR( 10 ),NgayGH, 103 ) as [Ngay GH], DonDH.MaKH,

KhachHang.TenKH

FROM KhachHang INNER JOIN (DonDH INNER JOIN ChiTietDH ON DonDH.MaDH =

ChiTietDH.MaDH) ON KhachHang.MaKH = DonDH.MaKH

Where NgayGH >= CONVERT(Varchar( 10 ), '2004/05/01' , 111 )

And NgayGH <= CONVERT(Varchar( 10 ), '2004/05/31' , 111 )

- Sau ñó tìm các khách hàng có trong danh sách KhachHang nhưng không có trong danh sách trên

Create View "View - Khach hang khong dat hang thang 5/2004" as

Select KhachHang.MaKH, KhachHang.TenKH from KhachHang

where KhachHang.MaKH not in (Select MaKH from "View - Khach hang dat hang thang 5/2004")

- Kết quả như sau:

* Tìm các Mặt hàng không có khách hàng nào ñặt hàng Hiển thị MaMH, TenMH

- Trước hết, tạo View ñể tìm các mặt hàng có ñặt hàng trong tất cả các ñơn ñặt hàng:

Create View "View - Mat hang co dat hang" as

Select Distinct ChiTietDH.MaMH, MatHang.TenMH from ChiTietDH Inner Join

MatHang on ChiTietDH.MaMH = MatHang.MaMH

Trang 4

- Kết quả như sau:

- Tiếp tục tìm các mặt hàng không ñược ñặt hàng:

Create View "View - Mat hang khong co dat hang" as

Select MaMH, TenMH from MatHang

Where MaMH not in

(Select MaMH from "View - Mat hang co dat hang")

- Kết quả như sau:

Ngày đăng: 21/05/2021, 12:19

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm