Xem mẫu
- 12/07/2018
Nội dung Chương III
Đại số quan hệ
Phép toán đại số quan hệ
NGÔN NGỮ THAO TÁC DỮ LIỆU Phép chọn (Selection): σ
Phép chiếu (Projection): Π
Phép toán tập hợp
Phép hợp:
Phép giao:
Phép trừ:
Phép tích Descartes:
Phép kết:
Ngôn ngữ SQL
1 2
Giới thiệu Giới thiệu
Truy vấn CSDL: đưa ra các câu hỏi yêu cầu lấy tin (query) Có 2 loại xử lý truy vấn
cho hệ CSDL Không làm thay đổi dữ liệu: Truy vấn rút trích, lựa chọn
Ngôn ngữ truy vấn: Là một ngôn ngữ được quy ước riêng, Làm thay đổi dữ liệu (truy vấn cập nhật): Thêm mới, xóa và
cho phép người dùng cập nhật và rút trích dữ liệu đã sửa
được lưu trong một CSDL. Thực hiện các xử lý
Ðại số quan hệ (ĐSQH) được xem như một phương pháp Đại số quan hệ: Biểu diễn câu truy vấn dưới dạng biểu thức
để mô hình hoá các phép toán trên CSDL quan hệ. Ngôn ngữ SQL (Structured Query Language): Được cài đặt
Một chuỗi các phép toán ĐSQH được gọi là một biểu thức trong các Hệ quản trị CSDL
ĐSQH. Kết quả là một quan hệ.
3 4
- 12/07/2018
Phép chọn Phép chọn
Được dùng để lấy ra các bộ của quan hệ cho trước thỏa Ví dụ
mãn điều kiện chọn nào đó. R A B C D
Cho quan hệ R, phép chọn tập các bộ (dòng) từ quan hệ R a1 1 2 d1
a1 1 2 d2
thỏa mãn biểu thức điều kiện chọn F. a2 1 1 d3
Kí hiệu F (R)
Kết quả là một quan hệ gồm tập các bộ của quan hệ R
thỏa mãn biểu thức chọn F. (C=1) (R)
R A
a2
B
1
C
1
D
d3
F (R)= { t | t r và F(t) đúng }
F(t): giá trị của các thuộc tính trong F tại bộ t, trả về giá trị
đúng hoặc sai. (C=1) (A = a1) (R) = {}
5 6
Phép chọn - Ví dụ Phép chọn - Ví dụ
Lập danh sách các sinh viên thuộc khoa có Mã khoa là Lập danh sách tất cả thông tin của các thửa đất có diện
“TH” tích (m2) từ 250 trở lên
Quan hệ: SINHVIEN Quan hệ: ChiTietThuaDat
Điều kiện: MaKhoa=“TH” Điều kiện: DienTich250
MaKhoa=“TH” (SINHVIEN) DienTich250 (ChiTietThuaDat)
SINHVIEN(MaSV, HoSV, TenSV, Phai, NgaySinh, MaKhoa, HocBong) ChuSD(CMND, HoTen, NgaySinh, GioiTinh, SoNha, Xom, Ap, Xa)
KHOA(MaKhoa, TenKhoa) BanDKSD(MaSoBanDK, NgayDKThua, CMND, SoThuaGoc,
MONHOC(MaMH, TenMH, DVHT) MucDichSD)
KETQUA(MaSV, MaMH, LanThi, Diem) ChiTietThuaDat(SoThuaGoc, LoDat, Xa, DienTich, SoToBanDo)
7 8
- 12/07/2018
Phép chọn - Ví dụ Phép chọn - Ví dụ
Lập danh sách tất cả thông tin của các hồ sơ đăng ký Lập danh sách tất cả thông tin của các chủ sử dụng giới
quyền SD đất đã thực hiện trong năm 2000 tính nam
Quan hệ: BanDKSD Quan hệ: ChuSD
Điều kiện: NgayDKThua=… Điều kiện: GioiTinh=Yes/No (Yes=Nam, No=Nữ) hoặc Text
NgayDKThua1/1/2000 NgayDKThua31/12/2000 (BanDKSD)
GioiTinh=Yes (ChuSD) GioiTinh=“Nam” (ChuSD)
ChuSD(CMND, HoTen, NgaySinh, GioiTinh, SoNha, Xom, Ap, Xa) ChuSD(CMND, HoTen, NgaySinh, GioiTinh, SoNha, Xom, Ap, Xa)
BanDKSD(MaSoBanDK, NgayDKThua, CMND, SoThuaGoc, BanDKSD(MaSoBanDK, NgayDKThua, CMND, SoThuaGoc,
MucDichSD) MucDichSD)
ChiTietThuaDat(SoThuaGoc, LoDat, Xa, DienTich, SoToBanDo) ChiTietThuaDat(SoThuaGoc, LoDat, Xa, DienTich, SoToBanDo)
9 10
Phép chiếu Phép chiếu
Phép chiếu là phép loại bỏ đi một số thuộc tính (cột) của Lập danh sách Mã SV, họ tên của các sinh viên
quan hệ. Quan hệ: SINHVIEN
Cho quan hệ R(U), tập thuộc tính X U. Phép chiếu quan Thuộc tính: MaSV, HoSV, TenSV
hệ R lên tập thuộc tính X
Kí hiệu X (R) MaSV HoSV TenSV
Kết quả trả về là một quan hệ gồm các bộ thuộc tập thuộc MaSV, HoSV, TenSV(SINHVIEN) … … …
tính X.
Ví dụ: r A B C {B,C} (r) r’ B C
SINHVIEN(MaSV, HoSV, TenSV, Phai, NgaySinh, MaKhoa, HocBong)
a1 1 c1 c1
a2 1 c1
1 KHOA(MaKhoa, TenKhoa)
2 c2
a3 2 c2 MONHOC(MaMH, TenMH, DVHT)
KETQUA(MaSV, MaMH, LanThi, Diem)
11 12
- 12/07/2018
Chuỗi các phép toán Chuỗi các phép toán
Kết hợp các phép toán đại số quan hệ Lập danh sách gồm: Mã SV, họ tên của các sinh viên thuộc
Lồng các biểu thức lại với nhau khoa có Mã khoa là “TH”
Quan hệ: SINHVIEN
( (R))
X F ( (R))
F X Thuộc tính: MaSV, HoSV, TenSV
Thực hiện từng phép toán một Điều kiện: MaKhoa=“TH
Bước 1: (R) MaSV, HoSV, TenSV ( MaKhoa=“TH” (SINHVIEN))
F
Bước 2: (Quan hệ kết quả ở Bước 1) SINHVIEN(MaSV, HoSV, TenSV, Phai, NgaySinh, MaKhoa, HocBong)
X
KHOA(MaKhoa, TenKhoa)
MONHOC(MaMH, TenMH, DVHT)
KETQUA(MaSV, MaMH, LanThi, Diem)
13 14
Chuỗi các phép toán Chuỗi các phép toán
Lập danh sách thông tin gồm: Mã số bản ĐK, ngày ĐK, số Lập danh sách các thông tin gồm: Số thửa gốc, xã, diện
thửa gốc của các hồ sơ đăng ký từ năm 2000 đến nay tích của các thửa đất thuộc xã “Hòa Bình”
Quan hệ: BanDKSD Quan hệ: ChiTietThuaDat
Thuộc tính: MaSoBanDK, NgayDKThua, SoThuaGoc Thuộc tính: …
Điều kiện: NgayDKThua… Điều kiện: Xa=“Hòa Bình”
MaSoBanDK, NgayDKThua, SoThuaGoc ( NgayDKThua1/1/2000 (BanDKSD))
SoThuaGoc, Xa, DienTich ( Xa=“Hòa Bình” (ChiTietThuaDat))
ChuSD(CMND, HoTen, NgaySinh, GioiTinh, SoNha, Xom, Ap, Xa) ChuSD(CMND, HoTen, NgaySinh, GioiTinh, SoNha, Xom, Ap, Xa)
BanDKSD(MaSoBanDK, NgayDKThua, CMND, SoThuaGoc, BanDKSD(MaSoBanDK, NgayDKThua, CMND, SoThuaGoc,
MucDichSD) MucDichSD)
ChiTietThuaDat(SoThuaGoc, LoDat, Xa, DienTich, SoToBanDo) ChiTietThuaDat(SoThuaGoc, LoDat, Xa, DienTich, SoToBanDo)
15 16
- 12/07/2018
Phép toán tập hợp Tính khả hợp
Phép toán tập hợp bao gồm: Ví dụ Cho 2 quan hệ NHAHANG và KHACHSAN là 2 danh
Phép hợp: R S sách các nhà hàng và khách sạn trong THÀNH PHỐ.HCM
Phép giao: R S 2 quan hệ NHAHANG và KHACHSAN có tính khả hợp
Phép trừ: R S
NHAHANG TEN DIACHI PHUONG QUAN
Tính khả hợp Huy Hoàng 504 Điện Biên Phủ 14 3
Tương Lai 229 Ngô Chí Thanh 6 5
Hai lược đồ quan hệ R(A1, A2, …, An) và S(B1, B2, …, Bn) là khả
Sinh Đôi 300 Lý Thái Tổ 6 10
hợp nếu. Đông Nam Á 230 Ngô Gia Tự 10 1
Cùng bậc n (cùng số lượng thuộc tính)
KHACHSAN TEN DIACHI PHUONG QUAN
Cùng miền giá trị
Viễn Đông 2 Lê Lợi 5 1
Kết quả của , , và là một quan hệ có cùng tên thuộc Huy Hoàng 504 Điện Biên Phủ 14 3
tính với quan hệ đầu tiên (R) Ánh Hồng 151 Đặng Dung 2 PN
Tương Lai 229 Ngô Chí Thanh 6 5
17 18
Tính khả hợp Tính khả hợp
2 quan hệ NHAHANG và KHACHSAN không có tính khả hợp 2 quan hệ NHAHANG và KHACHSAN không có tính khả hợp
NHAHANG TEN DIACHI PHUONG QUAN NHAHANG TEN DIACHI PHUONG QUAN
Huy Hoàng 504 Điện Biên Phủ 14 3 Huy Hoàng 504 Điện Biên Phủ 14 3
Tương Lai 229 Ngô Chí Thanh 6 5 Tương Lai 229 Ngô Chí Thanh 6 5
Sinh Đôi 300 Lý Thái Tổ 6 10 Sinh Đôi 300 Lý Thái Tổ 6 10
Đông Nam Á 230 Ngô Gia Tự 10 1 Đông Nam Á 230 Ngô Gia Tự 10 1
KHACHSAN TEN DIACHI QUAN KHACHSAN TEN DIACHI MSTHUE QUAN
Viễn Đông 2 Lê Lợi 1 Viễn Đông 2 Lê Lợi 201-123 1
Huy Hoàng 504 Điện Biên Phủ 3 Huy Hoàng 504 Điện Biên Phủ 459-837 3
Ánh Hồng 151 Đặng Dung PN Ánh Hồng 151 Đặng Dung 110-213 PN
Tương Lai 229 Ngô Chí Thanh 5 Tương Lai 229 Ngô Chí Thanh 223-012 5
19 20
- 12/07/2018
Phép hợp Phép giao
Phép hợp của 2 quan hệ R và S tương thích khả hợp: Phép giao của 2 quan hệ R và S tương thích khả hợp
Ký hiệu: R S Ký hiệu: R S
Là một quan hệ gồm các bộ thuộc R hoặc thuộc S, hoặc cả Là một quan hệ gồm tập các bộ vùa thuộc R và vừa thuộc S
hai (các bộ trùng lắp sẽ bị bỏ)
RS={t|tRtS}
R S = { t | t R t S} Ví dụ:
Ví dụ:
r A B C s A B C r s A B C
R A B C S A B C R S A B C a1 b1 c1 a1 b1 c1 a1 b1 c1
a1 b1 c1 a1 b1 c1 a1 b1 c1 a2 b2 c2 a2 b1 c3
a2 b2 c2 a3 b3 c3
a2 b1 c3 a2 b1 c3
a3 b3 c3 a2 b2 c2
a3 b3 c3
21 22
Phép trừ Phép trừ
Phép trừ của 2 quan hệ r và s tương thích Phép giao của hai quan hệ tương thích r và s có thể
Ký hiệu: R – S được biểu diễn qua phép trừ: R – S = R – (R – S)
Là một quan hệ gồm các bộ thuộc R và không thuộc S
RS={t|tRtS} R
Ví dụ:
R A B C S A B C R S A B C R–S
a1 b1 c1 a1 b1 c1 a2 b2 c2 S
a2 b2 c2 a3 b3 c3
a3 b3 c3
a2 b1 c3
S–R
RS
23 24
- 12/07/2018
Phép tích Đề các Phép tích Đề các
BanDKSD ChuSD
Được dùng để kết hợp các bộ của các quan hệ lại với MaSoBanDK NgayDK CMND CMND HoTen
nhau AA112233 08/07/1995 123456789 123456789 Nguyễn A
AB123456 02/11/2000 123456789 987654321 Trần B
Ví dụ: BB456789 10/05/1999 987654321
CB987654 01/12/1990 123456789
R A B S C D RS A B C D
a1 1 1 d1 a1 1 1 d1
a2 2 3 d2 a1 1 3 d2 MaSoBanDK NgayDK BanDKSD.CMND ChuSD.CMND HoTen
a2 2 1 d1 AA112233 08/07/1995 123456789 123456789 Nguyễn A
a2 2 3 d2 AA112233 08/07/1995 123456789 987654321 Trần B
25 26
Phép tích Đề các Phép kết nối tự nhiên
BanDKSD ChuSD
MaSoBanDK NgayDK CMND CMND HoTen Cho 2 quan hệ trong CSDL quản lý đăng ký hồ sơ địa chính
AA112233 08/07/1995 123456789 123456789 Nguyễn A
Thực hiện phép kết nối tự nhiên 2 quan hệ
AB123456 02/11/2000 123456789 987654321 Trần B
BB456789 10/05/1999 987654321 BanDKSD ChuSD
CB987654 01/12/1990 123456789
Bảng tổng hợp dữ liệu
MaSoBanDK NgayDK BanDKSD.CMND ChuSD.CMND HoTen BanDKSD MaSoBanDK NgayDK CMND HoTen
AA112233 08/07/1995 123456789 123456789 Nguyễn A AA112233 08/07/1995 123456789 …
AA112233 08/07/1995 123456789 987654321 Trần B AB123456 02/11/2000 123456789 …
AB123456 02/11/2000 123456789 123456789 Nguyễn A BB456789 10/05/1999 987654321 …
AB123456 02/11/2000 123456789 987654321 Trần B CB987654 01/12/1990 123456789 …
BB456789 10/05/1999 987654321 123456789 Nguyễn A
BB456789 10/05/1999 987654321 987654321 Trần B ChuSD CMND HoTen
CB987654 01/12/1990 123456789 123456789 Nguyễn A 123456789 Nguyễn A
CB987654 01/12/1990 123456789 987654321 Trần B 987654321 Trần B
27 28
- 12/07/2018
Phép kết nối tự nhiên Phép kết nối tự nhiên
Bước 1: BanDKSD × ChuSD (Tích Đề-các) Bước 2: Lấy ra các dòng thỏa điều kiện
BanDKSD.CMND = ChuSD.CMND
BanDKSD
MaSoBanDK NgayDK CMND
× ChuSD
CMND HoTen
MaSoBanDK NgayDK BanDKSD.CMND ChuSD.CMND HoTen
AA112233 08/07/1995 123456789 123456789 Nguyễn A
AA112233 08/07/1995 123456789 123456789 Nguyễn A
AB123456 02/11/2000 123456789 987654321 Trần B
AA112233 08/07/1995 123456789 987654321 Trần B
BB456789 10/05/1999 987654321
AB123456 02/11/2000 123456789 123456789 Nguyễn A
CB987654 01/12/1990 123456789
AB123456 02/11/2000 123456789 987654321 Trần B
BB456789 10/05/1999 987654321 123456789 Nguyễn A
MaSoBanDK NgayDK BanDKSD.CMND ChuSD.CMND HoTen BB456789 10/05/1999 987654321 987654321 Trần B
AA112233 08/07/1995 123456789 123456789 Nguyễn A CB987654 01/12/1990 123456789 123456789 Nguyễn A
AA112233 08/07/1995 123456789 987654321 Trần B CB987654 01/12/1990 123456789 987654321 Trần B
AB123456 02/11/2000 123456789 123456789 Nguyễn A
AB123456 02/11/2000 123456789 987654321 Trần B
… … … … …
29 30
Phép kết nối tự nhiên Tổng hợp chuỗi các phép toán
Kết quả phép kết nối tự nhiên: BanDKSD ChuSD Lập danh sách Mã SV, họ tên của các sinh viên thuộc khoa
BanDKSD ChuSD có tên khoa là “Tin học”
MaSoBanDK NgayDK CMND CMND HoTen Quan hệ: SINHVIEN, KHOA
AA112233 08/07/1995 123456789 123456789 Nguyễn A
AB123456 02/11/2000 123456789 Thuộc tính: MaSV, HoSV, TenSV
987654321 Trần B
BB456789 10/05/1999 987654321 Điều kiện: TenKhoa=“Tin học”
CB987654 01/12/1990 123456789
MaSV, HoSV, TenSV
( TenKhoa=“Tin học” (SINHVIEN KHOA))
MaSoBanDK NgayDK BanDKSD.CMND ChuSD.CMND HoTen
AA112233 08/07/1995 123456789 123456789 Nguyễn A SINHVIEN(MaSV, HoSV, TenSV, Phai, NgaySinh, MaKhoa, HocBong)
AB123456 02/11/2000 123456789 123456789 Nguyễn A KHOA(MaKhoa, TenKhoa)
BB456789 10/05/1999 987654321 987654321 Trần B MONHOC(MaMH, TenMH, DVHT)
CB987654 01/12/1990 123456789 123456789 Nguyễn A KETQUA(MaSV, MaMH, LanThi, Diem)
31 32
- 12/07/2018
Tổng hợp chuỗi các phép toán Nội dung Chương III
Lập danh sách thông tin gồm: Mã số bản ĐK, ngày ĐK, số Đại số quan hệ
CMND, họ tên của các hồ sơ từ năm 2000 đến nay Phép toán đại số quan hệ
Quan hệ: BanDKSD, ChuSD Phép chọn (Selection): σ
Thuộc tính: MaSoBanDK, NgayDKThua, CMND, HoTen Phép chiếu (Projection): Π
Điều kiện: NgayDKThua… Phép toán tập hợp
Phép hợp:
( NgayDKThua1/1/2000 (BanDKSD
MaSoBanDK, NgayDKThua, CMND, HoTen
ChuSD)) Phép giao:
Phép trừ:
ChuSD(CMND, HoTen, NgaySinh, GioiTinh, SoNha, Xom, Ap, Xa) Phép tích Descartes:
BanDKSD(MaSoBanDK, NgayDKThua, CMND, SoThuaGoc,
Phép kết:
MucDichSD)
ChiTietThuaDat(SoThuaGoc, LoDat, Xa, DienTich, SoToBanDo) Ngôn ngữ SQL
33 34
Cú pháp tổng quát câu lệnh Truy vấn cơ bản
SELECT ... Cú pháp
FROM SELECT
WHERE FROM
GROUP BY Trong đó:
HAVING
ORDER BY ASC / DESC Tên các thuộc tính (cột) sẽ được hiển thị trong kết quả
truy vấn
Tên các bảng liên quan đến câu truy vấn.
35 36
- 12/07/2018
Truy vấn cơ bản Mệnh đề WHERE
Lập danh sách Mã SV, họ tên các sinh viên Cú pháp
SELECT
SELECT MaSV, HoSV, TenSV
FROM SINHVIEN FROM
MaSV HoSV TenSV
WHERE
… … …
Trong đó:
là:
SELECT MaSV AS [Mã SV], HoSV AS [Họ SV], TenNV AS [Tên SV] Các phép toán so sánh: , > , = , ,
FROM SINHVIEN
Các phép toán logic: AND, OR
Mã SV Họ SV Tên SV
Các từ khóa: LIKE, BETWEEN … AND …, IN, NOT IN,
… … …
EXISTS…
37 38
Mệnh đề WHERE - Ví dụ Mệnh đề WHERE - Ví dụ
Lập danh sách các sinh viên thuộc khoa có Mã khoa là Lập danh sách tất cả thông tin của các thửa đất có diện
“TH” tích (m2) trên 250
Quan hệ: SINHVIEN Quan hệ: ChiTietThuaDat
Điều kiện: MaKhoa=“TH” Điều kiện: DienTich>250
SELECT * SELECT *
FROM SINHVIEN FROM ChiTietThuaDat
WHERE MaKhoa=“TH” WHERE DienTich>250
SINHVIEN(MaSV, HoSV, TenSV, Phai, NgaySinh, MaKhoa, HocBong) ChuSD(CMND, HoTen, NgaySinh, GioiTinh, SoNha, Xom, Ap, Xa)
KHOA(MaKhoa, TenKhoa) BanDKSD(MaSoBanDK, NgayDKThua, CMND, SoThuaGoc,
MONHOC(MaMH, TenMH, DVHT) MucDichSD)
KETQUA(MaSV, MaMH, LanThi, Diem) ChiTietThuaDat(SoThuaGoc, LoDat, Xa, DienTich, SoToBanDo)
39 40
- 12/07/2018
Mệnh đề WHERE - Ví dụ Mệnh đề WHERE - Ví dụ
Lập danh sách gồm: Mã số bản ĐK, ngày ĐK, CMND của Lập danh sách gồm: Mã số bản ĐK, ngày ĐK, CMND của
các hồ sơ đăng ký quyền SD đất Thổ cư trong năm 2000 các hồ sơ đăng ký quyền SD đất Thổ cư trong năm 2000
Quan hệ: BanDKSD | Điều kiện: NgayDKThua=… Quan hệ: BanDKSD | Điều kiện: NgayDKThua=…
SELECT MaSoBanDK, NgayDKThua, CMND SELECT MaSoBanDK, NgayDKThua, CMND
FROM BanDKSD FROM BanDKSD
WHERE NgayDKThua>=#1/1/2000# AND WHERE NgayDKThua BETWEEN #1/1/2000# AND #31/12/2000#
NgayDKThua
- 12/07/2018
Mệnh đề WHERE - Ví dụ Truy vấn kết nối bảng
Lập danh sách tất cả thông tin của các hồ sơ đăng ký mục Cú pháp
đích sử dụng “Nông nghiệp” và “Thổ cư” SELECT
Quan hệ: BanDKSD FROM
Điều kiện: MucDichSD = “Nông nghiệp” và “Thổ cư”
WHERE
SELECT * Hoặc
FROM BanDKSD SELECT
WHERE MucDichSD = “Nông nghiệp” OR MucDichSD = “Thổ cư”
FROM INNER JOIN
ChuSD(CMND, HoTen, NgaySinh, GioiTinh, SoNha, Xom, Ap, Xa) ON
BanDKSD(MaSoBanDK, NgayDKThua, CMND, SoThuaGoc,
MucDichSD)
ChiTietThuaDat(SoThuaGoc, LoDat, Xa, DienTich, SoToBanDo)
45 46
Truy vấn kết nối bảng Truy vấn kết nối bảng
Hãy cho biết Mã SV, họ tên các sinh viên thuộc khoa có Hãy cho biết Mã SV, họ tên các sinh viên thuộc khoa có
tên là “Tin học” tên là “Tin học”
Cách 1:
SELECT MaSV, HoSV, TenSV
FROM SINHVIEN, KHOA
WHERE SINHVIEN.MaKhoa=KHOA.MaKhoa
AND TenKhoa=“Tin học”
SINHVIEN(MaSV, HoSV, TenSV, Phai, NgaySinh, MaKhoa, HocBong) SINHVIEN(MaSV, HoSV, TenSV, Phai, NgaySinh, MaKhoa, HocBong)
KHOA(MaKhoa, TenKhoa) KHOA(MaKhoa, TenKhoa)
MONHOC(MaMH, TenMH, DVHT) MONHOC(MaMH, TenMH, DVHT)
KETQUA(MaSV, MaMH, LanThi, Diem) KETQUA(MaSV, MaMH, LanThi, Diem)
47 48
- 12/07/2018
Truy vấn kết nối bảng Truy vấn kết nối bảng
Hãy cho biết Mã SV, họ tên các sinh viên thuộc khoa có Lập danh sách các hồ sơ đã làm thủ tục đăng ký quyền SD
tên là “Tin học” đất từ năm 2000 đến nay.
Cách 2: Danh sách gồm các thông tin: Mã số bản ĐK, số CMND và
SELECT MaSV, HoSV, TenSV họ tên người ĐK, ngày đăng ký thửa
FROM SINHVIEN INNER JOIN KHOA
ON SINHVIEN.MaKhoa=KHOA.MaKhoa
WHERE TenKhoa=“Tin học”
SINHVIEN(MaSV, HoSV, TenSV, Phai, NgaySinh, MaKhoa, HocBong)
KHOA(MaKhoa, TenKhoa)
MONHOC(MaMH, TenMH, DVHT)
KETQUA(MaSV, MaMH, LanThi, Diem)
49 50
Truy vấn kết nối bảng Truy vấn kết nối bảng
Lập danh sách các hồ sơ đã làm thủ tục đăng ký quyền SD Lập danh sách các hồ sơ đã làm thủ tục đăng ký quyền SD
đất từ năm 2000 đến nay. Danh sách gồm: Mã số bản ĐK, đất từ năm 2000 đến nay. Danh sách gồm: Mã số bản ĐK,
số CMND và họ tên người ĐK, ngày đăng ký thửa số CMND và họ tên người ĐK, ngày đăng ký thửa
Cách 1: SELECT MaSoBanDK, ChuSD.CMND, HoTen, Cách 2: SELECT MaSoBanDK, ChuSD.CMND, HoTen,
NgayDKThua NgayDKThua
FROM ChuSD, BanDKSD FROM ChuSD INNER JOIN BanDKSD ON
WHERE ChuSD.CMND=BanDKSD.CMND AND ChuSD.CMND=BanDKSD.CMND
NgayDKThua>=#1/1/2000# WHERE NgayDKThua>=#1/1/2000#
ChuSD(CMND, HoTen, NgaySinh, GioiTinh, SoNha, Xom, Ap, Xa) ChuSD(CMND, HoTen, NgaySinh, GioiTinh, SoNha, Xom, Ap, Xa)
BanDKSD(MaSoBanDK, NgayDKThua, CMND, SoThuaGoc, BanDKSD(MaSoBanDK, NgayDKThua, CMND, SoThuaGoc,
MucDichSD) MucDichSD)
ChiTietThuaDat(SoThuaGoc, LoDat, Xa, DienTich, SoToBanDo) ChiTietThuaDat(SoThuaGoc, LoDat, Xa, DienTich, SoToBanDo)
51 52
- 12/07/2018
Truy vấn kết nối bảng Truy vấn gom nhóm
Lập danh sách các thửa đất đã được đăng ký quyền SD Cú pháp
trong năm 1995. Danh sách gồm: Số thửa gốc, số tờ bản SELECT ...
đồ, mã số bản đăng ký, số CMND người đăng ký FROM
SELECT BanDKSD.SoThuaGoc, SoToBanDo, MaSoBanDK, CMND WHERE (Nếu có)
FROM BanDKSD, ChiTietThuaDat
WHERE BanDKSD.SoThuaGoc=ChiTietThuaDat.SoThuaGoc GROUP BY
AND NgayDKThua>=#1/1/1995# Ví dụ:
AND NgayDKThua
- 12/07/2018
Truy vấn gom nhóm Truy vấn gom nhóm
Ví dụ: Cho biết tổng học bổng của sinh viên theo từng Ví dụ: Thống kê số lượng hồ sơ đã đăng ký quyền sử dụng
Khoa, thông tin gồm: Mã Khoa, Tổng học bổng. đất theo từng loại Mục đích sử dụng. Thông tin gồm: Mục
đích SD, Số lượng hồ sơ
SELECT MaKhoa, SUM(HocBong) AS TongHocBong
FROM SINHVIEN SELECT MucDichSD, COUNT(MaSoBanDK) AS SoLuongHoSo
GROUP BY MaKhoa FROM BanDKSD
GROUP BY MucDichSD
SINHVIEN(MaSV, HoSV, TenSV, Phai, NgaySinh, MaKhoa, HocBong) ChuSD(CMND, HoTen, NgaySinh, GioiTinh, SoNha, Xom, Ap, Xa)
KHOA(MaKhoa, TenKhoa) BanDKSD(MaSoBanDK, NgayDKThua, CMND, SoThuaGoc,
MONHOC(MaMH, TenMH, DVHT) MucDichSD)
KETQUA(MaSV, MaMH, LanThi, Diem) ChiTietThuaDat(SoThuaGoc, LoDat, Xa, DienTich, SoToBanDo)
57 58
Tổng kết Chương III
Đại số quan hệ
Phép toán tập hợp
Phép hợp:
Phép giao:
Phép trừ:
Phép tích Descartes:
Phép kết:
Phép toán đại số quan hệ
Phép chọn (Selection): σ
Phép chiếu (Projection): Π
Ngôn ngữ SQL
59
nguon tai.lieu . vn