Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

BAI 1:

a. SELECT a.mahd, makh, trangthai, masp, soluong, ngaynhanhang


FROM hoadon a INNER JOIN chitiethoadon b
ON a.mahd = b.mahd

b. SELECT hd.mahd, makh, trangthai, masp, soluong, ngaynhanhang


FROM hoadon hd
INNER JOIN chitiethoadon cthd
ON hd.mahd = cthd.mahd
WHERE makh = 'kh001'

c. SELECT hd.mahd, ngaynhanhang, tensp, dongia, cthd.soluong,


cthd.soluong * dongia AS 'Thanh tien'
FROM hoadon hd
INNER JOIN chitiethoadon cthd
ON hd.mahd = cthd.mahd
INNER JOIN sanpham sp
ON cthd.masp = sp.masp

d. SELECT tenkh, diachi, thanhpho, hd.mahd, trangthai, cthd.soluong * dongia AS


'Tong Tien'
FROM khachhang kh
INNER JOIN hoadon hd
ON kh.makh = hd.makh
INNER JOIN chitiethoadon cthd
ON hd.mahd = cthd.mahd
INNER JOIN sanpham sp
ON sp.masp = cthd.masp
WHERE trangthai LIKE N'Chua thanh toan'

e. SELECT hd.mahd, ngaynhanhang, SUM(cthd.soluong * dongia) AS 'TongTien'


FROM hoadon hd
INNER JOIN chitiethoadon cthd
ON hd.mahd = cthd.mahd
INNER JOIN sanpham sp
ON sp.masp = cthd.masp
GROUP BY hd.mahd, ngaynhanhang
HAVING SUM(cthd.soluong * dongia) >= 500.000
ORDER BY TongTien DESC

BAI 2:

a. SELECT * FROM khachhang


WHERE makh NOT IN ( SELECT makh FROM hoadon WHERE ngaynhanhang >=
'26-07-01');
SELECT makh, ngaynhanhang FROM hoadon WHERE ngaynhanhang >= '2016-
07-01'

b. SELECT a.masp, c.tensp, COUNT(*) AS LuotMua


FROM chitiethoadon a
INNER JOIN hoadon b ON a.mahd = b.mahd
INNER JOIN sanpham c ON a.masp = c.masp
WHERE b.ngaynhanhang LIKE '2016-12%'
GROUP BY a.masp, c.tensp
HAVING COUNT(*) >= ALL (SELECT COUNT(*) FROM chitiethoadon
INNER JOIN hoadon ON chitiethoadon.mahd = hoadon.mahd
WHERE hoadon.ngaynhanhang LIKE '2016-12%'
GROUP BY chitiethoadon.masp);

SELECT chitiethoadon.masp, COUNT(*) FROM chitiethoadon


INNER JOIN hoadon ON chitiethoadon.mahd = hoadon.mahd
WHERE hoadon.ngaynhanhang LIKE '2016-12%'
GROUP BY chitiethoadon.masp

c. SELECT makh, SUM(chitiethoadon.soluong * sanpham.dongia) AS 'Tong Tien'


FROM sanpham
INNER JOIN chitiethoadon ON sanpham.masp = chitiethoadon.masp
INNER JOIN hoadon ON hoadon.mahd = chitiethoadon.mahd
INNER JOIN khachhang ON khachhang.makh = hoadon.makh
WHERE YEAR(hoadon.ngaynhanhang) = '2016'
GROUP BY khachhang.makh, khachhang.tenkh, diachi, thanhpho
ORDER BY ‘TongTien’ DESC
LIMIT 5
d. SELECT khachhang.* FROM chitiethoadon
INNER JOIN sanpham ON chitiethoadon.masp = sanpham.masp
INNER JOIN hoadon ON chitiethoadon.mahd = chitiethoadon.mahd
INNER JOIN khachhang ON khachhang.makh = hoadon.makh
WHERE khachhang.diachi LIKE N'%Da Nang' AND
sanpham.tensp LIKE N'Iphone 7 32GB' AND hoadon.ngaynhanhang LIKE '2016-
12%'

e. FROM chitiethoadon
INNER JOIN sanpham ON chitiethoadon.masp = sanpham.masp
GROUP BY sanpham.masp, sanpham.tensp
HAVING COUNT(sanpham.masp) < (SELECT AVG(SLM) AS 'so luot mua TB'
FROM (SELECT sanpham.masp, sanpham.tensp, COUNT(sanpham.masp) AS
'Luot mua'
INNER JOIN sanpham ON chitiethoadon.masp = sanpham.masp
GROUP BY sanpham.masp, sanpham.tensp) AS sanpham_TB);

SELECT AVG(SLM) AS 'so luot mua TB' FROM (SELECT sanpham.masp,


sanpham.tensp, COUNT(sanpham.masp) AS 'Luot mua'
INNER JOIN sanpham ON chitiethoadon.masp = sanpham.masp
GROUP BY sanpham.masp, sanpham.tensp) AS sanpham_TB

You might also like