You are on page 1of 2

LAB4-SQL

Sử dụng cơ sở dữ liệu “ProductOrders” như sau:

I. Truy vấn SQL đơn giản:


Trong cơ sở dữ liệu “ProductOrders” được tạo trong bài tập trước, hãy viết các truy vấn sau:

1. Tìm tất cả Sản phẩm trong cơ sở dữ liệu


2. Tìm tên và số điện thoại của tất cả khách hàng đang sống tại 'BÌNH CHÁNH'
3. Hiển thị Tên, Giá, Số lượng tồn kho và Số lượng (bằng Số lượng tồn kho * Giá) của tất cả các Sản
phẩm có Số lượng < 20000.
4. Tìm tất cả khách hàng sống tại 'BÌNH CHÁNH' hoặc 'TÂN BÌNH'
5. Tìm tất cả Sản phẩm có 10<= Giá <= 45
6. Tìm tất cả khách hàng có số điện thoại.
7. Tìm tháng và năm mà khách hàng 'C01' đã thực hiện ít nhất một đơn đặt hàng.
8. Tìm tất cả khách hàng có tên bắt đầu bằng 'TRAN '.
9. Tìm tất cả các sản phẩm màn hình LCD.
10. Tìm ID khách hàng của tất cả khách hàng đã đặt hàng vào tháng 5 năm 2000.
11. Liệt kê tất cả các sản phẩm theo thứ tự giá giảm dần.
12. Liệt kê tất cả khách hàng theo thứ tự giảm dần của Địa chỉ, với những khách hàng có cùng địa chỉ,
chúng tôi sắp xếp theo thứ tự tăng dần của Tên.
13. Tìm sản phẩm có Giá cao nhất.

II. Truy vấn liên quan đến nhiều hơn một quan hệ
Trong cơ sở dữ liệu “ProductOrders” được tạo trong bài tập trước, hãy viết các truy vấn sau:

1. Tìm OrderID, Date, CustomerID, CustomerName, Địa chỉ, Điện thoại, Email của tất cả các đơn hàng.
2. Liệt kê tất cả đơn hàng của tất cả khách hàng bao gồm CustomerID, CustomerName, OrderID, Date.
Sắp xếp kết quả theo thứ tự giảm dần của Tên khách hàng (Lưu ý rằng chúng tôi cũng cần biết
khách hàng không có đơn hàng). Hãy thử sử dụng phép nối ngoài bên trái cho câu hỏi này.
3. Tương tự như Câu hỏi 2 nhưng sử dụng phép nối ngoài bên phải cho bài tập này.
4. Liệt kê ID khách hàng của tất cả các khách hàng chưa từng mua bất kỳ sản phẩm nào.
5. Có giao nhau giữa danh sách CutomerID từ Khách hàng và danh sách CustomerID từ Đơn hàng
không? Có bao nhiêu hàng ở đầu ra?
6. Có sự kết hợp giữa danh sách CutomerID từ Khách hàng và danh sách CustomerID từ Đơn hàng
không? Có bao nhiêu hàng ở đầu ra?
7. Có phải sự kết hợp giữa danh sách CutomerID từ Khách hàng và danh sách CustomerID từ Đơn hàng
không? Có bao nhiêu hàng ở đầu ra?
8. Liệt kê tất cả các đơn hàng của 'NGUYỄN THỊ BÉ' và 'LÊ VĂN SANG', bao gồm CustomerID,
CustomerName, OrderID, Date; được đặt hàng bởi Tên khách hàng.
9. Liệt kê OrderID, ProductCode, ProductName, Price, SellPrice, SoldQuantity, Profit ((SellPrice -
Price)*SoldQuantity) theo thứ tự tăng dần của OrderID.
10. Liệt kê ID khách hàng, Tên khách hàng, ID đơn hàng, Mã sản phẩm, Tên sản phẩm, Giá, Giá bán, Số
lượng bán, Lợi nhuận ((Giá bán - Giá)*Số lượng bán) theo thứ tự tăng dần của Tên khách hàng.
11. Liệt kê 5 Đơn hàng có lợi nhuận cao nhất (profit = (SellPrice - Price)*SoldQuantity) .
12. Liệt kê tất cả các sản phẩm (ProductCode, ProductName) được mua bởi cả 'NGUYEN THI BE' và 'MAI
THI QUE ANH'.
13. Liệt kê tất cả các sản phẩm có giá cao nhất (Lưu ý có thể có nhiều sản phẩm có giá cao nhất). Bạn
không nên sử dụng hàm tổng hợp max().

III. Truy vấn con trong SQL:


Trong cơ sở dữ liệu “ProductOrders” được tạo trong bài tập trước, hãy viết các truy vấn sau bằng truy vấn
con:

1. Liệt kê tất cả các sản phẩm có Giá nhỏ hơn giá sản phẩm 'P05'

2. Liệt kê tất cả các khách hàng đã đặt hàng bằng cách sử dụng EXISTS trong mệnh đề WHERE.

3. Liệt kê tất cả các khách hàng chưa bao giờ đặt hàng bằng cách sử dụng NOT EXISTS trong mệnh đề WHERE

4. Liệt kê tất cả các khách hàng đã đặt hàng bằng cách sử dụng IN trong mệnh đề WHERE.

5. Liệt kê tất cả các khách hàng chưa bao giờ đặt hàng bằng cách sử dụng NOT IN trong mệnh đề WHERE

6. Liệt kê tất cả sản phẩm đã mua theo thứ tự 'Or002'

7. Liệt kê tất cả các sản phẩm có Giá lớn hơn tất cả giá của 'Bàn phím' và 'Chuột'

8. Liệt kê tất cả các sản phẩm có giá lớn hơn giá 'Bàn phím' hoặc 'Chuột'

9. Liệt kê tất cả các sản phẩm mà khách hàng 'NGUYEN THI BE' (Nguyễn Thị Bé) đã mua.

10. Liệt kê tất cả các sản phẩm có giá lớn hơn giá trung bình của tất cả các sản phẩm trong bảng Sản phẩm.

You might also like