Khoa Công Nghệ Thông Tin -Khóa XIII-Lớp TH0702

Hân Hạnh Chào Đón Tất Cả Các Bạn
 
IndexPortalCalendarGalleryTrợ giúpTìm kiếmThành viênNhómĐăng kýĐăng Nhập

Share | 
 

 BẮT ĐẦU HỌC SQL:

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down 
Chuyển đến trang : 1, 2  Next
Tác giảThông điệp
Ice
Thành Viên Cấp 1
Thành Viên Cấp 1


Tổng số bài gửi : 29
Registration date : 18/11/2008

Bài gửiTiêu đề: BẮT ĐẦU HỌC SQL:   Wed Dec 03, 2008 8:35 pm

BẠN NÀO THAM GIA POST ĐỊA CHỈ: YAHOO LÊN ĐÂY HEN

DÙNG BÀI 7 ĐỂ LÀM VI DỤ
Photobucket

Photobucket
Về Đầu Trang Go down
Xem lý lịch thành viên
Admin
Administrator
Administrator


Nam
Tổng số bài gửi : 150
Age : 29
Đến từ : Áng Trăng Trong Màn Đêm
Job/hobbies : Sinh Viên
Registration date : 12/11/2008

Bài gửiTiêu đề: Re: BẮT ĐẦU HỌC SQL:   Wed Dec 03, 2008 9:14 pm

Yahoo:langtuphieuducamau@yahoo.com.vn
Ten: Ly Tu Anh
Phone:0979452917
Cho to tham gia vao nhom cua you nha! m004 m004

_________________
Về Đầu Trang Go down
Xem lý lịch thành viên http://th0702.7forum.info
Ice
Thành Viên Cấp 1
Thành Viên Cấp 1


Tổng số bài gửi : 29
Registration date : 18/11/2008

Bài gửiTiêu đề: Re: BẮT ĐẦU HỌC SQL:   Wed Dec 03, 2008 10:33 pm

Sr mình out dien dan nên ko Invite dc
Về Đầu Trang Go down
Xem lý lịch thành viên
Ice
Thành Viên Cấp 1
Thành Viên Cấp 1


Tổng số bài gửi : 29
Registration date : 18/11/2008

Bài gửiTiêu đề: Noi Dung Ôn   Wed Dec 03, 2008 11:02 pm

Insert : Thêm
Insert into [Tên table chứa bộ muốn chèn]
Values ([các giá trị của table])
Delete: Xóa
Delete from [Tên table chứa bộ muốn xóa]
Where [ điều kiện xác định vị trí bộ đó ]
Update: Sửa
Update [Tên table muốn sửa]
Set [Thuộc tính cần sữa trong bộ] = giá trị
Where [điều kiện xác định vị trí bộ đó]
Select : Chọn
Select [ALL | DISTINCT][Tên các cột muốn xuất hiện]
From [cột đó được lấy từ table nào]
[Where clause]
[Group by clause]
[Having clause]
[Order by clause]
Sau từ khóa Select là một danh sách các cột muốn chọn cách nhau bằng dấu “,”
Trong Select có 3 từ khóa thường dùng
1. Distinct : Khi có từ khóa này vào sau Select thì kết quả thu được các cột không trùng nhau
2. Top n : Khi có từ khóa này vào sau Select thì kết quả thu được la n hàng đầu tiên, thường đi kèm với ORDER BY(Sắp xếp)
3. As : Dùng để đặt tên cho cột
Phép “+” trong select : Dùng để ghép 2 cột thành một cột
Order by : dùng để sắp xếp dữ liệu
Order by [tên cột muốn sắp xếp>]Default sẽ sắp xếp tăng dần
Muốn Sắp xếp giảm dần thêm từ khóa DESC sau [tên cột muốn sắp xếp]
Group by và Having clause: Nhóm
Group by dùng để nhóm các hàng giống một giá trị cột nào đó, thường dùng với Count,Sum,Avg,Min,Max.
Các cột được Select phải nằm trong Group by clause.
Having dùng lọc các giá trị đã nhóm,thường đi kèm với group by
Union: Kết hợp
[Queries 1]
union
[Queries 2]
Union dùng để ghép dữ liệu của Table A với Table B.
Khi dùng Union những hàng giống nhau ở 2 bảng chỉ xuất hiện một lần trong kết qủa, muốn xuất hiện tất cả các hàng bất chấp lặp lại thì dùng Union All
Khi Dùng Union phải chú ý hai chuyện: số cột select ở 2 queries phải bằng nhau và datatype (kiểu dữ liệu) của các cột tương ứng phải tương thích.
(1 queries 1 câu lệnh truy vấn)
Join : nối
Inner join.
Select [các cột cần chọn trong table 1 và table 2]
From[Table1] Inner join [Table2] on [kết nối 2 bản]
Dùng Inner Join để select data từ 2 (hay nhiều tables) trong đó giá trị của các cột được join phải xuất hiện ở cả 2 tables

