Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

Bài tập lớn 1 của bạn Lộc giải !

+3
itlinh
jasonsmith2812
phamtuananh
7 posters

Go down

Bài tập lớn 1 của bạn Lộc giải ! Empty Bài tập lớn 1 của bạn Lộc giải !

Bài gửi by phamtuananh 1/12/2009, 09:58

Bạn lộc ko có internet nên nhờ mình share bài tập lên để mọi người cùng trao đổi, có gì mọi người cùng góp ý nha!

Yêu cầu 1:
Sử dụng hệ quản trị CSDL và cú pháp truy vấn của MySQL
1/ SELECT g.TenGV, (c.NBD - curdate()) as ThamNien
FROM ChuyenMon c JOIN GiangVien g ON c.MaGV = g.MaGV
HAVING ThamNien > 3

2/ SELECT l.MaLop, SUM(g.Tp) as SoTietTp, SUM(g.Ng) as SoTietNg, SUM(g.He) as SoTietHe //d hay g?
FROM Lop l JOIN Giang g ON l.MaLop = g.MaLop
HAVING (SoTietTp > 50 OR SoTietTp < 200)
OR( SoTietNg > 50 OR SoTietNg < 200)
OR (SoTietHe > 50 OR SoTietHe < 200)

3/ SELECT gv.TenGV //gv hay g?
FROM GiangVien gv JOIN ChuyenMon c ON gv.MaGV = c.MaGV
JOIN Giang g ON c.MaGV = g.MaGV
WHERE c.MaMon <> g.MaMon

4/ SELECT gv.TenGV
FROM GiangVien gv JOIN Giang g ON gv.MaGV = g.MaGV //g và d
WHERE (g.Tp is not null AND g.Tp <> 0)
AND (g.Ng is not null AND g.Ng <> 0)
AND (g.He is not null AND g.He <> 0)

5/ SELECT gv.TenGV,
((c.hsCD * (SELECT Tp FROM Giang WHERE Tp is not null AND Tp <> 0)
+ c.hsCD * (SELECT Ng FROM Giang WHERE Ng is not null AND Ng <> 0) * 1.5
+ c.hsCD * (SELECT He FROM Giang WHERE He is not null AND He <> 0) * 1.5)
+ 132000) as TongLuong
FROM GiangVien gv JOIN ChucDanh c ON gv.MaCD = c.MaCD
JOIN Giang g ON g.MaGV = gv.MaGV

Yêu cầu 2:
TINHTIEN(LOAITIET,SOTIEN)
HESOLOPDONG(SOLUONG,HSLD)
LOAIDIADIEM(LOAIDIADIEM,HESO)
TINH-LOAIDIADIEM(MATINH,LOAIDIADIEM)
HESONGOAIGIO(LOAIDIADIEM,TRONGGIO,HSTG)
HESOTRONGNAM(MACHUCDANH,TRONGNAM,HETN)
Transon207
phamtuananh
phamtuananh
Cống hiến
Cống hiến

Tổng số bài gửi : 165
Join date : 16/09/2009

Về Đầu Trang Go down

Bài tập lớn 1 của bạn Lộc giải ! Empty Re: Bài tập lớn 1 của bạn Lộc giải !

Bài gửi by jasonsmith2812 1/12/2009, 10:01

Yêu cầu 2 : -> Em xu của anh Hải Linh.
anh Hải Linh có chỉnh sửa gì, up lên cho anh em trong lớp làm nốt nhé
jasonsmith2812
jasonsmith2812
Khởi đầu
Khởi đầu

Tổng số bài gửi : 48
Join date : 18/09/2009

Về Đầu Trang Go down

Bài tập lớn 1 của bạn Lộc giải ! Empty Re: Bài tập lớn 1 của bạn Lộc giải !

Bài gửi by itlinh 1/12/2009, 10:56

mình k có chỉnh sửa gì thêm, bạn nào đã làm phần đại số quan hệ 1.1 thì up lên xem với
itlinh
itlinh
Góp sức
Góp sức

