csdl cau3
----them du lieu-----
insert into khach(mkh,hoten,diachi) values ('k001',N'tran van hiep',N'sdsf')
----them dl tu bang khac---
insert into khach(mkh,hoten,diachi) select mkh,hoten,diachi from vanhiep
-----sua du lieu------
update khach set diachi=N'bac ninh' where mkh='k002'
----xoa du lieu----
delete from khach where mkh='k002'
--tao bang moi---
create table<tenbang>(<tencot><kieu><thuoc tinh khoa> constraint<ten rang buoc><kieu rang buoc>
---them cot moi---
alter table<ten bang> add column<ten cot><kieu dl><not null>
---xoa cot---
alter table<ten bang> drop column<ten cot>
--sua kieu dl--
alter table<ten bang> alter column<ten cot> <kieu dl moi>
---them rang buoc---
alter table<ten bang> add constraint<ten cot><kieu dl><not null>
------------------------------------
------------------de thi-----------------------
------------------------------------------------------------
a,---------câu truy vân------danh sách hóa don trong quy i/2009
Select so_hd from HOADON where year(ngayban)=2009 and month(ngayban)<4
b,---------lap dánh sách 10 khách hàng có so tien mua nhieu nhat--------
select top 6 Hoadon.Makh,khach.hoten,SUM(hoadon.Tongtien) from HOADON,KHACH
where HOADON.Makh=KHACH.Makh and YEAR(hoadon.Ngayban)=2009
group by hoadon.Makh,khach.Hoten----- {sap xep tao thanh 1 top de tinh tong cua lenh "order by"} ------------
order by SUM(tongtien) desc
c,------------xác dinh hàng ko bán dc nam 2009---------
select Mahg,Ten_Hang from HANG where mahg not in (select Mahg from Ct_HOADON where so_hd in (select so_hd from HOADON where YEAR(Ngayban)=2010) )
d,----Hieu theo nghia so luong nhieu nhat-----
select top 1 SUM(Soluong) as Soluong,MaHg from Ct_HOADON
Group by MaHg,so_hd
having so_hd in(select so_hd from HOADON where YEAR(Ngayban)=2009)
order by SUM(Soluong) desc
e.----Hieu theo nhieu nguoi khac nhau mua nhat----
select Ten_Hang,c.MaHg,COUNT(c.MaHg) as Solanmathang, COUNT(Makh) as Solankh from (Ct_HOADON c inner join HANG h on c.MaHg=h.MaHg)
inner join HOADON hd on c.so_hd=hd.so_hd
where YEAR(Ngayban)=2009
group by c.MaHg,Ten_Hang
order by COUNT(c.MaHg) desc, COUNT(Makh) desc
Một cơ sở dữ liệu KHACHHANG, gồm bốn bảng dữ liệu sau:
KHACH_HANG (mã khách hàng,ngày sinh, họ và tên, địa chỉ)
DON_HANG (số đơn hàng, mã khách hàng, ngày đặt hàng)
DONG_DON (số đơn hàng, mã hàng, số lượng)
HANG_HOA (mã hàng, tên hàng, mô tả, đơn giá theo đơn vị)
Viết các câu lệnh SQL thực hiện các yêu cầu sau:
a. tạo các bảng trong cơ sở dữ liệu KHACHHANG;
b. nhập vào theo thứ tự mỗi bảng của cơ sở dữ liệu 5 bản ghi;
c. tìm kiếm thông tin về các khách hàng (bao gồm: mã khách hàng, họ và tên, địa chỉ) không đặt hàng trong 01 tháng tính đến ngày hiện tại
d. tìm kiếm thông tin về 05 mặt hàng (bao gồm: mã hàng, đơn hàng, tên hàng, tổng tiền) có tổng tiền đặt là bé nhất. Biết rằng: tổng tiền = đơn giá theo đơn vị * số lượng
e. tính tổng tiền của tất cả các khách hàng đã đặt hàng có tên là "nokia6610i"
f. liệt kê danh sách khách hàng đã đặt hàng, gồm các thông tin: mã khách hàng, ngày sinh, họ tên, địa chỉ, mã hàng, tên hàng, mô tả, đơn giá theo đơn vị, số đơn hàng, số lượng. Hãy cho biết câu lệnh SQL trên sử dụng phép toán đại số quan hệ nào?
Giải
a/
create table KHACH_HANG
makh char(10) primary key,
ngaysinh date,
hoten nvarchar(100),
diachi nvarchar(200),
create table DON_HANG
sodh char(10) primary key,
makh char(10),
ngaydat date
create table DONG_DON
sodh char(10),
mahang char(10),
soluong float
create table HANG_HOA
mahang char(10) primary key,
tenhang nvarchar(50),
mota ntext,
dongia float
Insert into ten_bang(DS_truong) values( ... )
c/
select khach_hang.* from khach_hang
where khach_hang.makh != don_hang.makh
and (MONTH(ngaydat)=MONTH(getdate()) or MONTH(ngaydat)=MONTH(getdate())-1)
d/ Chưa làm được :)
select hang_hoa.tenhang,(dong_don.soluong*hang_hoa.dongia) as tongtien,don_hang.makh,khach_hang.hoten
from hang_hoa,dong_don,don_hang,khach_hang
where hang_hoa.mahang=dong_don.mahang and don_hang.sodh=dong_don.sodh and khach_hang.makh=don_hang.makh and HANG_HOA.tenhang='Nokia6610i'
f/
select KHACH_HANG.makh,KHACH_HANG.hoten,KHACH_HANG.diachi,KHACH_HANG.ngaysinh,
DON_HANG.sodh,DON_HANG.ngaydat,
DONG_DON.mahang,DONG_DON.soluong,
HANG_HOA.tenhang,HANG_HOA.dongia
from KHACH_HANG,DON_HANG,DONG_DON,HANG_HOA
where KHACH_HANG.makh=DON_HANG.makh and DON_HANG.sodh=DONG_DON.sodh and DONG_DON.mahang=HANG_HOA.mahang
Câu 3_Đề lẻ CSDL2 K45
a/
select sinhvien.masv,sinhvien.hoten_sv from sinhvien,detai,GIANGVIEN
where sinhvien.ma_dt=detai.ma_dt and detai.magv=giangvien.Magv and giangvien.Hoten_GV=N'Vũ Bá Anh'
select detai.ma_dt,detai.tendt,count(sinhvien.masv) from detai,giangvien,sinhvien
where detai.magv=giangvien.magv and sinhvien.madt=detai.madt and giangvien.hoten_gv=’Hoang Huu Son’
group by detai.madt,detai.tendt
having count(sinhvien.masv)=0
c/
select sinhvien.ma_dt,detai.ten_dt,COUNT(sinhvien.ma_dt) as solan from sinhvien,detai
where sinhvien.ma_dt=detai.ma_dt
group by sinhvien.ma_dt,detai.ten_dt
order by COUNT(sinhvien.ma_dt) desc
Đề thi CSDL1
SP(Masp,Tensp,Trongluong,Noisx)
NCC(Mancc,Tenncc,Doanhso,Diachi)
SP_NCC(Masp,Mancc,Diachi)
Yêu cầu:
A,Tìm nhà cung cấp có daonh số lớn nhất
B,Tìm tên mặt hàng do hãng có số hiệu IBM cung cấp
C,Tìm tên những mặt hàng nơi SX khác với địa chỉ nhà cung cấp
Giải:
a,
select top 1 mancc,tenncc,Doanhso,Diachi from NCC
order by Doanhso desc
b,
select sp.Masp,sp.Tensp from SP,SP_NCC,NCC
where sp.Masp=sp_ncc.Masp and SP_NCC.Mancc=ncc.Mancc and ncc.Tenncc='IBM'
c,
select SP.Masp,SP.Tensp,SP.Noisx,SP_NCC.Diachi from SP,SP_NCC
where SP.Masp=SP_NCC.Masp and SP.Noisx != SP_NCC.Diachi
HOADON(Sohd,Ngay,Mahang,Makhach,Soluong)
KHACH(Makhach,Tenkhach,Diachi,Dienthoai)
HANG(Mahang,Tenhang,Soluong,Giamua,Giaban)
Yêu cầu:
A,Liệt kê các hóa đơn bán cho khách hàng trước ngày N
B,Liệt kê các mặt hàng đã bán và tổng tiền đã bán cho khách hàng X
C,Cho biết tên mặt hàng đã bán trong ngày hôm nay
a,
select hoadon.Sohd from HOADON,KHACH where hoadon.Makhach=KHACH.Makhach
and khach.Tenkhach=N'Đỗ Quỳnh Anh'
and Day(hoadon.Ngay)<DAY(GETDATE())
àGiả sử ngày N ở đây là ngày hiện tại
b,
select HOADON.Mahang,Hang.Tenhang,(HOADON.Soluong*HANG.Giaban) as tongtien from HOADON,HANG,KHACH
where HOADON.Mahang=HANG.Mahang and HOADON.Makhach=KHACH.Makhach and KHACH.Tenkhach=N'Đỗ Quỳnh Anh'
c,
select HOADON.Mahang,HANG.Tenhang from HANG,HOADON
where DAY(hoadon.Ngay)=DAY(getdate()) and HOADON.Mahang=HANG.Mahang
Bạn đang đọc truyện trên: AzTruyen.Top