Left Outer Join
Select [các cột cần chọn trong table 1 và table 2]
From[Table1] left outer join [Table2] on [kết nối 2 bản]
Dùng Left Outer Join để loại bỏ các giá trị của table 2 ko có trong tables 1,Như vậy số cột select được = số cột bên table1
Right Outer Join
Ngược lại với left loại bỏ các giá trị của table 1 ko co trong tables 2
Close
Về Đầu Trang Go down
Xem lý lịch thành viên
vanminh
Super Mod - Quản Trị Viên
Super Mod - Quản Trị Viên


Tổng số bài gửi : 61
Registration date : 20/11/2008

Bài gửiTiêu đề: Ngôi nhà ma!!   Wed Dec 03, 2008 11:10 pm

4 rum j đâu hơn ngôi nhà ma nữa!!không có ai thỏa luận j hết!!ban đầu thì đông lắm nhưng riết rồi chẳng có ai!!
Về Đầu Trang Go down
Xem lý lịch thành viên
nickcool
Super Mod - Quản Trị Viên
Super Mod - Quản Trị Viên


Nam
Tổng số bài gửi : 112
Age : 27
Đến từ : Nơi sự sống bắt đầu
Registration date : 19/11/2008

Bài gửiTiêu đề: Re: BẮT ĐẦU HỌC SQL:   Thu Dec 04, 2008 12:04 am

hjhj. Cố lên. Giờ phia rùi ko hỏi, mai tui hỏi cho ôg koi ^^ m007
Về Đầu Trang Go down
Xem lý lịch thành viên
guanweifu
Super Mod - Quản Trị Viên
Super Mod - Quản Trị Viên


Tổng số bài gửi : 24
Registration date : 13/11/2008

Bài gửiTiêu đề: Re: BẮT ĐẦU HỌC SQL:   Thu Dec 04, 2008 11:27 am

Bai 8:

/* cau 1 */
select nv.TenNV, nv.DC
from NhanVien nv, PhongBan pb
where (nv.Phong=pb.maphong and
nv.phong in (select MaPhong
from PhongBan
where TenPhong='Nghien cuu'))

/* cau 2 */
select da.MaDA, pb.MaPhong,
(nv.HoNv+nv.Tenlot+nv.tenNV) as TenTP, nv.DC
from DEAN da, PhongBan pb, NhanVien nv, DiaDiemPhongBan dd
where (pb.MaPhong=da.Phong and pb.truongphong=nv.Manv
and pb.maphong=dd.maphong
and dd.diadiem='Ha Noi')

/* cau 3 */
select da.*
from Dean da,NhanVien nv,PhanCong pc
where (nv.maNV=pc.MaNV and pc.Mada=da.Mada
and nv.Honv='Dinh')

/* cau 4 */
select tn.MaNV,(select (HoNV+TenLot+TenNV)
from NHANVIEN
where MaNV=tn.MaNV) as TenDayDUnv
from THANNHAN tn
group by (tn.MaNV)
Having (count(tn.TenTN)>2)

/* cau 5 */
select nv.MaNV,(nv.HoNV+nv.TenLot+nv.TenNV) as TenNV,nv.DC
from NhanVien nv
where (nv.MaNV NOT IN (select MaNV
from ThanNhan))

/* cau 6 */
select nv.MaNV, (nv.HoNV+nv.TenLot+nv.TenNV) as TenNV
from NhanVien nv, PhongBan pb
where nv.Manv=pb.TruongPhong and nv.Manv in (select tn.MaNV
from ThanNhan tn
group by(tn.MaNV)
having (count(tn.TenTN)>= 1))