Tổng số bài gửi : 84
Join date : 27/09/2009
Đến từ : HCM

Về Đầu Trang Go down

Bài tập lớn 1 của bạn Lộc giải ! Empty Re: Bài tập lớn 1 của bạn Lộc giải !

Bài gửi by thiet.ngh 1/12/2009, 11:11

Mình thấy có mấy câu lệnh thiếu GROUP BY hoặc dùng WHERE chu không phải dùng HAVING
thiet.ngh
thiet.ngh
Góp sức
Góp sức

Tổng số bài gửi : 92
Join date : 22/09/2009
Đến từ : Bình Định

Về Đầu Trang Go down

Bài tập lớn 1 của bạn Lộc giải ! Empty Re: Bài tập lớn 1 của bạn Lộc giải !

Bài gửi by nguyenduc 1/12/2009, 11:27

phamtuananh đã viết:Bạn lộc ko có internet nên nhờ mình share bài tập lên để mọi người cùng trao đổi, có gì mọi người cùng góp ý nha!

Yêu cầu 1:
Sử dụng hệ quản trị CSDL và cú pháp truy vấn của MySQL
1/ SELECT g.TenGV, (c.NBD - curdate()) as ThamNien
FROM ChuyenMon c JOIN GiangVien g ON c.MaGV = g.MaGV
HAVING ThamNien > 3

2/ SELECT l.MaLop, SUM(g.Tp) as SoTietTp, SUM(g.Ng) as SoTietNg, SUM(g.He) as SoTietHe //d hay g?
FROM Lop l JOIN Giang g ON l.MaLop = g.MaLop
HAVING (SoTietTp > 50 OR SoTietTp < 200)
OR( SoTietNg > 50 OR SoTietNg < 200)
OR (SoTietHe > 50 OR SoTietHe < 200)

3/ SELECT gv.TenGV //gv hay g?
FROM GiangVien gv JOIN ChuyenMon c ON gv.MaGV = c.MaGV
JOIN Giang g ON c.MaGV = g.MaGV
WHERE c.MaMon <> g.MaMon

4/ SELECT gv.TenGV
FROM GiangVien gv JOIN Giang g ON gv.MaGV = g.MaGV //g và d
WHERE (g.Tp is not null AND g.Tp <> 0)
AND (g.Ng is not null AND g.Ng <> 0)
AND (g.He is not null AND g.He <> 0)

5/ SELECT gv.TenGV,
((c.hsCD * (SELECT Tp FROM Giang WHERE Tp is not null AND Tp <> 0)
+ c.hsCD * (SELECT Ng FROM Giang WHERE Ng is not null AND Ng <> 0) * 1.5
+ c.hsCD * (SELECT He FROM Giang WHERE He is not null AND He <> 0) * 1.5)
+ 132000) as TongLuong
FROM GiangVien gv JOIN ChucDanh c ON gv.MaCD = c.MaCD
JOIN Giang g ON g.MaGV = gv.MaGV

Yêu cầu 2:
TINHTIEN(LOAITIET,SOTIEN)
HESOLOPDONG(SOLUONG,HSLD)
LOAIDIADIEM(LOAIDIADIEM,HESO)
TINH-LOAIDIADIEM(MATINH,LOAIDIADIEM)
HESONGOAIGIO(LOAIDIADIEM,TRONGGIO,HSTG)
HESOTRONGNAM(MACHUCDANH,TRONGNAM,HETN)
Transon207

Theo tôi thì câu số 2 và câu số 5 không ổn...

Các thuộc tính TP, NG, HE theo tôi là Option với giá trị là True/False chứ không phải là dữ liệu kiểu Numeric cơ.

Chứ nếu không thì không có số liệu nào cho biết GV đó có giảng ngoại thành hay ngoài giờ và trong năm học...

Xem lại nhé!

nguyenduc
Cống hiến
Cống hiến

Tổng số bài gửi : 312
Join date : 17/09/2009
Age : 44
Đến từ : Bến tre - Hồ chí minh

