Bài tập truy vấn cơ bản SQL
Code và File: Tải về
/* 1. Đưa ra danh sách mặt hàng chưa được bán trong tháng 9 năm 2009 */
SELECT *
FROM DMHang
WHERE MaHang NOT IN
(
SELECT MaHang
FROM HoaDonBan,ChiTietHoaDon
WHERE (HoaDonBan.SoHD=ChiTietHoaDon.SoHD) AND (NgayHD BETWEEN '09-01-2009' AND '09-30-2009')
)
/* 2. Đưa ra danh sách khách hàng có địa chỉ ở Thái Nguyên và từng mua hàng trong tháng 9 năm 2009 */
SELECT *
FROM DMKhach
WHERE (DiaChi ='THái Nguyên') AND
(
MaKhach IN
(
SELECT MaKhach
FROM HoaDonBan,ChiTietHoaDon
WHERE (HoaDonBan.SoHD=ChiTietHoaDon.SoHD) AND (NgayHD BETWEEN '09-01-2009'
AND '09-30-2009')
)
)
/* 3. Đưa ra số lượng đã bán tương ứng của từng mặt hàng trong tháng 9 năm 2009 */
SELECT DMhang.MaHang ,TenHang ,sum(SoLuong) AS Tong
FROM DMHang,ChiTietHoaDon
WHERE (DMHang.MaHang = ChiTietHoaDon.MaHang) AND
(
ChiTietHoaDon.SoHD IN
(
SELECT HoaDonBan.SoHD
FROM HoaDonBan,ChiTietHoaDon
WHERE (HoaDonBan.SoHD=ChiTietHoaDon.SoHD) AND (NgayHD BETWEEN '09-01-2009'
AND '09-30-2009')
)
)
GROUP BY DMhang.MaHang,TenHang
/* 4. Đưa ra tổng số lượng hàng đã bán cho mục đích mua hàng ‘Tiếp khách’ */
SELECT DMhang.MaHang ,TenHang ,sum(SoLuong) AS Tong
FROM DMHang,ChiTietHoaDon
WHERE (DMHang.MaHang = ChiTietHoaDon.MaHang) AND
(
ChiTietHoaDon.SoHD IN
(
SELECT HoaDonBan.SoHD
FROM HoaDonBan,ChiTietHoaDon
WHERE (HoaDonBan.SoHD=ChiTietHoaDon.SoHD) AND (NgayHD BETWEEN '09-01-2009'
AND '09-30-2009')
)
)
GROUP BY DMhang.MaHang,TenHang
/* 5. Hiển thị thông tin khách hàng đã từng mua hàng tại cửa hàng */
SELECT MaKhach,TenKhach,DiaChi,DienThoai
FROM DMKhach
WHERE MaKhach IN
(
SELECT MaKhach
FROM HoaDonBan,ChiTietHoaDon
WHERE HoaDonBan.SoHD=ChiTietHoaDon.SoHD
)
GROUP BY MaKhach,TenKhach,DiaChi,DienThoai
Post a Comment