/* cau 7 */
select nv.Manv,(nv.HoNV+nv.TenLot+nv.TenNV) as TenNV
from NhanVien nv,DeAn da,PhanCong pc
where (nv.Manv=pc.Manv and pc.Mada=da.Mada
and nv.Phong=5 and da.Tenda='San Pham X'
and pc.ThoiGian>20)

/* cau 8 */
select nv.Manv,nv.HoNV,nv.TenLot,nv.TenNV
from NhanVien nv
where (nv.MANV in (select MANV
from ThanNhan where TENTN=nv.TENNV))

/* cau 9 */
select nv.MaNV,nv.TenNv
from NhanVien nv
where (nv.NQL=(select Manv
from NhanVien
where HoNV='Nguyen' and TenLot='Thanh'
and TenNV='Tung'))

/* cau 10 */
SELECT DA.tenDA,sum(PC.Thoigian) as TongThoiGian
FROM DEAN DA,PHANCONG PC
WHERE DA.MaDA=PC.MaDA
group by DA.tenDA

/* cau 11 */
SELECT (NV.honv +' '+ NV.tennv) as HoTenNV
FROM NhanVien NV
WHERE NV.manv in (SELECT manv FROM PhanCong PC WHERE NV.manv=PC.manv and PC.mada not in
(SELECT mada FROM DEAN WHERE MaDA=PC.MaDA))

/* cau 14 */
select PB.TENPHONG,avg(NV.LUONG) as LUONGTB
from NHANVIEN NV,PHONGBAN PB
where NV.PHONG=PB.MAPHONG
group by PB.TENPHONG

/* cau 15 */
select avg(NV.LUONG) as LUONGTB
from NHANVIEN NV
where NV.PHAI='NU'

/* cau 16 */
select distinct NV.TENNV,NV.DC
from NHANVIEN NV,PHANCONG PC,DEAN DA,DIADIEMPHONGBAN DD,PHONGBAN PB
where NV.MANV=PC.MANV and PC.MADA=DA.MADA and DA.PHONG=PB.MAPHONG and PB.MAPHONG=DD.maPHOng
and DA.DIADIEMDA='TPHCM' and DD.DIADIEM <> 'TPHCM'


/* cau 17 */
select NV.TENNV
from NHANVIEN NV,PHONGBAN PB
where NV.MANV=PB.TRUONGPHONG and NV.MANV not in (select MANV
from THANNHAN
where quanhe = 'vo chong')

/* cau 20 */
select PB.TENPHONG,count(NV.PHONG) as SONV
from NHANVIEN NV,PHONGBAN PB
where NV.PHONG=PB.MAPHONG
group by PB.TENPHONG
having avg(NV.LUONG) > 30000


/* cau 19 */
select NV.*
from NHANVIEN NV
where NV.LUONG > some(select avg(LUONG) from NHANVIEN)


/* cau 21 */
select NV.TENNV,DA.TENDA
from NHANVIEN NV,PHANCONG PC,DEAN DA
where NV.MANV=PC.MANV and PC.MADA=DA.MADA


>>> Không biết đúng không ah nha
>>> Nếu có sai thì sửa giùm và giúp lun mấy câu còn lại m004

_________________
Về Đầu Trang Go down
Xem lý lịch thành viên
guanweifu
Super Mod - Quản Trị Viên
Super Mod - Quản Trị Viên


Tổng số bài gửi : 24
Registration date : 13/11/2008

Bài gửiTiêu đề: Re: BẮT ĐẦU HỌC SQL:   Thu Dec 04, 2008 12:18 pm

Bai 9 :

---cau 1--
select hv.TEN,bl.DIEM
from HOCVIEN hv,BIENLAI bl
where(hv.MAHV=bl.MAHV and
bl.MAKH ='PT197'AND bl.MALH IN(select lh.MALOP
from LOPHOC lh,GIANGVIEN gv
where(gv.HOTEN='Dai' or gv.HOTEN='Kien'and lh.MAGV=gv.MAGV )))


---CAU 2-------
select lh.TENLOP ,count (*) as soluong
from LOPHOC lh,BIENLAI bl
where(lh.MAKH=bl.MAKH)
GROUP BY lh.TENLOP


--cau 3--

select bl.diem,hv.Ten
from Hocvien hv,bienlai bl
where(hv.mahv=bl.mahv and bl.makh='PT297' and bl.diem >= all(select diem
from bienlai))


