Header Ads

Bài tập truy vấn cơ bản SQL

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

No comments