Chào mừng quý vị đến với website của Phạm Văn Phúc - Tuy Hòa- Phú Yên
Quý vị chưa đăng nhập hoặc chưa đăng ký làm thành
viên, vì vậy chưa thể tải được các tài liệu của
Thư viện về máy tính của mình.
Nếu chưa đăng ký, hãy nhấn vào chữ ĐK thành viên ở phía bên trái, hoặc xem phim hướng dẫn tại đây
Nếu đã đăng ký rồi, quý vị có thể đăng nhập ở ngay phía bên trái.
Nếu chưa đăng ký, hãy nhấn vào chữ ĐK thành viên ở phía bên trái, hoặc xem phim hướng dẫn tại đây
Nếu đã đăng ký rồi, quý vị có thể đăng nhập ở ngay phía bên trái.
viết lệnh SQL trong access 2003

- 0 / 0
(Tài liệu chưa được thẩm định)
Nguồn:
Người gửi: Phạm Văn Phúc (trang riêng)
Ngày gửi: 20h:03' 07-12-2012
Dung lượng: 80.5 KB
Số lượt tải: 140
Nguồn:
Người gửi: Phạm Văn Phúc (trang riêng)
Ngày gửi: 20h:03' 07-12-2012
Dung lượng: 80.5 KB
Số lượt tải: 140
Số lượt thích:
0 người
A)MỘT SỐ CÂU LỆNH SQL TRONG ACCESS THƯỜNG DÙNG KHI THAO TÁC TRÊN MỘT BẢNG ĐƠN GIẢN (không có liên kết)
Giả sử muốn tạo bảng có tên là THISINH gồm các trường SBD kiểu số nguyên với SBD là khóa chính, HO kiểu text gồm 20 ký tự, TEN kiểu text gồm 10 ký tự , PHAI kiểu YES/NO
1)Tạo bảng
CREATE TABLE THISINH (SBD BYTE CONSTRAINT SBD PRIMARY KEY, HO TEXT(20), TEN TEXT (10), PHAI YESNO)
2) Xóa bảng THISINH vừa tạo
DROP TABLE THISINH
3)Thêm cột DIACHI kiểu TEXT gồm 20 ký tự
ALTER TABLE THISINH ADD COLUMN DIACHI TEXT(20)
4)Xóa cột DIACHI
ALTER TABLE THISINH DROP COLUMN DIACHI
5)Thêm vào bảng THISINH 1 hàng nội dung sau:SBD 4, HO TRAN THI, TEN LAN, PHAI nữ
INSERT INTO THISINH ( SBD, HO, TEN, PHAI, DIACHI )
VALUES ("4", "TRAN THI", "LAN", -1); (nếu là Nam ghi là Yes hoặc số 0)
6)Xóa hàng có số báo danh là 2 trên bảng THISINH
DELETE THISINH.SBD
FROM THISINH
WHERE ((THISINH.SBD)=2); (nếu là kiểu TEXT phải để trong cặp nháy “ ”)
7) Liệt kê danh sách học sinh trên bảng THISINH gồm các thông tin sau: SBD, HO, TEN, GIOITINH ghi rõ là nam hay nữ tùy thuộc vào trường PHAI sắp xêp giảm dần theo trường SBD
SELECT THISINH.SBD, THISINH.HO, THISINH.TEN, IIF([PHAI]=0,"NAM","NU") AS GIOITINH
FROM THISINH;
ORDER BY [SBD] DESC;
(Những bảng tạo bằng lệnh trường YES NO thường mặc định nam là 0 nữ -1, nếu ghi YES sẽ không đúng. Về sắp xếp mặc đinh máy xếp theo tăng dần ASC
8) Chèn thêm 2 cột TOAN, VAN và KETQUA trong bảng THISINH
ALTER TABLE THISINH ADD COLUMN TOAN SINGLE,VAN SINGLE,KETQUA TEXT(10)
9) Cập nhật dữ liệu cho Trường KETQUA được quy định như sau nếu tổng điểm văn và toán >=10 thì đậu và ngược lại
UPDATE THISINH
SET THISINH.KETQUA = IIF([VAN]+[TOAN]>=10,"dau","hong");
10) Hiển thị danh sách học sinh đậu với các thông tin SBD, HO, TEN, VAN,TOAN,KETQUA Trường điểm TOAN sắp giảm dần
SELECT THISINH.SBD, THISINH.HO, THISINH.TEN, THISINH.VAN, THISINH.TOAN, THISINH.KETQUA
FROM THISINH
WHERE ((THISINH.KETQUA)="dau")
ORDER BY THISINH.TOAN DESC;
11) Tạo bảng mới tên là TRUNGTUYEN cho các học sinh đậu từ bảng THISINH
Gồm các thông tin: SBD,HO,TEN, VAN,TOAN,TONGDIEM,KETQUA
SELECT THISINH.SBD, THISINH.HO, THISINH.TEN, THISINH.TOAN, THISINH.VAN, THISINH.TOAN+THISINH.VAN AS TONGDIEM, THISINH.KETQUA INTO TRUNGTUYEN
FROM THISINH
WHERE ((THISINH.KETQUA)="dau");
12) Trong bảng CHITIET hiển thị ra học sinh có điểm VAN cao nhất với các thông tin SBD,HO,TEN, VAN
SELECT THISINH.SBD, THISINH.HO, THISINH.TEN, THISINH.VAN
FROM THISINH
WHERE (((THISINH.VAN)=(SELECT MAX(THISINH.VAN) AS MAXOFVAN FROM THISINH)));
13) Thống kê theo từng trường điểm bình quân VAN, TOAN, tổng số thí sinh đậu
SELECT Count(THISINH.TEN) AS TongsoHSdau, Avg(THISINH.TOAN) AS DTBmonToan, Avg(THISINH.VAN) AS DTBmonVan
FROM THISINH
GROUP BY THISINH.KETQUA
HAVING (((THISINH.KETQUA)="dau"));
14 Dùng Crosstab Query thống kê theo từng trường, trường GIOITINH và trường kết quả
Để cho biết học sinh Nam, nữ trúng tuyển bao nhiêu. Trong đó trường GIOITINH( ghi rõ là nam hay nữ tùy thuộc vào trường PHAI) làm cột
Trường kết quả là hàng
TRANSFORM Count(THISINH.KETQUA) AS CountOfKETQUA
SELECT IIf([PHAI]=0,"NAM","NỮ") AS GIOITINH
FROM THISINH
GROUP BY IIf([PHAI]=0,"NAM","NỮ")
PIVOT THISINH.KETQUA;
B)MỘT SỐ CÂU LỆNH SQL TRONG ACCESS THƯỜNG DÙNG KHI THAO TÁC TRÊN BẢNG CÓ LIÊN KẾT
Từ những câu lệnh trên lưu ý những dòng lệnh có FROM nếu dùng nhiều bảng đã liên kết ta thay bằng cú pháp lệnh sau:
FROM tên bảng 1 INNER JOIN (tên bảng 2 INNER JOIN (tên bảng 3 INNER JOIN tên bảng chính ON tên bảng 3. tên trường liên kết = tên bảng chính.trường liên kết ) ON tên bảng 2. tên trường liên kết = tên bảng chính.trường liên kết) ON tên bảng 1. tên trường liên kết = tên bảng chính.trường liên kết;
Ví dụ:
Có bảng VAN,TOAN,CHUYEN liên kết với bảng CHITIET tại các trường MAVAN, MATOAN,
Giả sử muốn tạo bảng có tên là THISINH gồm các trường SBD kiểu số nguyên với SBD là khóa chính, HO kiểu text gồm 20 ký tự, TEN kiểu text gồm 10 ký tự , PHAI kiểu YES/NO
1)Tạo bảng
CREATE TABLE THISINH (SBD BYTE CONSTRAINT SBD PRIMARY KEY, HO TEXT(20), TEN TEXT (10), PHAI YESNO)
2) Xóa bảng THISINH vừa tạo
DROP TABLE THISINH
3)Thêm cột DIACHI kiểu TEXT gồm 20 ký tự
ALTER TABLE THISINH ADD COLUMN DIACHI TEXT(20)
4)Xóa cột DIACHI
ALTER TABLE THISINH DROP COLUMN DIACHI
5)Thêm vào bảng THISINH 1 hàng nội dung sau:SBD 4, HO TRAN THI, TEN LAN, PHAI nữ
INSERT INTO THISINH ( SBD, HO, TEN, PHAI, DIACHI )
VALUES ("4", "TRAN THI", "LAN", -1); (nếu là Nam ghi là Yes hoặc số 0)
6)Xóa hàng có số báo danh là 2 trên bảng THISINH
DELETE THISINH.SBD
FROM THISINH
WHERE ((THISINH.SBD)=2); (nếu là kiểu TEXT phải để trong cặp nháy “ ”)
7) Liệt kê danh sách học sinh trên bảng THISINH gồm các thông tin sau: SBD, HO, TEN, GIOITINH ghi rõ là nam hay nữ tùy thuộc vào trường PHAI sắp xêp giảm dần theo trường SBD
SELECT THISINH.SBD, THISINH.HO, THISINH.TEN, IIF([PHAI]=0,"NAM","NU") AS GIOITINH
FROM THISINH;
ORDER BY [SBD] DESC;
(Những bảng tạo bằng lệnh trường YES NO thường mặc định nam là 0 nữ -1, nếu ghi YES sẽ không đúng. Về sắp xếp mặc đinh máy xếp theo tăng dần ASC
8) Chèn thêm 2 cột TOAN, VAN và KETQUA trong bảng THISINH
ALTER TABLE THISINH ADD COLUMN TOAN SINGLE,VAN SINGLE,KETQUA TEXT(10)
9) Cập nhật dữ liệu cho Trường KETQUA được quy định như sau nếu tổng điểm văn và toán >=10 thì đậu và ngược lại
UPDATE THISINH
SET THISINH.KETQUA = IIF([VAN]+[TOAN]>=10,"dau","hong");
10) Hiển thị danh sách học sinh đậu với các thông tin SBD, HO, TEN, VAN,TOAN,KETQUA Trường điểm TOAN sắp giảm dần
SELECT THISINH.SBD, THISINH.HO, THISINH.TEN, THISINH.VAN, THISINH.TOAN, THISINH.KETQUA
FROM THISINH
WHERE ((THISINH.KETQUA)="dau")
ORDER BY THISINH.TOAN DESC;
11) Tạo bảng mới tên là TRUNGTUYEN cho các học sinh đậu từ bảng THISINH
Gồm các thông tin: SBD,HO,TEN, VAN,TOAN,TONGDIEM,KETQUA
SELECT THISINH.SBD, THISINH.HO, THISINH.TEN, THISINH.TOAN, THISINH.VAN, THISINH.TOAN+THISINH.VAN AS TONGDIEM, THISINH.KETQUA INTO TRUNGTUYEN
FROM THISINH
WHERE ((THISINH.KETQUA)="dau");
12) Trong bảng CHITIET hiển thị ra học sinh có điểm VAN cao nhất với các thông tin SBD,HO,TEN, VAN
SELECT THISINH.SBD, THISINH.HO, THISINH.TEN, THISINH.VAN
FROM THISINH
WHERE (((THISINH.VAN)=(SELECT MAX(THISINH.VAN) AS MAXOFVAN FROM THISINH)));
13) Thống kê theo từng trường điểm bình quân VAN, TOAN, tổng số thí sinh đậu
SELECT Count(THISINH.TEN) AS TongsoHSdau, Avg(THISINH.TOAN) AS DTBmonToan, Avg(THISINH.VAN) AS DTBmonVan
FROM THISINH
GROUP BY THISINH.KETQUA
HAVING (((THISINH.KETQUA)="dau"));
14 Dùng Crosstab Query thống kê theo từng trường, trường GIOITINH và trường kết quả
Để cho biết học sinh Nam, nữ trúng tuyển bao nhiêu. Trong đó trường GIOITINH( ghi rõ là nam hay nữ tùy thuộc vào trường PHAI) làm cột
Trường kết quả là hàng
TRANSFORM Count(THISINH.KETQUA) AS CountOfKETQUA
SELECT IIf([PHAI]=0,"NAM","NỮ") AS GIOITINH
FROM THISINH
GROUP BY IIf([PHAI]=0,"NAM","NỮ")
PIVOT THISINH.KETQUA;
B)MỘT SỐ CÂU LỆNH SQL TRONG ACCESS THƯỜNG DÙNG KHI THAO TÁC TRÊN BẢNG CÓ LIÊN KẾT
Từ những câu lệnh trên lưu ý những dòng lệnh có FROM nếu dùng nhiều bảng đã liên kết ta thay bằng cú pháp lệnh sau:
FROM tên bảng 1 INNER JOIN (tên bảng 2 INNER JOIN (tên bảng 3 INNER JOIN tên bảng chính ON tên bảng 3. tên trường liên kết = tên bảng chính.trường liên kết ) ON tên bảng 2. tên trường liên kết = tên bảng chính.trường liên kết) ON tên bảng 1. tên trường liên kết = tên bảng chính.trường liên kết;
Ví dụ:
Có bảng VAN,TOAN,CHUYEN liên kết với bảng CHITIET tại các trường MAVAN, MATOAN,
 





