Tình hình là mình học thực hành HQT-CSDL lớp thầy Nguyễn Thế Xuân Long, và có cho bài tập về nhà (làm từ câu a dến g nhưng ở đây mình làm hết nhé :v )
Cũng gần thi rồi nên mình rảnh ran làm mấy câu truy vấn up lên cho anh em tham khảo
Nếu ai chưa có file bài tập thì có thể xem đề ở đây (trang 5 - bài tập về câu truy vấn)
Trong đó mình bỏ câu i nhé (tại đọc cái câu hỏi chả muốn suy nghĩ @@)
Đây là bài giải của mình - các bạn chỉ chạy từng câu từng câu để kiểm tra kết quả thôi nhé, chạy cùng lúc cũng được nhưng khó xem @@
Chúc các bạn thành công
Mọi câu hỏi liên quan đến bài giải các bạn reply tại topic nhé :3 , thân!
Cũng gần thi rồi nên mình rảnh ran làm mấy câu truy vấn up lên cho anh em tham khảo
Nếu ai chưa có file bài tập thì có thể xem đề ở đây (trang 5 - bài tập về câu truy vấn)
Trong đó mình bỏ câu i nhé (tại đọc cái câu hỏi chả muốn suy nghĩ @@)
Đây là bài giải của mình - các bạn chỉ chạy từng câu từng câu để kiểm tra kết quả thôi nhé, chạy cùng lúc cũng được nhưng khó xem @@
- Code:
--sql
use QLDDH_XUANHOANG --nhớ đổi lại tên database của bạn nhé
go --sử dụng CSDL
--a
select TenHH,SLGiao,DonGiaGiao
from ChiTietGiaoHang ctgh,ChiTietDatHang ctdh,HangHoa hh
where ctdh.MaHH = ctgh.MaHH
and hh.MaHH = ctdh.MaHH
and ctdh.MaDat = 'DH01'
go
--b
select MaDat,NgayDat,TenKH
from DonDatHang inner join KhachHang on KhachHang.MaKH = DonDatHang.MaKH
where DonDatHang.MaDat not in(select MaDat from PhieuGiaoHang)
go
--c
select TenHH,DonGiaHH
from HangHoa
where DonGiaHH in (select max(DonGiaHH) from HangHoa)
go
--d
select KhachHang.MaKH,TenKH,count(MaDat) as SLDHang
from KhachHang left join DonDatHang on KhachHang.MaKH = DonDatHang.MaKH
group by KhachHang.MaKH,TenKH
go
--e
select CTGH.MaGiao,NgayGiao,sum(CTGH.SLGiao * CTGH.DonGiaGiao) as N'Tổng Tiền'
from PhieuGiaoHang PGH inner join ChiTietGiaoHang CTGH on PGH.MaGiao = CTGH.MaGiao
where year(PGH.NgayGiao) = 2012
group by CTGH.MaGiao,PGH.NgayGiao
go
--f
select KhachHang.MaKH,TenKH,count(MaDat) as SLDHang
from KhachHang left join DonDatHang on KhachHang.MaKH = DonDatHang.MaKH
group by KhachHang.MaKH,TenKH
having count(MaDat) >= 2
go
--g
select HH.MaHH,TenHH,sum(SLGiao) as N'Tổng SLGiao'
from ChiTietGiaoHang CTGH inner join HangHoa HH on CTGH.MaHH = HH.MaHH
group by HH.MaHH,HH.TenHH
having sum(SLGiao) >= all(select sum(SLGiao) as SLGiao
from ChiTietGiaoHang CTGH inner join HangHoa HH on CTGH.MaHH = HH.MaHH
group by HH.MaHH,HH.TenHH
)
go
--h
update HangHoa
set SLCon = SLCon + 10
where MaHH like 'M%'
go
--j
update KhachHang
set DienThoai = '0905999999'
where MaKH = 'KH006'
go
--k
alter table ChiTietGiaoHang
add ThanhTien int
go --B1 thêm cột ThanhTien có kiểu dữ kiệu int vào bảng CTGH
update ChiTietGiaoHang
set ThanhTien = SLGiao*DonGiaGiao
go --B2 dùng lệnh update để cập nhật dữ liệu cho cột vừa tạo
Chúc các bạn thành công
Mọi câu hỏi liên quan đến bài giải các bạn reply tại topic nhé :3 , thân!
xuanhoang_14i2
#news #SQL #source-code