BÀI 26: PHÉP HỢP,TOÁN TỬ UNION, EXISTS, IN VÀ TRUY VẤN LỒNG
Chia sẻ bởi Trần Thị Như Trang |
Ngày 29/04/2019 |
59
Chia sẻ tài liệu: BÀI 26: PHÉP HỢP,TOÁN TỬ UNION, EXISTS, IN VÀ TRUY VẤN LỒNG thuộc Bài giảng khác
Nội dung tài liệu:
BÀI 26:
PHÉP HỢP,TOÁN TỬ UNION, EXISTS, IN VÀ TRUY VẤN LỒNG
1/15
BÀI 26:
PHÉP HỢP, TOÁN TỬ UNION, EXISTS, IN VÀTRUY VẤN LỒNG
Nội dung chi tiết:
Phép hợp và toán tử Union
Truy vấn lồng
Toán tử In và Exists
2/15
26.1 Truy vấn lồng và toán tử Union
Toán tử UNION cho phép ta hợp các kết quả của hai hay nhiều truy vấn thành một tập kết quả duy nhất. Cú pháp của phép hợp như sau:
Query_1: [union [all] Query_2
...
[union[all] Query_N]
[order by clause]
[compute clause]
3/15
26.1 Truy vấn lồng và toán tử Union
Trong đó: Query_1: có dạng như sau:
Select select_list
[Into clause]
[From clause]
[Where clause]
[Group by clause]
[Having clause]
4/15
26.1 Truy vấn lồng và toán tử Union
Và Query_i (i= 2 , …, N) có dạng như sau:
Select select_list
[From clause]
[Where clause]
[Group by clause]
[Having clause]
5/15
26.1 Truy vấn lồng và toán tử Union
Giả sử chúng ta có 2 bảng như sau:
6/15
26.1 Truy vấn lồng và toán tử Union
Ta có bảng kết quả:
Select A, C from R
union
select *from S
7/15
26.2. Truy vấn lồng
Cú pháp của câu truy vấn lồng:
SELECT< danh sách các cột>
FROM< danh sách các bảng>
WHERE< so sánh tập hợp> (
SELECT< danh sách các cột>
FROM < danh sách các bảng>
WHERE < điều kiện> )
Câu truy vấn cha
Câu truy vấn con
8/15
26.2. Truy vấn lồng
Chú ý:
Các câu lệnh SELECT có thể lồng nhau ở nhiều mức
Câu truy vấn con thường trả về một tập các giá trị
Các câu truy vấn con trong cùng một mệnh đề WHERE được kết hợp bằng phép nối logic
9/15
26.2. Truy vấn lồng
Mệnh đề WHERE của câu truy vấn cha
So sánh tập hợp thường đi cùng với một số toán tử
IN, NOT IN
ALL
ANY hoặc SOME
Kiểm tra sự tồn tại
EXISTS
NOT EXISTS
10/15
26.2.1. Truy vấn lồng phân cấp
Mệnh đề WHERE của truy vấn con không tham chiếu đến thuộc tính của các quan hệ trong mệnh đề FROM ở truy vấn cha
Khi thực hiện, câu truy vấn con sẽ được thực hiện trước.
11/15
26.2.2. Truy vấn lồng Tương quan
12/15
26.3. Toán tử in và exits
IN
IN
Thuộc tính ở mệnh đề SELECT của truy vấn con phải có cùng kiểu dữ liệu với thuộc tính ở mệnh đề WHERE của truy vấn cha
EXISTS
Không cần có thuộc tính, hằng số hay biểu thức nào khác đứng trước
Không nhất thiết liệt kê tên thuộc tính ở mệnh đề SELECT của truy vấn con
Những câu truy vấn có ANY hay IN đều có thể chuyển thành câu truy vấn có EXISTS
13/15
26.4. Bài tập liên quan đến các phép toán tập hợp và truy vấn lồng
Xét cơ sở dữ liệu “Quản lý vật tư” như vẽ dưới đây
14/15
26.4. Bài tập liên quan đến các phép toán tập hợp và truy vấn lồng
Hãy sử dụng ngôn ngữ truy vấn ( SQL) để trả lời các câu hỏi sau:
Câu 1: Hiển thị tên nhân viên, ngày sinh của những nhân viên đã xuất vật tư trong tháng 8 năm 2008.
Câu 2: Hiển thị tên nhân viên, ngày sinh của những nhân viên đã xuất vật tư có tên là ‘Màn hình máy tính’
Câu 3: Hiển thị mã, tên vật tư đã được xuất với khối lượng lớn nhất.
15
PHÉP HỢP,TOÁN TỬ UNION, EXISTS, IN VÀ TRUY VẤN LỒNG
1/15
BÀI 26:
PHÉP HỢP, TOÁN TỬ UNION, EXISTS, IN VÀTRUY VẤN LỒNG
Nội dung chi tiết:
Phép hợp và toán tử Union
Truy vấn lồng
Toán tử In và Exists
2/15
26.1 Truy vấn lồng và toán tử Union
Toán tử UNION cho phép ta hợp các kết quả của hai hay nhiều truy vấn thành một tập kết quả duy nhất. Cú pháp của phép hợp như sau:
Query_1: [union [all] Query_2
...
[union[all] Query_N]
[order by clause]
[compute clause]
3/15
26.1 Truy vấn lồng và toán tử Union
Trong đó: Query_1: có dạng như sau:
Select select_list
[Into clause]
[From clause]
[Where clause]
[Group by clause]
[Having clause]
4/15
26.1 Truy vấn lồng và toán tử Union
Và Query_i (i= 2 , …, N) có dạng như sau:
Select select_list
[From clause]
[Where clause]
[Group by clause]
[Having clause]
5/15
26.1 Truy vấn lồng và toán tử Union
Giả sử chúng ta có 2 bảng như sau:
6/15
26.1 Truy vấn lồng và toán tử Union
Ta có bảng kết quả:
Select A, C from R
union
select *from S
7/15
26.2. Truy vấn lồng
Cú pháp của câu truy vấn lồng:
SELECT< danh sách các cột>
FROM< danh sách các bảng>
WHERE< so sánh tập hợp> (
SELECT< danh sách các cột>
FROM < danh sách các bảng>
WHERE < điều kiện> )
Câu truy vấn cha
Câu truy vấn con
8/15
26.2. Truy vấn lồng
Chú ý:
Các câu lệnh SELECT có thể lồng nhau ở nhiều mức
Câu truy vấn con thường trả về một tập các giá trị
Các câu truy vấn con trong cùng một mệnh đề WHERE được kết hợp bằng phép nối logic
9/15
26.2. Truy vấn lồng
Mệnh đề WHERE của câu truy vấn cha
So sánh tập hợp thường đi cùng với một số toán tử
IN, NOT IN
ALL
ANY hoặc SOME
Kiểm tra sự tồn tại
EXISTS
NOT EXISTS
10/15
26.2.1. Truy vấn lồng phân cấp
Mệnh đề WHERE của truy vấn con không tham chiếu đến thuộc tính của các quan hệ trong mệnh đề FROM ở truy vấn cha
Khi thực hiện, câu truy vấn con sẽ được thực hiện trước.
11/15
26.2.2. Truy vấn lồng Tương quan
12/15
26.3. Toán tử in và exits
IN
Thuộc tính ở mệnh đề SELECT của truy vấn con phải có cùng kiểu dữ liệu với thuộc tính ở mệnh đề WHERE của truy vấn cha
EXISTS
Không cần có thuộc tính, hằng số hay biểu thức nào khác đứng trước
Không nhất thiết liệt kê tên thuộc tính ở mệnh đề SELECT của truy vấn con
Những câu truy vấn có ANY hay IN đều có thể chuyển thành câu truy vấn có EXISTS
13/15
26.4. Bài tập liên quan đến các phép toán tập hợp và truy vấn lồng
Xét cơ sở dữ liệu “Quản lý vật tư” như vẽ dưới đây
14/15
26.4. Bài tập liên quan đến các phép toán tập hợp và truy vấn lồng
Hãy sử dụng ngôn ngữ truy vấn ( SQL) để trả lời các câu hỏi sau:
Câu 1: Hiển thị tên nhân viên, ngày sinh của những nhân viên đã xuất vật tư trong tháng 8 năm 2008.
Câu 2: Hiển thị tên nhân viên, ngày sinh của những nhân viên đã xuất vật tư có tên là ‘Màn hình máy tính’
Câu 3: Hiển thị mã, tên vật tư đã được xuất với khối lượng lớn nhất.
15
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Trần Thị Như Trang
Dung lượng: |
Lượt tài: 1
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)