Câu hỏi

22/04/2013 20:10
Mọi người giải giúp mình bài tập về SQL nhé!
Cho Cơ sở dữ liệu gồm 2 bảng:
+NHÂNVIEN(MasoNV,Hodem,Ten,Luong,MasoNGS,MasoDV).
+DONVI(MasoDV,TenDV,MasoNQL).
Yêu cầu:Viết lệnh SQL cho các truy vấn sau:
a>Đưa ra tên Đơn vị,Lương trung bình của các đơn vị có lương TB cao nhất.
b>Đưa ra họ đệm,tên,lương của các NV có lương cao hơn lương TB.
c>Đưa ra họ đệm,tên,lương của các NV có lương cao hơn người giám sát của họ(NGS).
d>Đưa ra họ đệm,Tên,TênDV của các NV có lương cao hơn người quản lí đơn vị họ.
Cảm ơn bạn rất nhiều.
xuantrong
22/04/2013 20:10
TungNo1
22/04/2013 20:10
+NHÂNVIEN(MasoNV,Hodem,Ten,Luong,MasoNGS,MasoDV).
+DONVI(MasoDV,TenDV,MasoNQL).
Yêu cầu:Viết lệnh SQL cho các truy vấn sau:
a>Đưa ra tên Đơn vị,Lương trung bình của các đơn vị có lương TB cao nhất.
b>Đưa ra họ đệm,tên,lương của các NV có lương cao hơn lương TB.
c>Đưa ra họ đệm,tên,lương của các NV có lương cao hơn người giám sát của họ(NGS).
d>Đưa ra họ đệm,Tên,TênDV của các NV có lương cao hơn người quản lí đơn vị họ.
Cảm ơn bạn rất nhiều.
Danh sách câu trả lời (2)

Câu a:
select TenDV,avg(Luong) as 'TBluong'
from donvi as dv join nhanvien as nv on dv.MasoDV = nv.MasoDV
group by TenDV
having avg(Luong) = (select max(TBluong) as 'LTB'
from (select TenDV,avg(Luong) as 'TBluong'
from donvi as dv join nhanvien as nv on dv.MasoDV = nv.MasoDV
group by TenDV) as TB_New)
Các câu còn lại tương tự
select TenDV,avg(Luong) as 'TBluong'
from donvi as dv join nhanvien as nv on dv.MasoDV = nv.MasoDV
group by TenDV
having avg(Luong) = (select max(TBluong) as 'LTB'
from (select TenDV,avg(Luong) as 'TBluong'
from donvi as dv join nhanvien as nv on dv.MasoDV = nv.MasoDV
group by TenDV) as TB_New)
Các câu còn lại tương tự

Bạn vào link này tham khảo nhé www.ddth.com/forumdisplay.php?f=63
Trả lời câu hỏi
Câu hỏi lĩnh vực Cơ sở dữ liệu
Rao vặt Siêu Vip