• Mở cửa sổ CSDL đích (CSDL cần gắn bảng
vào)
• Kích phải chuột / Import
• Chọn đường dẫn đến CSDL nguồn (CSDL
chứa bảng cần lấy) / Import
• Xuất hiện cửa sổ Import Object.
• Chọn tên bảng cần lấy / OK
94 trang |
Chia sẻ: lylyngoc | Lượt xem: 2506 | Lượt tải: 4
Bạn đang xem trước 20 trang tài liệu Chương 3: Một số thao tác trên cơ sở dữ liệu, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
CHƯƠNG 3:
MỘT SỐ THAO TÁC TRÊN CSDL
I. Import dữ liệu
1. Import Table từ CSDL khác
• Mở cửa sổ CSDL đích (CSDL cần gắn bảng
vào)
• Kích phải chuột / Import…
• Chọn đường dẫn đến CSDL nguồn (CSDL
chứa bảng cần lấy) / Import
• Xuất hiện cửa sổ Import Object.
• Chọn tên bảng cần lấy / OK
Import dữ liệu (tiếp)
2. Import Table từ Excel
• Mở cửa sổ CSDL đích (CSDL cần gắn bảng vào)
• Kích phải chuột / Import…
• Trong cửa sổ Import, trong mục Files of type, chọn
Microsoft Excel
• Chọn file excel cần lấy dữ liệu / Import.
• Chọn Next để chuyển sang các bước tiếp theo.
• Lựa chọn 1 trong 2 cách:
• Dữ liệu của file Excel đó tạo thành 1 table mới/ Chọn trường làm
khóa chính
• Dữ liệu của file Excel đó sẽ đưa vào bảng đã tồn tại/ Chọn tên
bảng.
II. Export dữ liệu
1. Export Table sang CSDL khác
• Trong cửa sổ Database của CSDL nguồn (CSDL cần lấy
bảng ra)
• Kích chọn tên bảng cần Export
• Kích phải chuột / Export…
• Chọn đường dẫn đến CSDL đích (CSDL cần gắn bảng
vào)
• Đặt tên cho bảng ở CSDL đích
• Chọn Definition and Data: nếu muốn lấy cả cấu trúc và dữ liệu.
• Chọn Definition Only: nếu chỉ lấy cấu trúc
Export dữ liệu (tiếp)
2. Export Table sang Excel
• Trong cửa sổ Database của CSDL nguồn (CSDL
cần lấy bảng ra)
• Kích chọn tên bảng cần Export
• Kích phải chuột / Export…
• Chọn 1 trong 2 cách sau:
• Để tạo 1 file Excel mới: Trong mục Save as type, chọn
Microsoft Excel/ Đặt tên cho file.
• Để tạo 1 sheet trong 1 file Excel đã tồn tại: Chọn
đường dẫn đến file đích/ Đặt tên cho sheet đó.
CHƯƠNG 4: QUERY
I. Giới thiệu Query
1. Tác dụng của Query
Dùng để trả lời các câu hỏi có tính chất tức thời
Dùng để thực hiện tìm kiếm, hiển thị các bản ghi
thỏa mãn yêu cầu nào đó. Query giống như bộ lọc
Dùng làm nguồn dữ liệu cho các biểu mẫu, báo cáo
Dùng để tạo lập, cập nhật CSDL
Giới thiệu Query (tiếp)
2. Các loại Query:
Select query, Parameter query, Crosstab query,
Action query.
Hầu hết các query được sử dụng trong các CSDL
được gọi là các Select query bởi vì chúng chọn các
bản ghi dựa vào tiêu chuẩn mà ta xác lập. Những
query này gọi là query đơn giản.
Kết quả của các query được hiển thị dưới dạng
bảng
3. Các cách tạo Query:
Query Wizard, Query Design (ngôn ngữ QBE) hoặc
dùng câu lệnh SQL (ngôn ngữ SQL)
II. Các toán tử và biểu thức trong Access
1. Toán tử số học:
+: Cộng 2 toán hạng ([luong]+[phucap])
-: Trừ 2 toán hạng (Date()-30)
-(toán tử đơn): thay đổi dấu của toán tử đơn (-
123)
*: nhân 2 toán hạng ([heso]*[luong])
/: chia 2 toán hạng (15.2/12.5)
\: chia 2 toán hạng nguyên (5\2)
Mod: trả về số dư của phép chia 2 số nguyên (5
mod 2)
^: nâng lên lũy thừa (4^3)
Các toán tử và biểu thức trong Access (tiếp)
2. Toán logic:
AND: và (True and False=False,True and
True=True)
OR: hoặc (True or False=True, False or False=False)
NOT: phủ định (Not True=False, Not False=True)
Các toán tử và biểu thức trong Access(tiếp)
3. Các toán tử khác:
Like: xác định 1 chuỗi có bắt đầu bằng 1 hay nhiều
kí tự nào đó không. Like đi cùng các kí tự: ?- thay
cho 1 kí tự; *-thay cho 1 xâu kí tự (Like “Jon*”)
In: Xác định 1 giá trị chuỗi có thuộc vào danh sách
giá trị hay không (in(“A”,”B”,”C”))
Between: Xác định 1 số có nằm trong miền giá trị
đã chỉ định hay không (between 1 and 5)
Các toán tử và biểu thức trong Access(tiếp)
4. Hàm ngày giờ:
Date(): trả về ngày hiện tại của hệ thống
Day(exp):trả về ngày của biểu thức exp
(Day(#7/15/2005#)=15)
Month(exp): trả về tháng của bt exp
(Month(#7/15/2005#)=7))
Year(exp): trả về năm của bt exp
(Year(#7/15/2005#)=2005))
Các toán tử và biểu thức trong Access(tiếp)
5. Hàm xử lý dữ liệu kiểu Text:
Format(exp):Định dạng bt theo các dạng thức thích
hợp (Format(Date(),”dd-mm-yyyy”))
LCase(exp):Trả về chữ thường của exp
UCase(exp): Trả về chữ hoa của exp
LTrim(exp): xóa các dấu cách ở đầu chuỗi
RTrim(exp): xóa các dấu cách ở cuối chuỗi
Trim(exp): xóa các dấu cách ở đầu và cuối chuỗi
Str(exp):Chuyển 1 số thành chuỗi
Val(exp): Chuyển 1 chuỗi thành số
III. Tạo truy vấn bằng QBE (Query by Example)
Bước1: Trong cửa sổ Database, trong mục Object kích
chọn đối tượng Query.
Có 2 cách sau:
- Kích chọn New/Design View/OK
- Kích đúp vào dòng Create query in Design View.
Bước 2: Sau bước 1, Hộp thoại Show table xuất hiện cho
phép chọn bảng hoặc query tham gia vào query
Kích chọn tên bảng(hoặc query).
Kích nút Add/Close
Cửa sổ Query được chia thành 2 khung.
a. Khung trên (Khung Table) hiển thị các bảng được
sử dụng trong query và các mối liên kết giữa các
bảng
Tạo truy vấn bằng QBE (tiếp)
b. Khung dưới (Khung lưới) có các hàng và cột. Mỗi cột
dành cho 1 trường. Các hàng bao gồm:
Field: dùng để hiển thị tên trường
Table: tên bảng tham gia vào query
Sort: sắp xếp trường
Show: hiển thị trường trong kết quả của query
Criteria: các điều kiện để lọc bản ghi
Or: dùng khi có điều kiện OR
Bước 3: Lựa chọn các trường cần hiển thị trong kết quả
truy vấn hoặc liên quan đến các điều kiện tìm kiếm. Sau
đó soạn thảo các điều kiện tìm kiếm trong Criteria
Tạo truy vấn bằng QBE (tiếp)
Bước 4: Thực hiện truy vấn theo 1 trong 2 cách:
- Chọn biểu tượng ! trên thanh công cụ
- Trên thanh menu chọn Query/Run
Bước 5: Ghi lại truy vấn nếu muốn bằng 1 trong 2
cách:
- Chọn biểu tượng đĩa mềm trên thanh công cụ
- Trên thanh menu chọn File/Save
IV. Truy vấn chọn (Select Query)
Cách tạo: Giống nhu cách tạo truy vấn đã trình bày
trong mục III.
Ví dụ 1: Tìm họ tên, ngày sinh của các nhân viên nữ
Truy vấn chọn(tiếp)
Ví dụ 2: Đưa ra toàn bộ thông tin về các nhân viên nữ
có lương từ 500000 đến 1000000
Truy vấn chọn (tiếp)
Ví dụ 3: Đưa ra tên, phòng của các nhân viên đủ tiêu chuẩn
về hưu năm nay: nam từ 60, nữ từ 55 tuổi
Truy vấn chọn (tiếp)
Ví dụ 4: Tìm họ tên, tên phòng của các nhân viên biết tiếng
ANH hoặc PHAP
V. Truy vấn tính toán
Cách tạo:
Tạo truy vấn như trên (truy vấn chọn)
Chuyển từ truy vấn chọn sang truy vấn tính toán
bằng cách kích chọn biểu tượng Total (dấu
xíchma) trên thanh công cụ hoặc trên thanh menu
chọn View/Total
Sau khi thực hiện các bước trên, cửa sổ của truy
vấn tính toán có dạng sau:
Truy vấn tính toán (tiếp)
Truy vấn tính toán (tiếp)
Trong mục Total có những lựa chọn sau:
Group by: chỉ ra các trường phân nhóm
Sum: tính tổng
Avg: Tính trung bình
Min: Tính giá trị nhỏ nhất
Max: Tính giá trị lớn nhất
Count: Đếm
First: Tìm bản ghi đầu tiên
Last: Tìm bản ghi cuối cùng
Expression: bt tính toán đi kèm với các hàm
Where: điều kiện lọc các bản ghi tham gia vào tính toán
Truy vấn tính toán (tiếp)
Ví dụ 1: Tìm tổng số nhân viên nữ trong cơ quan
Truy vấn tính toán (tiếp)
Ví dụ 2: Tính tuổi trung bình của các nhân viên phòng TAIVU
Truy vấn tính toán (tiếp)
Ghi chú: Để tạo 1 trường mới trong query:
Trong mục Field, gõ tên trường mới theo cấu trúc
như sau:
:
tên trường đã có phải đặt trong cặp ngoặc vuông [].
Ví dụ: tạo ra trường THUONG có giá trị bằng 1.5
LUONG, ta viết như sau:
THUONG: 1.5*[LUONG]
Truy vấn tính toán (tiếp)
Ví dụ 3:Tính tiền thưởng cho nhân viên phòng KHOAHOC bằng 1,5
lương
Truy vấn tính toán (tiếp)
Ví dụ 4: Đưa ra bảng tổng hợp lương trong cơ quan bao gồm:
tên phòng, tổng lương của phòng
VI. Truy vấn tham số (Parameter Query)
Truy vấn tham số là truy vấn khi thực hiện sẽ đòi hỏi
giá trị tham số nhập từ bàn phím.
Cách tạo truy vấn tham số:
Thực hiện tạo truy vấn chọn thông thường
Để biến một đối tượng nào đó thành tham số ta
chỉ cần để nó trong cặp ngoặc vuông
Truy vấn tham số (tiếp)
Ví dụ 1: Đưa ra danh sách nhân viên học ngoại ngữ với tên
ngoại ngữ nhập từ bàn phím
Ví dụ 2: Đưa ra danh sách nhân viên gồm mã nhân viên, họ tên,
ngày sinh, tên phòng của phòng có mã phòng nhập từ bàn phím
Truy vấn có tham số (tiếp)
Ví dụ 2: Đưa ra danh sách nhân viên gồm mã nhân viên, họ tên,
ngày sinh, tên phòng của 1 phòng có mã phòng nhập từ bàn
phím
VII. Truy vấn tạo lập (Make-Table Query)
Khi cần tạo 1 bảng mới từ một tập hợp con dữ liệu
trong 1 bảng hiện có. Ta thực hiện các bước sau:
Tạo query để thực hiện việc đưa ra các bản ghi mà ta muốn
đưa vào bảng mới
Kích chọn trên thanh menu Query/Make Table Query
Đặt tên cho bảng mới trong khung Table Name của hộp
thoại Make Table
Nếu bảng mới sẽ nằm trong CSDL hiện thời thì chọn
Current Database. Nếu không thì chọn Another
Database và nhập tên của CSDL ta muốn thêm bảng mới
vào
Truy vấn tạo lập (tiếp)
Ví dụ 1: Tạo bảng NAM để lưu những nhân viên là nam giới
của cơ quan
Truy vấn tạo lập (tiếp)
Truy vấn tạo lập (tiếp)
Ví dụ 2: Lưu trữ những nhân viên có lương từ 1500000 đến
2000000 hoặc sinh trước năm 1975 vào bảng mới có tên LUU
Ví dụ 3: Lưu trữ những nhân viên có trình độ ngoại ngữ là
B,C,D sang bảng mới có tên TDO-BCD
VIII. Truy vấn bổ sung (Append Query)
Khi cần thực hiện bổ sung 1 nhóm các bản ghi từ 1 hoặc
nhiều bảng vào 1 bảng khác (đã có) ta dùng truy vấn bổ
sung.
Cách tạo:
Tạo truy vấn thông thường. Tên trường và thứ tự trường
của bảng lấy kết quả và bảng cần thêm vào phải giống
nhau.
Chọn Query/Append Query
Chọn bảng cần bổ sung thông tin trong mục Table
Name/OK
Chọn Current Database hoặc Another Database cho
phù hợp.
Trong khung lưới xuất hiện dòng Append To cho ta chọn
tên trường mà dữ liệu tương ứng sẽ được nhập tiếp vào
Truy vấn bổ sung (tiếp)
Xác định các giá trị sau:
Field: Các trường cho dữ liệu hoặc liên quan đến
điều kiện chọn
Table: Bảng
Sort: Sắp xếp dữ liệu sẽ bổ sung theo thứ tự tăng
hoặc giảm của trường được chọn
Append to: Trường nhận dữ liệu. Ngầm định là
trường trùng tên trong bảng cho dữ liệu.
Criteria: điều kiện chọn các bản ghi để bổ sung
Truy vấn bổ sung (tiếp)
Ví dụ 1:Đưa vào bảng LUU (đã có) thông tin về nhân viên mới,
mã nhân viên nhập tư bàn phím
Ví dụ 1: Bổ sung vào bảng LUU (đã có) thông
tin về nhân viên của phòng PQT
Ví dụ 2: Bổ sung vào bảng NAM (đã có)
thông tin về nhân viên có mã nhân viên nhập
từ bàn phím
Truy vấn bổ sung (tiếp)
Ví dụ2: Nhập thông tin về nhân viên mới (nhập từ
bàn phím) đưa vào bảng LUU
IX. Truy vấn loại bỏ (Delete Query)
Sử dụng để xóa các bản ghi khỏi 1 bảng
Cách tạo:
Tạo truy vấn thông thường
Trên hộp thoại Show Table chọn các bảng liên
quan đến điều kiện loại bỏ và 1 bảng cần loại bỏ
các bản ghi
Trên menu, kích chọn Query/Delete query.
Trên khung lưới xuất hiện dòng Delete trong đó
có các lựa chọn From và Where do Access tự
điền vào
Truy vấn loại bỏ (tiếp)
Ví dụ 1: Xóa thông tin về nhân viên có MANV nhập từ bàn
phím
Truy vấn loại bỏ (tiếp)
Ví dụ 2: Xóa bỏ thông tin về trình độ ngoại ngữ của nhân viên
có MAPHONG là PQT
X. Truy vấn cập nhật (Update Query)
Sử dụng khi cần thay đổi 1 số lượng lớn các
bản ghi
Cách tạo:
Tạo truy vấn thông thường bao gồm bảng cần cập
nhật và bảng liên quan đến điều kiện
Trên thanh menu chọn Query/Update Query
Trên khung lưới xuất hiện dòng Update To dùng
để chứa các giá trị mới của trường tương ứng
Ví dụ: tăng lương cho những nhân viên
vào biên chế trước năm 1980 thêm
20%
Truy vấn cập nhật (tiếp)
Ví dụ 1: Những nhân viên vào biên chế trước 1/1/1995 thì tăng
lương gấp đôi
Truy vấn cập nhật (tiếp)
Ví dụ 2: Những nhân viên phòng DAOTAO và phòng
KHOAHOC được cập nhật trình độ ngoại ngữ là C
XI. Truy vấn Crosstab
Dùng để thống kê thông tin trên 2 hoặc nhiều cột
trong 1 bảng hoặc 1 query
Cách tạo:
Tạo truy vấn thôngthường
Trên thanh menu chọn Query/Crosstab Query
Chọn trường để nhóm theo hàng(Row Heading-
tiêu đề hàng)
Chọn trường để nhóm theo cột (Column
Heading-tiêu đề cột)
Chọn giá trị để lưu ở các ô giao của hàng và cột
(Value). Ở đó có thể dùng các hàm SUM,
COUNT,... để tính toán
Truy vấn Crosstab (tiếp)
Ví dụ 1: Tính tổng số nam nữ trong từng phòng
Truy vấn Crosstab (tiếp)
Kết quả thực hiện truy vấn
Truy vấn Crosstab (tiếp)
Ví dụ2: Thống kê trình độ ngoại ngữ của từng phòng
Ví dụ 3: Lập bảng thống kê tên phòng và số người
học ngoại ngữ theo tên ngoại ngữ
Ví dụ: Phòng KHOAHOC có 2 người học tiếng ANH, 4 người
học tiếng PHAP,…
Ví dụ 4: Thống kê tổng lương của từng phòng theo
giới tính:
Ví dụ: phòng PTV có tổng lương của Nam là 3000000, tổng
lương của Nữ là 5000000,…
Ví dụ 5: Thống kê số nam và nữ vào biên chế sau
năm 1990 của từng phòng.
XII. Tạo Query bằng SQL
XII. Tạo Query bằng SQL
1).Cú pháp
Cú pháp đơn giản nhất của SQL là:
SELECT
FROM
WHERE
Hiểu là: đưa ra cái gì từ đâu thỏa mãn điều kiện gì
Tạo Query bằng SQL(tiếp)
2).Tìm kiếm không điều kiện
Cú pháp:
SELECT
FROM
Ví dụ 1: Cho biết thông tin về các nhân viên
select MANV, HOTEN, GTINH, LUONG, MAPHONG
From NHANVIEN
Dấu * thay cho việc liệt kê tất cả các cột của bảng
select *
From NHANVIEN
Tạo Query bằng SQL(tiếp)
3).Tìm kiếm với điều kiện đơn giản
Cú pháp:
SELECT
FROM
WHERE
Trong đó thường chứa:
Toán tử so sánh: >,>=,
Toán tử logic: NOT, AND, OR
Tạo Query bằng SQL(tiếp)
Ví dụ 2: Cho biết MANV, họ tên của các nhân viên
nữ
select MANV, HOTEN
From NHANVIEN
Where GTINH=False
Ví dụ 3: Cho biết thông tin của những nhân viên có
lương >1.000.000
select *
From NHANVIEN
Where LUONG> 1.000.000
Tạo Query bằng SQL(tiếp)
Ví dụ 3’: Nhân viên hoặc là nữ hoặc là có
lương từ 1.000.000 đến 2.000.000
Select *
From NHANVIEN
Where (GTINH=False) OR (LUONG>=1.000.000 AND
LUONG <=2.000.000)
Tạo Query bằng SQL(tiếp)
4).Tìm kiếm với BETWEEN
Cú pháp:
SELECT
FROM
WHERE BETWEEN AND
Tạo Query bằng SQL(tiếp)
Ví dụ 4 : Đưa ra thông tin của các nhân viên có lương
từ 200.000 đến 700.000
Select *
From NHANVIEN
Where LUONG Between 200.000 and 700.000
Tạo Query bằng SQL(tiếp)
5).Tìm kiếm với IN
Cú pháp:
SELECT
FROM
WHERE IN (,…, )
Ví dụ 5: Đưa ra thông tin về các nhân viên có mã
phòng là “PTV”, “PDT”, “PKH”
Select *
From NHANVIEN
Where MAPHONG in (“PTV”, “PHC”, “PDT”)
Tạo Query bằng SQL(tiếp)
6).Tìm kiếm với LIKE
Cú pháp:
SELECT
FROM
WHERE LIKE
Trong đó:
phải có kiểu xâu
thường chứa kí hiệu % dùng để thay cho 1
xâu con; kí hiệu _ dùng để thay cho 1 kí tự.
Tạo Query bằng SQL(tiếp)
Ví dụ 6: Tìm những nhân viên có họ “Nguyễn”
Select *
From NHANVIEN
Where HOTEN Like “Nguyễn%”
Tạo Query bằng SQL(tiếp)
7). Sử dụng phép toán số học
Ta có thể sử dụng các biểu thức số học trong mệnh
đề SELECT hoặc WHERE của câu lệnh SQL.
Các phép toán số học là +, -, *, /
Ví dụ 7: Cho biết Họ tên và lương mới của các nhân
viên nữ nếu lương của họ được tăng thêm 10%
Select HOTEN, LUONG+ LUONG*0.1
From NHANVIEN
Where GTINH=False
Tạo Query bằng SQL(tiếp)
Ví dụ 8: Đưa ra thông tin của các nhân
viên mà nếu lương của họ được tăng
10% thì >2.000.000
Select *
From NHANVIEN
Where LUONG+0.1*LUONG>2.000.000
Tạo Query bằng SQL(tiếp)
8). Các hàm trong SQL:
COUNT: đếm số các giá trị trong cột
SUM: tính tổng các giá trị trong cột (số)
AVG: tính trung bình cộng các giá trị trong cột
(số)
MIN: tìm giá trị nhỏ nhất
MAX: tìm giá trị lớn nhất
Tạo Query bằng SQL(tiếp)
Ví dụ 9: Cho biết số người của phòng có mã
phòng là “PDT”
Select COUNT (MANV)
From NHANVIEN
Where MAPHONG=“PDT”
Ví dụ 10: Cho biết mức lương cao nhất của
các nhân viên
Select MAX (LUONG)
From NHANVIEN
Tạo Query bằng SQL(tiếp)
9). Sử dụng mệnh đề GROUP BY và HAVING
SQL sử dụng mệnh đề GROUP BY<tên thuộc
tính> để tìm kiếm theo nhóm các bản ghi có cùng
giá trị . Kết quả tìm kiếm là danh
sách các bản ghi được liệt kê theo nhóm, hết nhóm
này đến nhóm khác
Mệnh đề HAVING luôn đi sau GROUP BY và miền
tác động của nó là từng nhóm của GROUP BY chứ
không phải là toàn bảng.
Tạo Query bằng SQL(tiếp)
SELECT
FROM
WHERE
GROUP BY
HAVING
Tạo Query bằng SQL(tiếp)
Ví dụ 11: Cho biết số người của từng phòng
Select COUNT (MANV)
From NHANVIEN
Group by MAPHONG
Ví dụ 12: Cho biết lương cao nhất trong từng phòng
và tổng lương của từng phòng
Select MAPHONG,MAX(LUONG) AS
Max_luongphong, SUM(LUONG) AS
tong_luongphong
From NHANVIEN
Group by MAPHONG
Tạo Query bằng SQL(tiếp)
Ví dụ 13 : Đưa ra mã phòng và tổng lương của các
phòng có tổng lương >4000000
Select MAPHONG, sum(LUONG)
From NHANVIEN
Group by MAPHONG
Having SUM (LUONG)>4000000
Tạo Query bằng SQL(tiếp)
10). Kết nối các bảng:
- Trong trường hợp câu hỏi liên quan đến nhiều bảng,
ta phải kết nối các bảng với nhau.
- Khi sử dụng nhiều bảng trong câu SQL, với những
thuộc tính xuất hiện ở nhiều bảng, ta phải xác định
rõ thuộc tính đó ở bảng nào bằng cách viết: <tên
bảng>.
- Cú pháp:
SELECT
FROM ,
WHERE .=.<cột
chung>
Tạo Query bằng SQL(tiếp)
Ví dụ 14: Cho biết mã nhân viên, họ tên, lương của các nhân viên
phòng DAOTAO
Select MANV, HOTEN, LUONG
From NHANVIEN, PHONG
Where NHANVIEN.MAPHONG=PHONG.MAPHONG And
TENPHONG=“DAOTAO”
Ví dụ 15: Cho biết mã nhân viên, họ tên của các nhân viên phòng
DAOTAO và có trình độ ngoại ngữ C
Select MANV, HOTEN
From NHANVIEN, PHONG, TDNN
Where NHANVIEN.MANV=PHONG.MANV
And NHANVIEN.MANV=TDNN.MANV
And TENPHONG=“DAOTAO”
And TDO=“C”
Tạo Query bằng SQL(tiếp)
Cho biết thông tin về phòng của nhân
viên có mã nhân viên là “P15”
Select PHONG.*
From NHANVIEN, PHONG
Where
NHANVIEN.MAPHONG=PHONG.MAPHONG
and MANV=“P15”
Tạo Query bằng SQL(tiếp)
11).Truy vấn lồng nhau:
Trong nhiều bài toán, kết quả của 1 câu tìm kiếm lại được tham gia
vào 1 câu tìm kiếm khác. Khi đó ta phải dùng cấu trúc truy vấn
lồng nhau, tức là nhiều cấu trúc SELECT...FROM...WHERE lồng
nhau.
Ví dụ 16: Đưa ra danh sách nhân viên phòng TAIVU
Select *
From NHANVIEN
Where MAPHONG = ( Select MAPHONG
From PHONG
Where TENPHONG=“TAIVU”)
Tạo Query bằng SQL(tiếp)
Select *
From NHANVIEN, PHONG
Where
NHANVIEN.MAPHONG=PHONG.MAPHO
NG and TENPHONG=“TAIVU”
Tạo Query bằng SQL(tiếp)
Ví dụ 17: Đưa ra thông tin về người có lương cao
nhất
Select *
From NHANVIEN
Where LUONG= ( Select MAX(LUONG)
From NHANVIEN)
Tạo Query bằng SQL(tiếp)
8). Các lượng từ:
Lượng từ Tồn tại-EXISTS:
Cấu trúc: EXISTS trả về giá trị đúng nếu tập hợp này
khác rỗng
Ví dụ 18: Cho biết thông tin về những nhân viên biết ngoại
ngữ
Select *
From NHANVIEN
Where Exists (Select *
From TDNN, NHANVIEN
Where NHANVIEN.MANV=TDNN.MANV)
Tạo Query bằng SQL(tiếp)
Lượng từ Với mọi-ALL:
ALL
Ví dụ 19: Cho biết những nhân viên có lương cao hơn lương
của mọi nhân viên phòng PTV
Select *
From NHANVIEN
Where LUONG> ALL ( Select LUONG
From NHANVIEN
Where MAPHONG=‘PTV’)
Bài tập
1. Đưa ra thông tin về các phòng
2. Đưa ra MANV, HOTEN, LUONG của những nhân viên sinh
trước năm 1975
3. Đưa ra tổng lương của phòng KHOAHOC
4. Đưa ra danh sách nhân viên có lương thấp nhất
5. Đưa ra tên phòng có số nhân viên lớn hơn 10
6. Đưa ra MANV, hoten, luong, tenphong của nhân viên có mã
nhân viên “S09”
7. Đưa ra thông tin về phòng có lương trung bình>2.000.000
8. Đưa ra thông tin về các nhân viên có mã nhân viên là “S02”,
“S04”, “S07”
9. Tính phụ cấp cho các nhân viên sinh trước năm 1950 theo
công thức phụ cấp= 15% lương.
1. Đưa ra thông tin về các phòng
Select *
From PHONG
2. Đưa ra MANV, HOTEN, LUONG của
những nhân viên sinh trước năm 1975
Select MANV, HOTEN, LUONG
From NHANVIEN