--cau 4----cho biet ten cac lop hoc va diem TB,cao nhat cua tat ca cac hoc vien trong lop do
select lh.tenlop,avg(bl.DIEM) AS Trungbinh,max(bl.diem)as diemCN
from lophoc lh,bienlai bl
where(bl.MAKH=lh.MAKH)
group by lh.tenlop


--- cau 5 --- cho biet lop hoc va so luong hoc vien gioi,kha trong lop do ???
select LH.TENLOP,count(case BL.XL WHEN 'GIOI' then 1 end) as SOLUONGGIOI,count(case BL.XL WHEN 'KHA' THEN 1 end) as SOLUONGKHA
from BIENLAI BL,LOPHOC LH,KHOAHOC KH
where BL.MAKH=KH.MAKH and KH.MAKH=LH.MAKH
group by LH.TENLOP

--- cau 6 --- cho biet ho ten cac HV,ten cac lop hoc cua cac hoc vien do va so bien lai tuong ung (cac lop nay phai thuoc cac khoa hoc ket thuc truoc 30/5/2002
select (HV.HO +' '+HV.TEN) as HOTENHV,BL.SOBL,LH.TENLOP
from HOCVIEN HV,BIENLAI BL,LOPHOC LH
where HV.MAHV=BL.MAHV and BL.MALH=LH.MALOP and BL.MAKH in (select MAKH from KHOAHOC where NKT < '2002/5/30')

--- cau 7 --- cho biet ten cac lop hoc có si so thuc su vuot si do du kien
select LH.TENLOP
from LOPHOC LH
where LH.MALOP in (select BL.MALH from BIENLAI BL group by BL.MALH having count(BL.MALH) > LH.SISODK)

--- cau 8 --- cho biet ten va ma so cac lop hoc co si so thuc su it nhat
select LH.TENLOP,LH.MALOP
from LOPHOC LH
where LH.MALOP in (select top 1 BL.MALH from BIENLAI BL order by BL.MALH desc)

--- cau 9 --- cho biet ho ten dia chi cua nhung hoc vien la giao vien dong thoi la lop truong

--- cau 10 --- cho biet ho ten giao vien so luong lop giao vien do day
select GV.HOTEN,count(BL.MALH) as SISO
from BIENLAI BL,LOPHOC LH,GIANGVIEN GV
WHERE BL.MALH=LH.MALOP and LH.MAGV=GV.MAGV
group by GV.HOTEN

--- cau 11 --- cho biet ho ten va ket qua hoc tap cua nhung hoc vien duoc mine hoc phi
select (HV.HO+' '+HV.TEN) as HOTENHV,BL.DIEM
from HOCVIEN HV,BIENlAI BL
where HV.MAHV=BL.MAHV and BL.TIEN IS NULL

--- cau 12 --- cho biet ten khoa hoc va so luong lop thuoc ve khoa do ???
select KH.TENKH,count(LH.MAKH) as SOLUONGLOP
from KHOAHOC KH,BIENlAI BL,LOPHOC LH
where KH.MAKH=BL.MAKH and BL.MALOP=LH.MALOP
group by KH.TENKH

---- cau 13 --- cho biet cac ten lop hoc ,ten giao vien phu trach,si so du kien cua lop va phong hoc cuac cac lop dang dien vao ngay 17/4/2002
select LH.TENLOP,LH.SISODK,LH.PHONG,GV.TENGV
from LOPHOC LH,GIAOVIEN GV
where LH.MAGV=GV.MAGV and LH.MALOP in (select BL.MALOP from BIENLAI BL,KHOAHOC KH where KH.NGAYBD > '2002/4/17')

--- cau 14 --- cho biet ho ten va ket qua hoc tap cua nhung hoc vien lop truong tung lop
select HV.HO,HV.TEN,BL.DIEM
from HOCVIEN HV,BIENLAI BL
where HV.MAHV=BL.MAHV and HV.MAHV in (select LT from LOPHOC)


--- cau 15 --- cho biet ten lop hoc va so luong hoc vien "khong dat",so luong hoc vien xep loai trung binh,yeu trong lop do
select LH.TENLOP,count((case BL.XL WHEN 'YEU' then 1 end)) as SHVY,
count((case BL.XL WHEN 'TB' then 1 end)) as SHVTB,
count((case BL.KETQUA WHEN 'KHONG' THEN 1 END)) as KHONGDAT
from BIENLAI BL,LOPHOC LH
where BL.MALOP=LH.MALOP
group by LH.TENLOP

--cau 16--- cho biet so luong hoc vien dau va ko dau ???
select count (*),sum((case KETQUA when 'DAT' then 1 end)) as SHVD,
sum((case KETQUA when 'KHONG' then 1 end)) as SHVKD
from BienLai


m005 m005 m005

_________________
Về Đầu Trang Go down
Xem lý lịch thành viên
Admin
Administrator
Administrator


Nam
Tổng số bài gửi : 150
Age : 29
Đến từ : Áng Trăng Trong Màn Đêm
Job/hobbies : Sinh Viên
Registration date : 12/11/2008

Bài gửiTiêu đề: Re: BẮT ĐẦU HỌC SQL:   Thu Dec 04, 2008 8:35 pm

thanks m048 m048 m121 m121 m121 m121 m121

_________________
Về Đầu Trang Go down
Xem lý lịch thành viên http://th0702.7forum.info
@.@_nombas
Super Mod - Quản Trị Viên
Super Mod - Quản Trị Viên


Nữ
Tổng số bài gửi : 36
Age : 27
Đến từ : lòng đáy biển^o^
Registration date : 15/11/2008

Bài gửiTiêu đề: Re: BẮT ĐẦU HỌC SQL:   Fri Dec 05, 2008 8:21 am

ba.n guanweifu pro` we' , hehehe, la`m we' tru`i lun, m004 m004 m004 m004

_________________
Về Đầu Trang Go down
Xem lý lịch thành viên
guanweifu
Super Mod - Quản Trị Viên
Super Mod - Quản Trị Viên


Tổng số bài gửi : 24
Registration date : 13/11/2008

Bài gửiTiêu đề: Re: BẮT ĐẦU HỌC SQL:   Fri Dec 05, 2008 8:25 am

không phải vậy đâu mà...................... m037
>>> có nhiều câu mình gom góp từ người ta nữa m048

_________________
Về Đầu Trang Go down
Xem lý lịch thành viên
super noobs
Thành Viên Cấp 1
Thành Viên Cấp 1


Tổng số bài gửi : 14
Registration date : 15/11/2008

Bài gửiTiêu đề: Re: BẮT ĐẦU HỌC SQL:   Fri Dec 05, 2008 9:51 am

4rum ngày càng hữu ich . Nhưng chúng ta có nên up lên 1 bản toàn diện và ổn định như VBB để sử dụng ko?
Thanks 4 share!!!!!
Về Đầu Trang Go down
Xem lý lịch thành viên
Admin
Administrator
Administrator


Nam
Tổng số bài gửi : 150
Age : 29
Đến từ : Áng Trăng Trong Màn Đêm
Job/hobbies : Sinh Viên
Registration date : 12/11/2008

Bài gửiTiêu đề: Re: BẮT ĐẦU HỌC SQL:   Fri Dec 05, 2008 11:24 am

m003 m003 Trong thời gian tới mình và các Mod sẽ cố gắng nâng cấp diễn đàn.Mong các bạn thông cảm vì chúng ta đang chuẩn bị thi,nên hầu hết mọi người ít có thời gian nhiều! m003 m003 m003 m003 m003 m003

_________________
Về Đầu Trang Go down
Xem lý lịch thành viên http://th0702.7forum.info
=Xme=
Super Mod - Quản Trị Viên
Super Mod - Quản Trị Viên


Tổng số bài gửi : 156
Age : 28
Đến từ : no*i tinh` iu bat' dau` ~^ ^~
Registration date : 13/11/2008

Bài gửiTiêu đề: Re: BẮT ĐẦU HỌC SQL:   Fri Dec 05, 2008 11:29 am

thz , đang cần cái này để thi dey ehhehehe . Thz for share ^ ^

_________________
Bế học mênh mông ,quay đầu là bờ !
Về Đầu Trang Go down
Xem lý lịch thành viên
@.@_nombas
Super Mod - Quản Trị Viên
Super Mod - Quản Trị Viên


Nữ
Tổng số bài gửi : 36
Age : 27
Đến từ : lòng đáy biển^o^
Registration date : 15/11/2008

Bài gửiTiêu đề: Re: BẮT ĐẦU HỌC SQL:   Fri Dec 05, 2008 1:40 pm

select hv.TEN,bl.DIEM
from HOCVIEN hv,BIENLAI bl
where(hv.MAHV=bl.MAHV and
bl.MAKH ='PT197'AND bl.MALH IN(select lh.MALOP
from LOPHOC lh,GIANGVIEN gv
where((gv.HOTEN='Dai' or gv.HOTEN='Kien')and lh.MAGV=gv.MAGV)))

H GHI NHƯ DZẬY NÓ MỚI HỈU PHÚ OI THÊM CÁI DẤU NGOẶC () CÁI CHỖ OR VỚI AND A' m10 m10 m10 m10
MUH MÌNH MÚN LIỆT KÊ RA CÁI CỘT GIÁO VIÊN, PHẢI LÀM SEO DEY, AI CHỈ MÌNH DZỚI m021 m021 m021 m021

_________________
Về Đầu Trang Go down
Xem lý lịch thành viên
guanweifu
Super Mod - Quản Trị Viên
Super Mod - Quản Trị Viên


Tổng số bài gửi : 24
Registration date : 13/11/2008

Bài gửiTiêu đề: Re: BẮT ĐẦU HỌC SQL:   Fri Dec 05, 2008 5:38 pm

thanks nha.......có gì sai nữa thì sửa giùm lun m035

>>> Nhớ ghi lun câu mấy,bài mấy .để dễ tìm thui ........ m009

>>> mờ hình như trong câu này,chỉ ghi thầy 'DAI' nó cũng ra như vậy ......cho nên chỉ có 1 tên giáo viên ah............... m053

_________________
Về Đầu Trang Go down
Xem lý lịch thành viên
super noobs
Thành Viên Cấp 1
Thành Viên Cấp 1


Tổng số bài gửi : 14
Registration date : 15/11/2008

Bài gửiTiêu đề: Re: BẮT ĐẦU HỌC SQL:   Fri Dec 05, 2008 10:07 pm

Câu 4 sai rùi bồ ơi Max cua 1.2 la 9 code đó ra 9.5

Mình thay đk BL.MALOP=LH.MALOP
Về Đầu Trang Go down
Xem lý lịch thành viên
=Xme=
Super Mod - Quản Trị Viên
Super Mod - Quản Trị Viên


Tổng số bài gửi : 156
Age : 28
Đến từ : no*i tinh` iu bat' dau` ~^ ^~
Registration date : 13/11/2008

Bài gửiTiêu đề: Re: BẮT ĐẦU HỌC SQL:   Sat Dec 06, 2008 4:35 pm

--- cau 8 --- cho biet ten va ma so cac lop hoc co si so thuc su it nhat
select LH.TENLOP,LH.MALOP
from LOPHOC LH
where LH.MALOP in (select top 1 BL.MALH from BIENLAI BL order by BL.MALH desc)

câu 8 ko liên wan gì đến đếm số lượng thực sự cả , nó chỉ sắp xếp MALH theo thứ tự giảm dần (là từ 3 , 2 ,1) trong đó trùng hợp lớp số 3 ít số lượng nhất =.='' .

Ai giải ra câu 8 giúp giùm nhé .

_________________
Bế học mênh mông ,quay đầu là bờ !
Về Đầu Trang Go down
Xem lý lịch thành viên
=Xme=
Super Mod - Quản Trị Viên
Super Mod - Quản Trị Viên


Tổng số bài gửi : 156
Age : 28
Đến từ : no*i tinh` iu bat' dau` ~^ ^~
Registration date : 13/11/2008

Bài gửiTiêu đề: Re: BẮT ĐẦU HỌC SQL:   Sat Dec 06, 2008 4:56 pm

Tớ nghĩ câu 7 như thế này mới chính xác :

SELECT LH.TENLOP
FROM LOPHOC LH
WHERE LH.MALOP IN (SELECT BL.MALH
FROM BIENLAI BL,LOPHOC LH
GROUP BY BL.MALH ,LH.MALOP
HAVING BL.MALH=LH.MALOP AND COUNT(BL.MALH)>MAX ( LH.SISODK))
--MAX THẬT RA KO LÀM GÌ CẢ , CHỈ LÀ ĐƯA LH.SISODK VÀO HÀM NHÓM ĐỂ HAVING

_________________
Bế học mênh mông ,quay đầu là bờ !
Về Đầu Trang Go down
Xem lý lịch thành viên
=Xme=
Super Mod - Quản Trị Viên
Super Mod - Quản Trị Viên


Tổng số bài gửi : 156
Age : 28
Đến từ : no*i tinh` iu bat' dau` ~^ ^~
Registration date : 13/11/2008

Bài gửiTiêu đề: Re: BẮT ĐẦU HỌC SQL:   Sun Dec 07, 2008 10:36 am

CÂU 14 : select HV.HO,HV.TEN,BL.DIEM
from HOCVIEN HV,BIENLAI BL
where HV.MAHV=BL.MAHV and HV.MAHV in (select LT from LOPHOC)

===>CODE NÀY CHỈ LẤY RA DC MÃ SỐ LỚP TRƯỞNG , SAU ĐÓ ĐEM SO TRONG BẢNG BIENLAI , AI CÓ MÃ ĐÓ THÌ LÀ LỚP TRƯỞNG (VI DU LỚP 01 NHÌU NG GIỐNG MÃ BÊN 02 ,03 THÌ SAO ? )

MÌNH THÊM CÁI RÀNG BUỘC NÀY NỮA , MỌI NGƯỜI XEM LẠI CHÍNH XÁC KO :

SELECT HV.HO+' '+TEN AS HOTEN, BL.MALH ,LH.LT,BL.DIEM
FROM LOPHOC LH,BIENLAI BL,HOCVIEN HV
WHERE HV.MAHV=BL.MAHV AND BL.MALH=LH.MALOP AND BL.MAHV=LH.LT

(CÓ 4 LỚP , MỖI LỚP DUY NHẤT 1 LỚP TRƯỞNG , LẤY RA MAX LÀ 4 NGƯỜI)

_________________
Bế học mênh mông ,quay đầu là bờ !
Về Đầu Trang Go down
Xem lý lịch thành viên
Admin
Administrator
Administrator


Nam
Tổng số bài gửi : 150
Age : 29
Đến từ : Áng Trăng Trong Màn Đêm
Job/hobbies : Sinh Viên
Registration date : 12/11/2008

Bài gửiTiêu đề: Re: BẮT ĐẦU HỌC SQL:   Mon Dec 08, 2008 3:53 pm

=Xme= đã viết:
CÂU 14 : select HV.HO,HV.TEN,BL.DIEM
from HOCVIEN HV,BIENLAI BL
where HV.MAHV=BL.MAHV and HV.MAHV in (select LT from LOPHOC)

===>CODE NÀY CHỈ LẤY RA DC MÃ SỐ LỚP TRƯỞNG , SAU ĐÓ ĐEM SO TRONG BẢNG BIENLAI , AI CÓ MÃ ĐÓ THÌ LÀ LỚP TRƯỞNG (VI DU LỚP 01 NHÌU NG GIỐNG MÃ BÊN 02 ,03 THÌ SAO ? )

MÌNH THÊM CÁI RÀNG BUỘC NÀY NỮA , MỌI NGƯỜI XEM LẠI CHÍNH XÁC KO :

SELECT HV.HO+' '+TEN AS HOTEN, BL.MALH ,LH.LT,BL.DIEM
FROM LOPHOC LH,BIENLAI BL,HOCVIEN HV
WHERE HV.MAHV=BL.MAHV AND BL.MALH=LH.MALOP AND BL.MAHV=LH.LT

(CÓ 4 LỚP , MỖI LỚP DUY NHẤT 1 LỚP TRƯỞNG , LẤY RA MAX LÀ 4 NGƯỜI)

Câu 14 Thắng Giang làm vậy đúng rồi
select hv.mahv,hv.ho+' '+hv.ten as hoten,lh.malop
from hocvien hv,bienlai bl,lophoc lh
where hv.mahv=bl.mahv
and lh.malop=bl.malh
and lh.lt=bl.mahv
Nếu and lh.makh=bl.makh thì sẽ có 3 người,vì nó không kết theo lớp mà kết theo khóa,nếu chúng ta kết theo lớp học thì mới chính xác tức là chỉ có 2 người làm lớp trưởng mà thôi! m001 m001 m001 m001 m001 m001 m001

_________________
Về Đầu Trang Go down
Xem lý lịch thành viên http://th0702.7forum.info
Admin
Administrator
Administrator


Nam
Tổng số bài gửi : 150
Age : 29
Đến từ : Áng Trăng Trong Màn Đêm
Job/hobbies : Sinh Viên
Registration date : 12/11/2008

Bài gửiTiêu đề: Re: BẮT ĐẦU HỌC SQL:   Mon Dec 08, 2008 4:18 pm

Câu 5 xem lại dùm Tú Anh nha!Có 2 cách làm:
c1:
select lh.tenlop,count(case bl.xl when 'KHA' then 1 end) as Kha
,count(case bl.xl when 'GIOI'then 1 end) as Gioi
from lophoc lh,bienlai bl,khoahoc kh
where lh.malop=bl.malh
and lh.makh=bl.makh
and kh.makh=lh.makh
group by lh.tenlop
c2:
select lh.tenlop,count(case bl.xl when 'KHA' then 1 end) as Kha
,count(case bl.xl when 'GIOI'then 1 end) as Gioi
from lophoc lh,bienlai bl,khoahoc kh
where lh.malop=bl.malh
and lh.makh=bl.makh
and kh.makh=lh.makh
group by lh.tenlop

_________________
Về Đầu Trang Go down
Xem lý lịch thành viên http://th0702.7forum.info
=Xme=
Super Mod - Quản Trị Viên
Super Mod - Quản Trị Viên


Tổng số bài gửi : 156
Age : 28
Đến từ : no*i tinh` iu bat' dau` ~^ ^~
Registration date : 13/11/2008

Bài gửiTiêu đề: Re: BẮT ĐẦU HỌC SQL:   Mon Dec 08, 2008 7:10 pm

--8. Cho biết tên và mã số các lớp học có sĩ số thực sự ít nhất.
Thế câu 8 thế nào cậu

_________________
Bế học mênh mông ,quay đầu là bờ !
Về Đầu Trang Go down
Xem lý lịch thành viên
Admin
Administrator
Administrator


Nam
Tổng số bài gửi : 150
Age : 29
Đến từ : Áng Trăng Trong Màn Đêm
Job/hobbies : Sinh Viên
Registration date : 12/11/2008

Bài gửiTiêu đề: Re: BẮT ĐẦU HỌC SQL:   Tue Dec 09, 2008 12:21 am

=Xme= đã viết:
--8. Cho biết tên và mã số các lớp học có sĩ số thực sự ít nhất.
Thế câu 8 thế nào cậu
Câu 8:
select top 1 lh.tenlop,count(*) as Thapnhat
from lophoc lh,bienlai bl
where lh.malop=bl.malh
and lh.makh=bl.makh
group by lh.tenlop
order by Thapnhat
Xem thữ đúng hem,kết quả là 7.Nếu bỏ top 1 thì là 13-7-10 m041

_________________
Về Đầu Trang Go down
Xem lý lịch thành viên http://th0702.7forum.info
Admin
Administrator
Administrator


Nam
Tổng số bài gửi : 150
Age : 29
Đến từ : Áng Trăng Trong Màn Đêm
Job/hobbies : Sinh Viên
Registration date : 12/11/2008

Bài gửiTiêu đề: Re: BẮT ĐẦU HỌC SQL:   Tue Dec 09, 2008 12:27 am

Câu 11:
select hv.mahv,hv.ho+' '+hv.ten,bl.diem,bl.tien
from hocvien hv,bienlai bl
where hv.mahv=bl.mahv
and tien=NULL
order by hv.mahv

_________________
Về Đầu Trang Go down
Xem lý lịch thành viên http://th0702.7forum.info
Sponsored content




Bài gửiTiêu đề: Re: BẮT ĐẦU HỌC SQL:   Today at 12:10 am

Về Đầu Trang Go down
 
BẮT ĐẦU HỌC SQL:
Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang 
Trang 1 trong tổng số 2 trangChuyển đến trang : 1, 2  Next

Permissions in this forum:Bạn không có quyền trả lời bài viết
Khoa Công Nghệ Thông Tin -Khóa XIII-Lớp TH0702 :: Khu Học Tập :: Năm 2-
Chuyển đến