Về Đầu Trang Go down

Bài tập lớn 1 của bạn Lộc giải ! Empty Re: Bài tập lớn 1 của bạn Lộc giải !

Bài gửi by itlinh 1/12/2009, 11:42

mình có cách làm khác bạn loc như sau, chưa làm đsqh Bài tập lớn 1 của bạn Lộc giải ! Icon_twisted





1)


Select magv,mamon,tengv,tenmon


From chuyenmon as c,giangvien as g,mon as m


Where c.mamon=m.mamon and c.magv=g.magv and 2009-NBD>3


2)


Select malop,count(sotc)


From giang as g,mon as m


Where g.mamon=m.mamon


group by malop


having sum(sotc)>12 or sum(sotc)<=3


3)


Select g.magv,g.mamon


From giang as g


Where g.mamon not in (select mamon from chuyenmon where
magv=g.magv)


4)


Select magv from Giang


Where tp=1 and ng=1


5)


SELECT Sum([sotien]*[sotc]) AS tong


FROM (chucdanh INNER JOIN [giangvien-chucdanh] ON chucdanh.macd
= [giangvien-chucdanh].macd) INNER JOIN giang ON giangvien-chucdanh.magv =
giang.magv;
itlinh
itlinh
Góp sức
Góp sức

Tổng số bài gửi : 84
Join date : 27/09/2009
Đến từ : HCM

Về Đầu Trang Go down

Bài tập lớn 1 của bạn Lộc giải ! Empty Re: Bài tập lớn 1 của bạn Lộc giải !

Bài gửi by km_ocsen 1/12/2009, 12:19

Cau 1>



Select MaGV,TenGV

From GiangVien g,Mon m,Chuyen Mom c

Where m.Mamon=c.Mamon

And g.MaGV=c.MaGV

And year(getdate())-year(NBD)>3



Cau 2>



Select Malop,Siso,sum(SoTC*15) as tongtiet

From Mon m,Giang d

Where m.Mamon=d.Mamon

And NBD=year(getdate())

Group by Malop,Siso

Having tongtiet<50

Or tongtiet>200



Cau 3>



Select MaGV,TenGV

From Giang d,Chuyen Mon c,GiangVien g

Where d.MaGV=g.MaGV

And d.Mamon not in(Select Mamon from Chuyen Mon)



Cau 4>



Select MaGV,TenGV,count(MaGV)as Gv

From GiangVien g,Giang d

Where g.MaGV=d.MaGV

And TP=’0’

And TP=’1’

And NBD=year(getdate())

Group by MaGV,TenGV

Having GV>=2

// CÁI NÀY BẠN HẢI LÀM UP LÊN CHO CÁC BẠN COI CHO Ý KIẾN NHÉ
km_ocsen
km_ocsen
Khởi đầu
Khởi đầu

Tổng số bài gửi : 30
Join date : 23/09/2009
Age : 40
Đến từ : Lâm Đồng

Về Đầu Trang Go down

Bài tập lớn 1 của bạn Lộc giải ! Empty Re: Bài tập lớn 1 của bạn Lộc giải !

Bài gửi by nanaly 1/12/2009, 12:27

itlinh đã viết:mình có cách làm khác bạn loc như sau, chưa làm đsqh Bài tập lớn 1 của bạn Lộc giải ! Icon_twisted

Thay bao ko lam DSQH... chi chu trong SQL.. Ne^n ca'c Pa'c cu ye^n ta^m nhe'...!!!
nanaly
nanaly
Cống hiến
Cống hiến

Tổng số bài gửi : 376
Join date : 18/09/2009
Age : 40
Đến từ : QNgai

Về Đầu Trang Go down

Bài tập lớn 1 của bạn Lộc giải ! Empty Re: Bài tập lớn 1 của bạn Lộc giải !

Bài gửi by Sponsored content


Sponsored content


Về Đầu Trang Go down

Về Đầu Trang

- Similar topics

 
Permissions in this forum:
Bạn không có quyền trả lời bài viết