SlideShare a Scribd company logo
1 of 50
Download to read offline
Đại Học Sư Phạm Tp. Hồ Chí Minh
Khoa Toán – Tin Học
TRUY VẤN DỮ LIỆUTRUY VẤN DỮ LIỆU
• Đại số quan hệ
• Ngôn ngữ SQL• Ngôn ngữ SQL
Đại Học Sư Phạm Tp. Hồ Chí Minh
Khoa Toán – Tin Học
ĐạĐại si sốố quan hquan hệệ
(Relational(Relational AlgebraAlgebra))
• Giới thiệu về Đại số quan hệGiới thiệu về Đại số quan hệ
• Các phép toán quan hệ
• Các phép toán trên nhóm
• Các thao tác cập nhật trên quan hệ
UU
DLDL Các phép toán trên nhóm
BẢNG ĐIỂM MÔN CƠ SỞ DỮ LIỆU LỚP SP01 [KETQUA]
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
Mã sinh viên Họ tên Ngày sinh Địa chỉ Email Điểm thi
0600123 Nguyen Cong Phu 11/02/1990 280 An Duong Vuong phunc@hcmup.edu.vn 7
BẢNG ĐIỂM MÔN CƠ SỞ DỮ LIỆU LỚP SP01: [KETQUA]
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
g y g g g p @ p
0600124 Han Quoc Viet 31/12/1990
123 Nguyen Thi Minh
Khai viethq@hcmup.edu.vn 8
0600125 Phan Anh Khanh 110 Tran Binh Trong 4
0600126 Ly Thanh 123 Truong Dinh 9
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
0600127 Nguyen Dinh Khiem 153 Hoang Van Thu 4
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
Yêu cầu truy vấn: cho biết điểm lớn nhất trong bảng KETQUA
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
Thực hiệnThực hiện tìmtìm MAXMAX của cáccủa các dòngdòng trên cộttrên cột ĐIỂM THIĐIỂM THI trongtrong
bảng trênbảng trên
( ( Q ))
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (33))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (33))
MAX(πĐiểm thi (KETQUA))
UU
DLDL Các phép toán trên nhóm
Mã sinh viên Họ tên Ngày sinh Địa chỉ Email Điểm thi
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
Mã sinh viên Họ tên Ngày sinh Địa chỉ Email Điểm thi
0600123 Nguyen Cong Phu 11/02/1990 280 An Duong Vuong phunc@hcmup.edu.vn 7
0600124 Han Quoc Viet 31/12/1990
123 Nguyen Thi Minh
Khai viethq@hcmup.edu.vn 8
0600125 Phan Anh Khanh 110 Tran Binh Trong 4
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
0600126 Ly Thanh 123 Truong Dinh 9
0600127 Nguyen Dinh Khiem 153 Hoang Van Thu 4
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
Yêu cầu truy vấn: cho biết SINH VIÊN có điểm lớn nhất trong
bảng KETQUA ???
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
bảng KETQUA ???
B1: ThựcB1: Thực hiệnhiện tìmtìm MAXMAX của cáccủa các dòngdòng trên cộttrên cột ĐIỂM THIĐIỂM THI
trong bảng trên, gọi là DMaxtrong bảng trên, gọi là DMax
B2 Tì i h iê ó điể thi bằ D t bả t êB2 Tì i h iê ó điể thi bằ D t bả t ê
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
DMax MAX(πĐiểm thi (KETQUA))
B2: Tìm sinh viên có điểm thi bằng Dmax trong bảng trênB2: Tìm sinh viên có điểm thi bằng Dmax trong bảng trên
σ
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (44))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (44))
σĐiểm thi=DMax (KETQUA))
UU
DLDL Các phép toán trên nhóm
BẢNG ĐIỂM MÔN CƠ SỞ DỮ LIỆU LỚP SP01 [KETQUA]
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
Mã sinh viên Họ tên Ngày sinh Địa chỉ Email Điểm thi
0600123 Nguyen Cong Phu 11/02/1990 280 An Duong Vuong phunc@hcmup.edu.vn 7
BẢNG ĐIỂM MÔN CƠ SỞ DỮ LIỆU LỚP SP01: [KETQUA]
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
g y g g g p @ p
0600124 Han Quoc Viet 31/12/1990
123 Nguyen Thi Minh
Khai viethq@hcmup.edu.vn 8
0600125 Phan Anh Khanh 110 Tran Binh Trong 4
0600126 Ly Thanh 123 Truong Dinh 9
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
0600127 Nguyen Dinh Khiem 153 Hoang Van Thu 4
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
Yêu cầu truy vấn: cho biết điểm nhỏ nhất trong bảng KETQUA
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
Thực hiệnThực hiện tìmtìm MINMIN của cáccủa các dòngdòng trên cộttrên cột ĐIỂM THIĐIỂM THI trongtrong
bảng trênbảng trên
( ( Q ))
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (55))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (55))
MIN(πĐiểm thi (KETQUA))
UU
DLDL Hàm kết hợp
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
• Nhận vào tập hợp các giá trị và trả về
một giá trị đơn
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
ộ g ị
• AVG(A): A là thuộc tính kiểu số
• MIN(A): A là thuộc tính kiểu số
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
MIN(A): A là thuộc tính kiểu số
• MAX(A): A là thuộc tính kiểu số
• SUM(A): A là thuộc tính kiểu số
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
• SUM(A): A là thuộc tính kiểu số
• COUNT(A): A có kiểu bất kỳ
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (66))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (66))
UU
DLDL
í
Hàm kết hợp
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
• Ví dụ
SUM(B) = 10
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
A B
1
R
3
2
4
SUM(B) 10
AVG(A) = 1.5
MIN(A) = 1
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
1
1
2
2
MIN(A) = 1
MAX(B) = 4
COUNT(A) = 4
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
COUNT(A) = 4
Cho biết lương cao nhất của các nhân viên công ty
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
MAX(πLuong(NHANVIEN))
g g y
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (77))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (77))77
UU
DLDL Phép gom nhóm (T)
Đượ dù để hâ hi hệ thà h hiề
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
•Được dùng để phân chia quan hệ thành nhiều
nhóm dựa trên điều kiện gom nhóm nào đó
•Ký hiệu
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
Ký hiệu
G1, G2, …, Gn TF1(A1), F2(A2), …, Fn(An)(E)
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
–E là biểu thức ĐSQH
–G1, G2, …, Gn là các thuộc tính gom nhóm
–F1, F2, …, Fn là các hàm
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
, , ,
–A1, A2, …, An là các thuộc tính tính toán trong hàm F
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (88))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (88))88
UU
DLDL Phép gom nhóm (tt)SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
•Ví dụ
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
ISUM(C)(R)
A B
α
R
α
2
4
C
7
7 Kết quả
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
α 4
β
γ
2
2
7
3
10
Kết quả
ISUM(C)(R) = 27
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
A SUM(C)
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
AISUM(C)(R) Kết quả α 14
β 3
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (99))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (99))99
γ 10
Đại Học Sư Phạm Tp. Hồ Chí Minh
Khoa Toán – Tin Học
ĐạĐại si sốố quan hquan hệệ
(R l ti l(R l ti l Al bAl b ))(Relational(Relational AlgebraAlgebra))
• Giới thiệu về Đại số quan hệGiới thiệu về Đại số quan hệ
• Các phép toán quan hệ
• BÀI TẬP CÁC PHÉP TOÁN TRÊN NHÓM
• Các thao tác cập nhật trên quan hệ
UU
DLDL
Liệt kê danh sách tên chuyên đề (TENCD) và số lần
Phép gom nhóm
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
Liệt kê danh sách tên chuyên đề (TENCD) và số lần
được mở tương ứng theo từng ngành (TENNGANH)
Chiếu
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
Chiếu
TENNGANH: thuộc quan hệ NGANH
TENCD: thuộc quan hệ CHUYENDE
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
TENCD: thuộc quan hệ CHUYENDE
COUNT(MACD): thuộc quan hệ CD_MO
Kết
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
Kết
NGANH, CD_NGANH, CHUYENDE, CD_MO
MANGANH = MANGANH
CD_NGANH NGANH
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
MACD = MACD
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1111))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1111))1111
MACD = MACD
CD_MOCHUYENDE
UU
DLDL
Liệt kê danh sách tên chuyên đề (TENCD) và số lần
Phép gom nhóm
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
Liệt kê danh sách tên chuyên đề (TENCD) và số lần
được mở tương ứng theo từng ngành (TENNGANH)
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1212))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1212))1212
Đại Học Sư Phạm Tp. Hồ Chí Minh
Khoa Toán – Tin Học
NgNgôôn ngn ngữữ SQLSQL
((Structured Query LanguageStructured Query Language))((Structured Query LanguageStructured Query Language))
• Truy vấn dữ liệu với câu lệnh SELECT
UU
DLDL CÚ PHÁP CÂU LỆNH SELECT
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
SELECT <Danh sách các cột được chọn>
FROM < Danh sách các bảng>
WHERE Điề kiệ h
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
WHERE <Điều kiện chọn>
GROUP BY <Danh sách cột cần nhóm>
HAVING < Điều kiện nhóm>
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
HAVING < Điều kiện nhóm>
ORDER BY < Danh sách cột cần sắp xếp>
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1414))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1414))
UU
DLDL Truy vấn cơ bản (nhắc lại)
Gồ 3 ệ h đề
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
• Gồm 3 mệnh đề
SELECT <danh sách các cột>
FROM <danh sách các bảng>
Tương ứng phép chiếu
T ứ hé tí h
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
<danh sách các cột>
FROM <danh sách các bảng>
WHERE <điều kiện> Tương ứng phép chọn
Tương ứng phép tích
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
– <danh sách các cột>
• Tên các cột cần được hiển thị trong kết quả truy vấn
– <danh sách các bảng>
Tê á bả liê đế â t ấ
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
• Tên các bảng liên quan đến câu truy vấn
– <điều kiện>
• Biểu thức boolean xác định dòng nào sẽ được rút trích
ể
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
• Nối các biểu thức: AND, OR, và NOT
• Phép toán: < , > , ≤ , ≥ , ≠ , =, LIKE và BETWEEN
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1515))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1515))
UU
DLDL Truy vấn cơ bản (nhắc lại)SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
•• SQL và ĐSQHSQL và ĐSQH
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
SELECT <danh sách các cột>
FROM <danh sách các bảng>
π
×
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
FROM <danh sách các bảng>
WHERE <điều kiện>σ
×
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
SELECTSELECT LL
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
FROMFROM RR
WHEREWHERE CC
πL (σC (R))
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1616))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1616))1616
UU
DLDL Các phép toán trên nhóm
BẢNG ĐIỂM MÔN CƠ SỞ DỮ LIỆU LỚP SP01 [KETQUA]
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
Mã sinh viên Họ tên Ngày sinh Địa chỉ Email Điểm thi
0600123 Nguyen Cong Phu 11/02/1990 280 An Duong Vuong phunc@hcmup.edu.vn 7
BẢNG ĐIỂM MÔN CƠ SỞ DỮ LIỆU LỚP SP01: [KETQUA]
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
g y g g g p @ p
0600124 Han Quoc Viet 31/12/1990
123 Nguyen Thi Minh
Khai viethq@hcmup.edu.vn 8
0600125 Phan Anh Khanh 110 Tran Binh Trong 4
0600126 Ly Thanh 123 Truong Dinh 9
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
0600127 Nguyen Dinh Khiem 153 Hoang Van Thu 4
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
Yêu cầu truy vấn: cho biết điểm lớn nhất trong bảng KETQUA
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
Thực hiệnThực hiện tìmtìm MAXMAX của cáccủa các dòngdòng trên cộttrên cột ĐIỂM THIĐIỂM THI trongtrong
bảng trênbảng trên
( ( Q ))
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1717))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1717))
MAX(πĐiểm thi (KETQUA))
UU
DLDL Các phép toán trên nhóm
BẢNG ĐIỂM MÔN CƠ SỞ DỮ LIỆU LỚP SP01 [KETQUA]
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
Mã sinh viên Họ tên Ngày sinh Địa chỉ Email Điểm thi
0600123 Nguyen Cong Phu 11/02/1990 280 An Duong Vuong phunc@hcmup.edu.vn 7
123 Nguyen Thi Minh
BẢNG ĐIỂM MÔN CƠ SỞ DỮ LIỆU LỚP SP01: [KETQUA]
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
0600124 Han Quoc Viet 31/12/1990 Khai viethq@hcmup.edu.vn 8
0600125 Phan Anh Khanh 110 Tran Binh Trong 4
0600126 Ly Thanh 123 Truong Dinh 9
0600127 Nguyen Dinh Khiem 153 Hoang Van Thu 4
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
g y g
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
MAX(πĐiểm thi (KETQUA))
Ngôn ngữ ĐSQL
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
( Điểm thi ( ))
Ngôn ngữ SQL
SELECT MAX(điểm thi)
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1818))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1818))
FROM KETQUA
UU
DLDL Các phép toán trên nhóm
BẢNG ĐIỂM HỌC KỲ CỦA SINH VIÊN: [BANGDIEM]
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
BẢNG ĐIỂM HỌC KỲ CỦA SINH VIÊN: [BANGDIEM]
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
Yêu cầu truy vấn: Tính điểm trung bình của sinh viên
Điểm trung bình = (6*7 5+5*9+4*7+4*6+5*8)/(6+5+4+4+5)Điểm trung bình = (6*7 5+5*9+4*7+4*6+5*8)/(6+5+4+4+5)
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
Điểm trung bình = (6*7.5+5*9+4*7+4*6+5*8)/(6+5+4+4+5)Điểm trung bình = (6*7.5+5*9+4*7+4*6+5*8)/(6+5+4+4+5)
Điểm trung bình =Điểm trung bình = SUMSUM(SoTC*DiemThi)/(SoTC*DiemThi)/SUMSUM(SoTC)(SoTC)
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1919))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1919))
UU
DLDL Các phép toán trên nhóm
BẢNG ĐIỂM HỌC KỲ CỦA SINH VIÊN: [BANGDIEM]
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
BẢNG ĐIỂM HỌC KỲ CỦA SINH VIÊN: [BANGDIEM]
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
Yêu cầu truy vấn: Tính điểm trung bình của sinh viên
Điểm trung bình =Điểm trung bình = SUMSUM(SoTC*DiemThi)/(SoTC*DiemThi)/SUMSUM(SoTC)(SoTC)
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
gg ( )( ) ( )( )
SUM(SoTC*DiemThi)/SUM(SoTC)(BANGDIEM)
Ngôn ngữ ĐSQL
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2020))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2020))
SUM(SoTC*DiemThi)/SUM(SoTC)(BANGDIEM)
UU
DLDL Các phép toán trên nhóm
BẢNG ĐIỂM HỌC KỲ CỦA SINH VIÊN: [BANGDIEM]
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
BẢNG ĐIỂM HỌC KỲ CỦA SINH VIÊN: [BANGDIEM]
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
Yêu cầu truy vấn: Tính điểm trung bình của sinh viên
Ngôn ngữ SQL
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
SELECT SUM(SoTC*DiemThi)/SUM(SoTC)
FROM BANGDIEM
Ngôn ngữ SQL
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2121))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2121))
FROM BANGDIEM
UU
DLDL Các phép toán trên nhóm
BẢNG ĐIỂM HỌC KỲ CỦA SINH VIÊN: [BANGDIEM]
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
Yêu cầu truy vấn: Tính điểm trung bình của sinh viên
BẢNG ĐIỂM HỌC KỲ CỦA SINH VIÊN: [BANGDIEM]
Ngôn ngữ SQL
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
Ngôn ngữ SQL
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
ếế ấấ
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
KếtKết quả truy vấnquả truy vấn
[No column name][No column name]
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2222))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2222))
UU
DLDL Các phép toán trên nhóm
BẢNG ĐIỂM HỌC KỲ CỦA SINH VIÊN: [BANGDIEM]
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
Yêu cầu truy vấn: Tính điểm trung bình của sinh viên
BẢNG ĐIỂM HỌC KỲ CỦA SINH VIÊN: [BANGDIEM]
Ngôn ngữ SQL
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
Ngôn ngữ SQL
GánGán ALIASALIAS
cho kết quả truy vấn làcho kết quả truy vấn là
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
cho kết quả truy vấn làcho kết quả truy vấn là
DTBDTB
KếtKết quả truy vấnquả truy vấn
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
KếtKết quả truy vấnquả truy vấn
với tên cột làvới tên cột là
DTBDTB
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2323))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2323))
UU
DLDL Hàm gộpSỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
• COUNT
– COUNT(*) đếm số dòng
COUNT(<tên thuộc tính>) đếm số giá trị khác
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
– COUNT(<tên thuộc tính>) đếm số giá trị khác
NULL của thuộc tính
– COUNT(DISTINCT <tên thuộc tính>) đếm số
iá t ị khá h à khá NULL ủ th ộ tí h
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
giá trị khác nhau và khác NULL của thuộc tính
• MIN
• MAX
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
• MAX
• SUM
• AVG
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
• AVG
• Các hàm kết hợp được đặt ở mệnh đề
SELECT
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2424))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2424))
UU
DLDL Các phép toán trên nhóm
BẢNG ĐIỂM HỌC KỲ CỦA LỚP SP1: [BANGDIEM1]
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
BẢNG ĐIỂM HỌC KỲ CỦA LỚP SP1: [BANGDIEM1]
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
Yêu cầu truy vấn: Tính điểm trung bình của từng sinh viên ???
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2525))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2525))
Yêu cầu truy vấn: Tính điểm trung bình của từng sinh viên ???
UU
DLDL Gom nhóm
ú á
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
• Cú pháp
SELECT <danh sách các cột>
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
SELECT <danh sách các cột>
FROM <danh sách các bảng>
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
WHERE <điều kiện>
GROUP BY <danh sách các cột gom nhóm>
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
• Sau khi gom nhóm thì kết quả là
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
– Nhóm các bộ có cùng giá trị tại các
thuộc tính gom nhóm, sau đó thực hiện
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2626))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2626))
các phép toán trên nhóm (Max, Min,…)
UU
DLDL Phép gom nhóm (tt)
Ví d
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
•Ví dụ
ISUM(C)(R)
A BR C
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
α
α
2
4
β 2
7
7
3
Kết quả
I (R) 27
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
β
γ
2
2
3
10
ISUM(C)(R) = 27
SELECT SUM(C)
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
SELECT SUM(C)
FROM R
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2727))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2727))
UU
DLDL Phép gom nhóm (tt)
Ví d
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
•Ví dụ
A BR C
AISUM(C)(R) Kết quả
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
α
α
2
4
β 2
7
7
3
A SUM(C)
α 14
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
β
γ
2
2
3
10 β 3
γ 10
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
SELECT A, SUM(C)
FROM R
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
FROM R
GROUP BY A
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2828))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2828))
UU
DLDL Các phép toán trên nhóm
BẢNG ĐIỂM HỌC KỲ CỦA LỚP SP1: [BANGDIEM1]
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
BẢNG ĐIỂM HỌC KỲ CỦA LỚP SP1: [BANGDIEM1]
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
Yêu cầu truy vấn: Tính điểm trung bình của sinh viên
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2929))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2929))
Yêu cầu truy vấn: Tính điểm trung bình của sinh viên
UU
DLDL Các phép toán trên nhóm
BẢNG ĐIỂM HỌC KỲ CỦA LỚP SP1: [BANGDIEM1]
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
BẢNG ĐIỂM HỌC KỲ CỦA LỚP SP1: [BANGDIEM1]
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
Yêu cầu truy vấn: Tính điểm trung bình của sinh viên
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3030))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3030))
UU
DLDL
Yê ầ t ấ Tí h điể t bì h ủ i h iê
Các phép toán trên nhómSỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
Yêu cầu truy vấn: Tính điểm trung bình của sinh viên
Bước 1: gom nhóm điểm theo từng sinh viênBước 1: gom nhóm điểm theo từng sinh viên
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
Bước 2: tính điểm trung bình của mỗi sinh viênBước 2: tính điểm trung bình của mỗi sinh viên
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
Điểm trung bình của SV =Điểm trung bình của SV = SUMSUM(SoTC*DiemThi)/(SoTC*DiemThi)/SUMSUM(SoTC)(SoTC)
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3131))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3131))
Điểm trung bình của SV =Điểm trung bình của SV = SUMSUM(SoTC*DiemThi)/(SoTC*DiemThi)/SUMSUM(SoTC)(SoTC)
UU
DLDL Các phép toán trên nhóm
BẢNG ĐIỂM HỌC KỲ CỦA LỚP SP01: [BANGDIEM1]
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
Yêu cầu truy vấn: Tính điểm trung bình của sinh viên
BẢNG ĐIỂM HỌC KỲ CỦA LỚP SP01: [BANGDIEM1]
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
Ngôn ngữ đại số quan hệ
MaSV HoTen I (B Di 1)
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
MaSV, HoTen, ISUM(SoTC*DiemThi)/SUM(SoTC) (BangDiem1)
Ngôn ngữ SQL
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
SELECT MaSV, HoTen, SUM(SoTC*DiemThi)/SUM(SoTC) AS DTB
FROM BangDiem1
GROUP BY
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3232))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3232))
GROUP BY MaSV, HoTen
UU
DLDL Các phép toán trên nhóm
BẢNG ĐIỂM HỌC KỲ CỦA LỚP SP01: [BANGDIEM1]
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
Yêu cầu truy vấn: Tính điểm trung bình của sinh viên
BẢNG ĐIỂM HỌC KỲ CỦA LỚP SP01: [BANGDIEM1]
Ngôn ngữ SQL
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
Ngôn ngữ SQL
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
KếtKết quả truy vấnquả truy vấn
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3333))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3333))
UU
DLDL Các phép toán trên nhóm
BẢNG ĐIỂM HỌC KỲ CỦA LỚP SP01: [BANGDIEM1]
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
BẢNG ĐIỂM HỌC KỲ CỦA LỚP SP01: [BANGDIEM1]
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
KếtKết quả truy vấn chỉ cóquả truy vấn chỉ có
sinh viênsinh viên Han Quoc VietHan Quoc Viet vớivới
DTB = 8DTB = 8
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
Chọn những dòng trong kết quả phépChọn những dòng trong kết quả phép GOM NHÓMGOM NHÓM thỏathỏa
ềề
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
Yêu cầu truy vấn: Tìm sinh viên có điểm trung bình lớn hơn 7
mãn điều kiệnmãn điều kiện DTB>7DTB>7
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3434))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3434))
Yêu cầu truy vấn: Tìm sinh viên có điểm trung bình lớn hơn 7
???
UU
DLDL Các phép toán trên nhóm
BẢNG ĐIỂM HỌC KỲ CỦA LỚP SP01: [BANGDIEM1]
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
Yêu cầu truy vấn: Tìm sinh viên có điểm trung bình lớn hơn 7
???
BẢNG ĐIỂM HỌC KỲ CỦA LỚP SP01: [BANGDIEM1]
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
SELECT M SV H T
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
SELECT MaSV, HoTen,
SUM(SoTC*DiemThi)/SUM(SoTC) AS DTB
FROM BangDiem1
WHERE DTB 7
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
WHERE DTB > 7
GROUP BY MaSV, HoTen
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3535))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3535))
UU
DLDL Các phép toán trên nhóm
BẢNG ĐIỂM HỌC KỲ CỦA LỚP SP01: [BANGDIEM1]
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
Yêu cầu truy vấn: Tìm sinh viên có điểm trung bình lớn hơn 7
???
BẢNG ĐIỂM HỌC KỲ CỦA LỚP SP01: [BANGDIEM1]
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
SELECT M SV H T
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
SELECT MaSV, HoTen,
SUM(SoTC*DiemThi)/SUM(SoTC) AS DTB
FROM BangDiem1
WHERE
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
WHERE SUM(SoTC*DiemThi)/SUM(SoTC) > 7
GROUP BY MaSV, HoTen
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3636))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3636))
UU
DLDL Điều kiện trên nhóm
Cú há
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
• Cú pháp
SELECT <danh sách các cột>
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
FROM <danh sách các bảng>
WHERE <điều kiện chọn trên bảng>
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
WHERE <điều kiện chọn trên bảng>
GROUP BY <danh sách các cột gom nhóm>
HAVING <điều kiện trên nhóm>
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
HAVING <điều kiện trên nhóm>
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3737))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3737))
UU
DLDL Các phép toán trên nhóm
BẢNG ĐIỂM HỌC KỲ CỦA LỚP SP01: [BANGDIEM1]
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
Yêu cầu truy vấn: Tìm sinh viên có điểm trung bình lớn hơn 7
BẢNG ĐIỂM HỌC KỲ CỦA LỚP SP01: [BANGDIEM1]
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
Điều kiện trên nhómĐiều kiện trên nhóm
(HAVING)(HAVING)
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
KếtKết quả truy vấn chỉ cóquả truy vấn chỉ có
sinh viênsinh viên Han Quoc VietHan Quoc Viet vớivới
DTB 8DTB 8
( )( )
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
DTB = 8DTB = 8
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3838))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3838))
UU
DLDL Các phép toán trên nhóm
BẢNG ĐIỂM HỌC KỲ CỦA LỚP SP01: [BANGDIEM1]
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
Yêu cầu truy vấn: Tìm sinh viên có điểm trung bình lớn hơn 7
BẢNG ĐIỂM HỌC KỲ CỦA LỚP SP01: [BANGDIEM1]
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
SELECT MaSV, HoTen,
SUM(SoTC*DiemThi)/SUM(SoTC) AS DTB
FROM BangDiem1
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
FROM BangDiem1
GROUP BY MaSV, HoTen
HAVING DTB > 7
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3939))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3939))
UU
DLDL Nhận xét
Mệ h đề GROUP BY
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
• Mệnh đề GROUP BY
– Các thuộc tính trong mệnh đề SELECT (trừ
những thuộc tính trong các hàm kết hợp) phải
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
những thuộc tính trong các hàm kết hợp) phải
xuất hiện trong mệnh đề GROUP BY
• Mệnh đề HAVING
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
ệ
– Sử dụng các hàm kết hợp trong mệnh đề
SELECT để kiểm tra một số điều kiện nào đó
ể
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
– Chỉ kiểm tra điều kiện trên nhóm, không là điều
kiện lọc trên từng bộ
– Sau khi gom nhóm thì điều kiện trên nhóm mới
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
Sau khi gom nhóm thì điều kiện trên nhóm mới
được thực hiện
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4040))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4040))
UU
DLDL Nhận xét (tt)
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
• Thứ tự thực hiện câu truy vấn có mệnh đề
GROUP BY và HAVING
ữ ò ỏ ề ệ ệ
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
– (1) Chọn ra những dòng thỏa điều kiện trong mệnh
đề WHERE
– (2) Những dòng này sẽ được gom thành nhiều nhóm
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
(2) Những dòng này sẽ được gom thành nhiều nhóm
tương ứng với mệnh đề GROUP BY
– (3) Áp dụng các hàm kết hợp cho mỗi nhóm
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
– (4) Bỏ qua những nhóm không thỏa điều kiện trong
mệnh đề HAVING
(5) Rút trích các giá trị của các cột và hàm kết hợp
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
– (5) Rút trích các giá trị của các cột và hàm kết hợp
trong mệnh đề SELECT
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4141))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4141))4141
UU
DLDL Mệnh đề ORDER BY
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
• Dùng để hiển thị kết quả câu truy vấn theo một
thứ tự nào đó (sắp xếp kết quả hiển thị)
Cú há
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
• Cú pháp
SELECT <danh sách các cột>
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
FROM <danh sách các bảng>
WHERE <điều kiện>
á á ộ
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
– ASC : sắp xếp tăng (mặc định)
ORDER BY <danh sách các cột>
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
– DESC : sắp xếp giảm
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4242))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4242))4242
UU
DLDL Mệnh đề ORDER BY (tt)
BẢNG ĐIỂM MÔN CƠ SỞ DỮ LIỆU LỚP SP01 [KETQUA]
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
Mã sinh viên Họ tên Ngày sinh Địa chỉ Email Điểm thi
0600123 Nguyen Cong Phu 11/02/1990 280 An Duong Vuong phunc@hcmup.edu.vn 7
123 Nguyen Thi Minh
BẢNG ĐIỂM MÔN CƠ SỞ DỮ LIỆU LỚP SP01: [KETQUA]
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
0600124 Han Quoc Viet 31/12/1990
123 Nguyen Thi Minh
Khai viethq@hcmup.edu.vn 8
0600125 Phan Anh Khanh 110 Tran Binh Trong 4
0600126 Ly Thanh 123 Truong Dinh 9
0600127 Nguyen Dinh Khiem 153 Hoang Van Thu 4
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
0600127 Nguyen Dinh Khiem 153 Hoang Van Thu 4
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
Yêu cầu truy vấn: In bảng điểm môn CSDL lớp SP01 theo thứ tự
tăng dần của điểm thi
Ngôn ngữ SQL
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
SELECT *
FROM KetQua
Ngôn ngữ SQL
SELECT *
FROM KetQua
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4343))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4343))
FROM KetQua
ORDER BY [Điểm thi]
FROM KetQua
ORDER BY [Điểm thi] ASC
UU
DLDL Mệnh đề ORDER BY (tt)
Yêu cầu truy vấn: In bảng điểm môn CSDL lớp SP01 theo thứ tự
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
Yêu cầu truy vấn: In bảng điểm môn CSDL lớp SP01 theo thứ tự
tăng dần của điểm thi
Ngôn ngữ SQL
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
SELECT *
FROM KetQua
ORDER BY [Điể thi]
SELECT *
FROM KetQua
ORDER BY [Điể thi] ASC
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
ORDER BY [Điểm thi] ORDER BY [Điểm thi] ASC
KẾT QUẢ TRUY VẤN
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
Mã sinh viên Họ tên Ngày sinh Địa chỉ Email Điểm thi
0600125 Phan Anh Khanh 110 Tran Binh Trong 4
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
0600127 Nguyen Dinh Khiem 153 Hoang Van Thu 4
0600123 Nguyen Cong Phu 11/02/1990 280 An Duong Vuong phunc@hcmup.edu.vn 7
0600124 Han Quoc Viet 31/12/1990
123 Nguyen Thi Minh
Khai viethq@hcmup.edu.vn 8
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4444))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4444))
0600126 Ly Thanh 123 Truong Dinh 9
UU
DLDL Mệnh đề ORDER BY (tt)
BẢNG ĐIỂM MÔN CƠ SỞ DỮ LIỆU LỚP SP01 [KETQUA]
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
Mã sinh viên Họ tên Ngày sinh Địa chỉ Email Điểm thi
0600123 Nguyen Cong Phu 11/02/1990 280 An Duong Vuong phunc@hcmup.edu.vn 7
0600124 Han Quoc Viet 31/12/1990 123 Nguyen Thi Minh Khai viethq@hcmup edu vn 8
BẢNG ĐIỂM MÔN CƠ SỞ DỮ LIỆU LỚP SP01: [KETQUA]
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
0600124 Han Quoc Viet 31/12/1990 123 Nguyen Thi Minh Khai viethq@hcmup.edu.vn 8
0600125 Phan Anh Khanh 110 Tran Binh Trong 4
0600126 Ly Thanh 123 Truong Dinh 9
0600127 Nguyen Dinh Khiem 153 Hoang Van Thu 4
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
ầ ấ ả ể
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
Yêu cầu truy vấn: In bảng điểm môn CSDL lớp SP01 theo thứ tự
tăng dần của điểm thi (trong trường hợp có 2 sinh viên cùng
điểm thì sắp xếp theo thứ tự giảm dần theo mã sinh viên)
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
Ngôn ngữ SQL
SELECT *
FROM KetQua
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4545))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4545))
FROM KetQua
ORDER BY [Điểm thi] ASC, [Mã sinh viên] DESC
UU
DLDL Mệnh đề ORDER BY (tt)
Yêu cầu truy vấn: In bảng điểm môn CSDL lớp SP01 theo thứ tự
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
Yêu cầu truy vấn: In bảng điểm môn CSDL lớp SP01 theo thứ tự
tăng dần của điểm thi (trong trường hợp có 2 sinh viên cùng
điểm thì sắp xếp theo thứ tự giảm dần theo mã sinh viên)
N ô ữ SQL
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
Ngôn ngữ SQL
SELECT *
FROM KetQua
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
O etQua
ORDER BY [Điểm thi] ASC, [Mã sinh viên] DESC
KẾT QUẢ TRUY VẤN
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
Mã sinh viên Họ tên Ngày sinh Địa chỉ Email Điểm thi
0600127 Nguyen Dinh Khiem 153 Hoang Van Thu 4
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
0600125 Phan Anh Khanh 110 Tran Binh Trong 4
0600123 Nguyen Cong Phu 11/02/1990 280 An Duong Vuong phunc@hcmup.edu.vn 7
0600124 Han Quoc Viet 31/12/1990
123 Nguyen Thi Minh
Khai viethq@hcmup.edu.vn 8
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4646))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4646))
Q q@ p
0600126 Ly Thanh 123 Truong Dinh 9
UU
DLDL QUI TRÌNH XỬ LÝ CÂU LỆNH SELECT
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
SELECT Col1,Col2,Col3,..ColN (1)(1)
FROM TableA, TableB,… (2)(2)
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
, , ( )( )
WHERE DK1 AND DK2 AND DK3 (3)(3)
GROUP BY ColA, ColB, ColC (4)(4)
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
HAVING DKG1 AND DKG2 AND… (5)(5)
ORDER BY ColX, ColY, ColZ,… (6)(6)
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
(2) (3) (4) (5) (6) (1)
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
(2) (3) (4) (5) (6) (1)
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4747))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4747))4747
UU
DLDL QUI TRÌNH XỬ LÝ CÂU LỆNH SELECT
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
CSDL
FROM
Tập kết quả 1
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
WHERE
Tập kết quả 2
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
Tập kết quả 3
GROUP BY
ập q
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
Tập kết quả 3
HAVING
Tập kết quả 4
SELECT
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
ORDER BY
Tập kết quả 4
Tập kết q ả 5
KẾT QUẢ
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4848))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4848))4848
Tập kết quả 5 CUỐI CÙNG
Đại Học Sư Phạm Tp. Hồ Chí Minh
Khoa Toán – Tin Học
NgNgôôn ngn ngữữ SQLSQL
((Structured Query LanguageStructured Query Language))((Structured Query LanguageStructured Query Language))
Bài tập truy vấn dữ liệu với các phép toán trên nhóm
(SELECT …FROM …WHERE…GROUP BY….HAVING)
UU
DLDL
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (5050))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (5050)) 50

More Related Content

Viewers also liked

Cơ sở dữ liệu đại học
Cơ sở dữ liệu đại họcCơ sở dữ liệu đại học
Cơ sở dữ liệu đại học
Chu TheKop
 
Creating an Interactive Content Strategy that Works with Technology
Creating an Interactive Content Strategy that Works with TechnologyCreating an Interactive Content Strategy that Works with Technology
Creating an Interactive Content Strategy that Works with Technology
ion interactive
 

Viewers also liked (10)

Giaotrinhaccess
GiaotrinhaccessGiaotrinhaccess
Giaotrinhaccess
 
để Có một bức thư xin việc và cv
để Có một bức thư xin việc và cvđể Có một bức thư xin việc và cv
để Có một bức thư xin việc và cv
 
Cơ sở dữ liệu đại học
Cơ sở dữ liệu đại họcCơ sở dữ liệu đại học
Cơ sở dữ liệu đại học
 
Craigslist Code Words: Do You Know What They Really Mean?
Craigslist Code Words: Do You Know What They Really Mean?Craigslist Code Words: Do You Know What They Really Mean?
Craigslist Code Words: Do You Know What They Really Mean?
 
Hacking the Web
Hacking the WebHacking the Web
Hacking the Web
 
The Secrets of Delivering Impacftul Presentations #ImpactfulPrez
The Secrets of Delivering Impacftul Presentations #ImpactfulPrezThe Secrets of Delivering Impacftul Presentations #ImpactfulPrez
The Secrets of Delivering Impacftul Presentations #ImpactfulPrez
 
Creating HTML Pages
Creating HTML PagesCreating HTML Pages
Creating HTML Pages
 
Creating an Interactive Content Strategy that Works with Technology
Creating an Interactive Content Strategy that Works with TechnologyCreating an Interactive Content Strategy that Works with Technology
Creating an Interactive Content Strategy that Works with Technology
 
Introduction to Information Architecture
Introduction to Information ArchitectureIntroduction to Information Architecture
Introduction to Information Architecture
 
Connecting With the Disconnected
Connecting With the DisconnectedConnecting With the Disconnected
Connecting With the Disconnected
 

More from Tôn Thất Kỳ (9)

Db 11
Db 11Db 11
Db 11
 
Db 10
Db 10Db 10
Db 10
 
Db 09
Db 09Db 09
Db 09
 
Db 08
Db 08Db 08
Db 08
 
Db 03
Db 03Db 03
Db 03
 
Db 02
Db 02Db 02
Db 02
 
Db 00
Db 00Db 00
Db 00
 
Db 01
Db 01Db 01
Db 01
 
Convert psd to html5
Convert psd to html5Convert psd to html5
Convert psd to html5
 

Db 05

  • 1. Đại Học Sư Phạm Tp. Hồ Chí Minh Khoa Toán – Tin Học TRUY VẤN DỮ LIỆUTRUY VẤN DỮ LIỆU • Đại số quan hệ • Ngôn ngữ SQL• Ngôn ngữ SQL
  • 2. Đại Học Sư Phạm Tp. Hồ Chí Minh Khoa Toán – Tin Học ĐạĐại si sốố quan hquan hệệ (Relational(Relational AlgebraAlgebra)) • Giới thiệu về Đại số quan hệGiới thiệu về Đại số quan hệ • Các phép toán quan hệ • Các phép toán trên nhóm • Các thao tác cập nhật trên quan hệ
  • 3. UU DLDL Các phép toán trên nhóm BẢNG ĐIỂM MÔN CƠ SỞ DỮ LIỆU LỚP SP01 [KETQUA] SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD Mã sinh viên Họ tên Ngày sinh Địa chỉ Email Điểm thi 0600123 Nguyen Cong Phu 11/02/1990 280 An Duong Vuong phunc@hcmup.edu.vn 7 BẢNG ĐIỂM MÔN CƠ SỞ DỮ LIỆU LỚP SP01: [KETQUA] NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR g y g g g p @ p 0600124 Han Quoc Viet 31/12/1990 123 Nguyen Thi Minh Khai viethq@hcmup.edu.vn 8 0600125 Phan Anh Khanh 110 Tran Binh Trong 4 0600126 Ly Thanh 123 Truong Dinh 9 HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA 0600127 Nguyen Dinh Khiem 153 Hoang Van Thu 4 NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH Yêu cầu truy vấn: cho biết điểm lớn nhất trong bảng KETQUA BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ Thực hiệnThực hiện tìmtìm MAXMAX của cáccủa các dòngdòng trên cộttrên cột ĐIỂM THIĐIỂM THI trongtrong bảng trênbảng trên ( ( Q )) TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (33))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (33)) MAX(πĐiểm thi (KETQUA))
  • 4. UU DLDL Các phép toán trên nhóm Mã sinh viên Họ tên Ngày sinh Địa chỉ Email Điểm thi SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD Mã sinh viên Họ tên Ngày sinh Địa chỉ Email Điểm thi 0600123 Nguyen Cong Phu 11/02/1990 280 An Duong Vuong phunc@hcmup.edu.vn 7 0600124 Han Quoc Viet 31/12/1990 123 Nguyen Thi Minh Khai viethq@hcmup.edu.vn 8 0600125 Phan Anh Khanh 110 Tran Binh Trong 4 NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR 0600126 Ly Thanh 123 Truong Dinh 9 0600127 Nguyen Dinh Khiem 153 Hoang Van Thu 4 HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA Yêu cầu truy vấn: cho biết SINH VIÊN có điểm lớn nhất trong bảng KETQUA ??? NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH bảng KETQUA ??? B1: ThựcB1: Thực hiệnhiện tìmtìm MAXMAX của cáccủa các dòngdòng trên cộttrên cột ĐIỂM THIĐIỂM THI trong bảng trên, gọi là DMaxtrong bảng trên, gọi là DMax B2 Tì i h iê ó điể thi bằ D t bả t êB2 Tì i h iê ó điể thi bằ D t bả t ê BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ DMax MAX(πĐiểm thi (KETQUA)) B2: Tìm sinh viên có điểm thi bằng Dmax trong bảng trênB2: Tìm sinh viên có điểm thi bằng Dmax trong bảng trên σ TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (44))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (44)) σĐiểm thi=DMax (KETQUA))
  • 5. UU DLDL Các phép toán trên nhóm BẢNG ĐIỂM MÔN CƠ SỞ DỮ LIỆU LỚP SP01 [KETQUA] SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD Mã sinh viên Họ tên Ngày sinh Địa chỉ Email Điểm thi 0600123 Nguyen Cong Phu 11/02/1990 280 An Duong Vuong phunc@hcmup.edu.vn 7 BẢNG ĐIỂM MÔN CƠ SỞ DỮ LIỆU LỚP SP01: [KETQUA] NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR g y g g g p @ p 0600124 Han Quoc Viet 31/12/1990 123 Nguyen Thi Minh Khai viethq@hcmup.edu.vn 8 0600125 Phan Anh Khanh 110 Tran Binh Trong 4 0600126 Ly Thanh 123 Truong Dinh 9 HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA 0600127 Nguyen Dinh Khiem 153 Hoang Van Thu 4 NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH Yêu cầu truy vấn: cho biết điểm nhỏ nhất trong bảng KETQUA BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ Thực hiệnThực hiện tìmtìm MINMIN của cáccủa các dòngdòng trên cộttrên cột ĐIỂM THIĐIỂM THI trongtrong bảng trênbảng trên ( ( Q )) TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (55))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (55)) MIN(πĐiểm thi (KETQUA))
  • 6. UU DLDL Hàm kết hợp SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD • Nhận vào tập hợp các giá trị và trả về một giá trị đơn NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR ộ g ị • AVG(A): A là thuộc tính kiểu số • MIN(A): A là thuộc tính kiểu số HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA MIN(A): A là thuộc tính kiểu số • MAX(A): A là thuộc tính kiểu số • SUM(A): A là thuộc tính kiểu số NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH • SUM(A): A là thuộc tính kiểu số • COUNT(A): A có kiểu bất kỳ BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (66))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (66))
  • 7. UU DLDL í Hàm kết hợp SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD • Ví dụ SUM(B) = 10 NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR A B 1 R 3 2 4 SUM(B) 10 AVG(A) = 1.5 MIN(A) = 1 HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA 1 1 2 2 MIN(A) = 1 MAX(B) = 4 COUNT(A) = 4 NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH COUNT(A) = 4 Cho biết lương cao nhất của các nhân viên công ty BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ MAX(πLuong(NHANVIEN)) g g y TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (77))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (77))77
  • 8. UU DLDL Phép gom nhóm (T) Đượ dù để hâ hi hệ thà h hiề SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD •Được dùng để phân chia quan hệ thành nhiều nhóm dựa trên điều kiện gom nhóm nào đó •Ký hiệu NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR Ký hiệu G1, G2, …, Gn TF1(A1), F2(A2), …, Fn(An)(E) HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA –E là biểu thức ĐSQH –G1, G2, …, Gn là các thuộc tính gom nhóm –F1, F2, …, Fn là các hàm NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH , , , –A1, A2, …, An là các thuộc tính tính toán trong hàm F BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (88))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (88))88
  • 9. UU DLDL Phép gom nhóm (tt)SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD •Ví dụ NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR ISUM(C)(R) A B α R α 2 4 C 7 7 Kết quả HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA α 4 β γ 2 2 7 3 10 Kết quả ISUM(C)(R) = 27 NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH A SUM(C) BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ AISUM(C)(R) Kết quả α 14 β 3 TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (99))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (99))99 γ 10
  • 10. Đại Học Sư Phạm Tp. Hồ Chí Minh Khoa Toán – Tin Học ĐạĐại si sốố quan hquan hệệ (R l ti l(R l ti l Al bAl b ))(Relational(Relational AlgebraAlgebra)) • Giới thiệu về Đại số quan hệGiới thiệu về Đại số quan hệ • Các phép toán quan hệ • BÀI TẬP CÁC PHÉP TOÁN TRÊN NHÓM • Các thao tác cập nhật trên quan hệ
  • 11. UU DLDL Liệt kê danh sách tên chuyên đề (TENCD) và số lần Phép gom nhóm SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD Liệt kê danh sách tên chuyên đề (TENCD) và số lần được mở tương ứng theo từng ngành (TENNGANH) Chiếu NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR Chiếu TENNGANH: thuộc quan hệ NGANH TENCD: thuộc quan hệ CHUYENDE HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA TENCD: thuộc quan hệ CHUYENDE COUNT(MACD): thuộc quan hệ CD_MO Kết NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH Kết NGANH, CD_NGANH, CHUYENDE, CD_MO MANGANH = MANGANH CD_NGANH NGANH BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ MACD = MACD TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1111))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1111))1111 MACD = MACD CD_MOCHUYENDE
  • 12. UU DLDL Liệt kê danh sách tên chuyên đề (TENCD) và số lần Phép gom nhóm SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD Liệt kê danh sách tên chuyên đề (TENCD) và số lần được mở tương ứng theo từng ngành (TENNGANH) NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1212))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1212))1212
  • 13. Đại Học Sư Phạm Tp. Hồ Chí Minh Khoa Toán – Tin Học NgNgôôn ngn ngữữ SQLSQL ((Structured Query LanguageStructured Query Language))((Structured Query LanguageStructured Query Language)) • Truy vấn dữ liệu với câu lệnh SELECT
  • 14. UU DLDL CÚ PHÁP CÂU LỆNH SELECT SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD SELECT <Danh sách các cột được chọn> FROM < Danh sách các bảng> WHERE Điề kiệ h NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR WHERE <Điều kiện chọn> GROUP BY <Danh sách cột cần nhóm> HAVING < Điều kiện nhóm> HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA HAVING < Điều kiện nhóm> ORDER BY < Danh sách cột cần sắp xếp> NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1414))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1414))
  • 15. UU DLDL Truy vấn cơ bản (nhắc lại) Gồ 3 ệ h đề SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD • Gồm 3 mệnh đề SELECT <danh sách các cột> FROM <danh sách các bảng> Tương ứng phép chiếu T ứ hé tí h NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR <danh sách các cột> FROM <danh sách các bảng> WHERE <điều kiện> Tương ứng phép chọn Tương ứng phép tích HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA – <danh sách các cột> • Tên các cột cần được hiển thị trong kết quả truy vấn – <danh sách các bảng> Tê á bả liê đế â t ấ NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH • Tên các bảng liên quan đến câu truy vấn – <điều kiện> • Biểu thức boolean xác định dòng nào sẽ được rút trích ể BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ • Nối các biểu thức: AND, OR, và NOT • Phép toán: < , > , ≤ , ≥ , ≠ , =, LIKE và BETWEEN TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1515))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1515))
  • 16. UU DLDL Truy vấn cơ bản (nhắc lại)SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD •• SQL và ĐSQHSQL và ĐSQH NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR SELECT <danh sách các cột> FROM <danh sách các bảng> π × HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA FROM <danh sách các bảng> WHERE <điều kiện>σ × NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH SELECTSELECT LL BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ FROMFROM RR WHEREWHERE CC πL (σC (R)) TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1616))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1616))1616
  • 17. UU DLDL Các phép toán trên nhóm BẢNG ĐIỂM MÔN CƠ SỞ DỮ LIỆU LỚP SP01 [KETQUA] SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD Mã sinh viên Họ tên Ngày sinh Địa chỉ Email Điểm thi 0600123 Nguyen Cong Phu 11/02/1990 280 An Duong Vuong phunc@hcmup.edu.vn 7 BẢNG ĐIỂM MÔN CƠ SỞ DỮ LIỆU LỚP SP01: [KETQUA] NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR g y g g g p @ p 0600124 Han Quoc Viet 31/12/1990 123 Nguyen Thi Minh Khai viethq@hcmup.edu.vn 8 0600125 Phan Anh Khanh 110 Tran Binh Trong 4 0600126 Ly Thanh 123 Truong Dinh 9 HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA 0600127 Nguyen Dinh Khiem 153 Hoang Van Thu 4 NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH Yêu cầu truy vấn: cho biết điểm lớn nhất trong bảng KETQUA BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ Thực hiệnThực hiện tìmtìm MAXMAX của cáccủa các dòngdòng trên cộttrên cột ĐIỂM THIĐIỂM THI trongtrong bảng trênbảng trên ( ( Q )) TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1717))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1717)) MAX(πĐiểm thi (KETQUA))
  • 18. UU DLDL Các phép toán trên nhóm BẢNG ĐIỂM MÔN CƠ SỞ DỮ LIỆU LỚP SP01 [KETQUA] SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD Mã sinh viên Họ tên Ngày sinh Địa chỉ Email Điểm thi 0600123 Nguyen Cong Phu 11/02/1990 280 An Duong Vuong phunc@hcmup.edu.vn 7 123 Nguyen Thi Minh BẢNG ĐIỂM MÔN CƠ SỞ DỮ LIỆU LỚP SP01: [KETQUA] NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR 0600124 Han Quoc Viet 31/12/1990 Khai viethq@hcmup.edu.vn 8 0600125 Phan Anh Khanh 110 Tran Binh Trong 4 0600126 Ly Thanh 123 Truong Dinh 9 0600127 Nguyen Dinh Khiem 153 Hoang Van Thu 4 HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA g y g NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH MAX(πĐiểm thi (KETQUA)) Ngôn ngữ ĐSQL BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ ( Điểm thi ( )) Ngôn ngữ SQL SELECT MAX(điểm thi) TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1818))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1818)) FROM KETQUA
  • 19. UU DLDL Các phép toán trên nhóm BẢNG ĐIỂM HỌC KỲ CỦA SINH VIÊN: [BANGDIEM] SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD BẢNG ĐIỂM HỌC KỲ CỦA SINH VIÊN: [BANGDIEM] NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH Yêu cầu truy vấn: Tính điểm trung bình của sinh viên Điểm trung bình = (6*7 5+5*9+4*7+4*6+5*8)/(6+5+4+4+5)Điểm trung bình = (6*7 5+5*9+4*7+4*6+5*8)/(6+5+4+4+5) BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ Điểm trung bình = (6*7.5+5*9+4*7+4*6+5*8)/(6+5+4+4+5)Điểm trung bình = (6*7.5+5*9+4*7+4*6+5*8)/(6+5+4+4+5) Điểm trung bình =Điểm trung bình = SUMSUM(SoTC*DiemThi)/(SoTC*DiemThi)/SUMSUM(SoTC)(SoTC) TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1919))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1919))
  • 20. UU DLDL Các phép toán trên nhóm BẢNG ĐIỂM HỌC KỲ CỦA SINH VIÊN: [BANGDIEM] SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD BẢNG ĐIỂM HỌC KỲ CỦA SINH VIÊN: [BANGDIEM] NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH Yêu cầu truy vấn: Tính điểm trung bình của sinh viên Điểm trung bình =Điểm trung bình = SUMSUM(SoTC*DiemThi)/(SoTC*DiemThi)/SUMSUM(SoTC)(SoTC) BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ gg ( )( ) ( )( ) SUM(SoTC*DiemThi)/SUM(SoTC)(BANGDIEM) Ngôn ngữ ĐSQL TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2020))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2020)) SUM(SoTC*DiemThi)/SUM(SoTC)(BANGDIEM)
  • 21. UU DLDL Các phép toán trên nhóm BẢNG ĐIỂM HỌC KỲ CỦA SINH VIÊN: [BANGDIEM] SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD BẢNG ĐIỂM HỌC KỲ CỦA SINH VIÊN: [BANGDIEM] NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH Yêu cầu truy vấn: Tính điểm trung bình của sinh viên Ngôn ngữ SQL BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ SELECT SUM(SoTC*DiemThi)/SUM(SoTC) FROM BANGDIEM Ngôn ngữ SQL TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2121))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2121)) FROM BANGDIEM
  • 22. UU DLDL Các phép toán trên nhóm BẢNG ĐIỂM HỌC KỲ CỦA SINH VIÊN: [BANGDIEM] SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD Yêu cầu truy vấn: Tính điểm trung bình của sinh viên BẢNG ĐIỂM HỌC KỲ CỦA SINH VIÊN: [BANGDIEM] Ngôn ngữ SQL NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR Ngôn ngữ SQL HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA ếế ấấ NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH KếtKết quả truy vấnquả truy vấn [No column name][No column name] BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2222))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2222))
  • 23. UU DLDL Các phép toán trên nhóm BẢNG ĐIỂM HỌC KỲ CỦA SINH VIÊN: [BANGDIEM] SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD Yêu cầu truy vấn: Tính điểm trung bình của sinh viên BẢNG ĐIỂM HỌC KỲ CỦA SINH VIÊN: [BANGDIEM] Ngôn ngữ SQL NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR Ngôn ngữ SQL GánGán ALIASALIAS cho kết quả truy vấn làcho kết quả truy vấn là HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA cho kết quả truy vấn làcho kết quả truy vấn là DTBDTB KếtKết quả truy vấnquả truy vấn NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH KếtKết quả truy vấnquả truy vấn với tên cột làvới tên cột là DTBDTB BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2323))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2323))
  • 24. UU DLDL Hàm gộpSỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD • COUNT – COUNT(*) đếm số dòng COUNT(<tên thuộc tính>) đếm số giá trị khác NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR – COUNT(<tên thuộc tính>) đếm số giá trị khác NULL của thuộc tính – COUNT(DISTINCT <tên thuộc tính>) đếm số iá t ị khá h à khá NULL ủ th ộ tí h HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA giá trị khác nhau và khác NULL của thuộc tính • MIN • MAX NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH • MAX • SUM • AVG BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ • AVG • Các hàm kết hợp được đặt ở mệnh đề SELECT TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2424))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2424))
  • 25. UU DLDL Các phép toán trên nhóm BẢNG ĐIỂM HỌC KỲ CỦA LỚP SP1: [BANGDIEM1] SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD BẢNG ĐIỂM HỌC KỲ CỦA LỚP SP1: [BANGDIEM1] NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ Yêu cầu truy vấn: Tính điểm trung bình của từng sinh viên ??? TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2525))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2525)) Yêu cầu truy vấn: Tính điểm trung bình của từng sinh viên ???
  • 26. UU DLDL Gom nhóm ú á SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD • Cú pháp SELECT <danh sách các cột> NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR SELECT <danh sách các cột> FROM <danh sách các bảng> HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA WHERE <điều kiện> GROUP BY <danh sách các cột gom nhóm> NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH • Sau khi gom nhóm thì kết quả là BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ – Nhóm các bộ có cùng giá trị tại các thuộc tính gom nhóm, sau đó thực hiện TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2626))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2626)) các phép toán trên nhóm (Max, Min,…)
  • 27. UU DLDL Phép gom nhóm (tt) Ví d SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD •Ví dụ ISUM(C)(R) A BR C NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR α α 2 4 β 2 7 7 3 Kết quả I (R) 27 HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA β γ 2 2 3 10 ISUM(C)(R) = 27 SELECT SUM(C) NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH SELECT SUM(C) FROM R BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2727))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2727))
  • 28. UU DLDL Phép gom nhóm (tt) Ví d SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD •Ví dụ A BR C AISUM(C)(R) Kết quả NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR α α 2 4 β 2 7 7 3 A SUM(C) α 14 HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA β γ 2 2 3 10 β 3 γ 10 NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH SELECT A, SUM(C) FROM R BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ FROM R GROUP BY A TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2828))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2828))
  • 29. UU DLDL Các phép toán trên nhóm BẢNG ĐIỂM HỌC KỲ CỦA LỚP SP1: [BANGDIEM1] SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD BẢNG ĐIỂM HỌC KỲ CỦA LỚP SP1: [BANGDIEM1] NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ Yêu cầu truy vấn: Tính điểm trung bình của sinh viên TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2929))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2929)) Yêu cầu truy vấn: Tính điểm trung bình của sinh viên
  • 30. UU DLDL Các phép toán trên nhóm BẢNG ĐIỂM HỌC KỲ CỦA LỚP SP1: [BANGDIEM1] SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD BẢNG ĐIỂM HỌC KỲ CỦA LỚP SP1: [BANGDIEM1] NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH Yêu cầu truy vấn: Tính điểm trung bình của sinh viên BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3030))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3030))
  • 31. UU DLDL Yê ầ t ấ Tí h điể t bì h ủ i h iê Các phép toán trên nhómSỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD Yêu cầu truy vấn: Tính điểm trung bình của sinh viên Bước 1: gom nhóm điểm theo từng sinh viênBước 1: gom nhóm điểm theo từng sinh viên NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA Bước 2: tính điểm trung bình của mỗi sinh viênBước 2: tính điểm trung bình của mỗi sinh viên NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH Điểm trung bình của SV =Điểm trung bình của SV = SUMSUM(SoTC*DiemThi)/(SoTC*DiemThi)/SUMSUM(SoTC)(SoTC) BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3131))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3131)) Điểm trung bình của SV =Điểm trung bình của SV = SUMSUM(SoTC*DiemThi)/(SoTC*DiemThi)/SUMSUM(SoTC)(SoTC)
  • 32. UU DLDL Các phép toán trên nhóm BẢNG ĐIỂM HỌC KỲ CỦA LỚP SP01: [BANGDIEM1] SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD Yêu cầu truy vấn: Tính điểm trung bình của sinh viên BẢNG ĐIỂM HỌC KỲ CỦA LỚP SP01: [BANGDIEM1] NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA Ngôn ngữ đại số quan hệ MaSV HoTen I (B Di 1) NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH MaSV, HoTen, ISUM(SoTC*DiemThi)/SUM(SoTC) (BangDiem1) Ngôn ngữ SQL BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ SELECT MaSV, HoTen, SUM(SoTC*DiemThi)/SUM(SoTC) AS DTB FROM BangDiem1 GROUP BY TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3232))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3232)) GROUP BY MaSV, HoTen
  • 33. UU DLDL Các phép toán trên nhóm BẢNG ĐIỂM HỌC KỲ CỦA LỚP SP01: [BANGDIEM1] SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD Yêu cầu truy vấn: Tính điểm trung bình của sinh viên BẢNG ĐIỂM HỌC KỲ CỦA LỚP SP01: [BANGDIEM1] Ngôn ngữ SQL NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR Ngôn ngữ SQL HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH KếtKết quả truy vấnquả truy vấn BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3333))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3333))
  • 34. UU DLDL Các phép toán trên nhóm BẢNG ĐIỂM HỌC KỲ CỦA LỚP SP01: [BANGDIEM1] SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD BẢNG ĐIỂM HỌC KỲ CỦA LỚP SP01: [BANGDIEM1] NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA KếtKết quả truy vấn chỉ cóquả truy vấn chỉ có sinh viênsinh viên Han Quoc VietHan Quoc Viet vớivới DTB = 8DTB = 8 NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH Chọn những dòng trong kết quả phépChọn những dòng trong kết quả phép GOM NHÓMGOM NHÓM thỏathỏa ềề BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ Yêu cầu truy vấn: Tìm sinh viên có điểm trung bình lớn hơn 7 mãn điều kiệnmãn điều kiện DTB>7DTB>7 TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3434))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3434)) Yêu cầu truy vấn: Tìm sinh viên có điểm trung bình lớn hơn 7 ???
  • 35. UU DLDL Các phép toán trên nhóm BẢNG ĐIỂM HỌC KỲ CỦA LỚP SP01: [BANGDIEM1] SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD Yêu cầu truy vấn: Tìm sinh viên có điểm trung bình lớn hơn 7 ??? BẢNG ĐIỂM HỌC KỲ CỦA LỚP SP01: [BANGDIEM1] NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA SELECT M SV H T NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH SELECT MaSV, HoTen, SUM(SoTC*DiemThi)/SUM(SoTC) AS DTB FROM BangDiem1 WHERE DTB 7 BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ WHERE DTB > 7 GROUP BY MaSV, HoTen TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3535))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3535))
  • 36. UU DLDL Các phép toán trên nhóm BẢNG ĐIỂM HỌC KỲ CỦA LỚP SP01: [BANGDIEM1] SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD Yêu cầu truy vấn: Tìm sinh viên có điểm trung bình lớn hơn 7 ??? BẢNG ĐIỂM HỌC KỲ CỦA LỚP SP01: [BANGDIEM1] NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA SELECT M SV H T NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH SELECT MaSV, HoTen, SUM(SoTC*DiemThi)/SUM(SoTC) AS DTB FROM BangDiem1 WHERE BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ WHERE SUM(SoTC*DiemThi)/SUM(SoTC) > 7 GROUP BY MaSV, HoTen TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3636))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3636))
  • 37. UU DLDL Điều kiện trên nhóm Cú há SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD • Cú pháp SELECT <danh sách các cột> NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR FROM <danh sách các bảng> WHERE <điều kiện chọn trên bảng> HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA WHERE <điều kiện chọn trên bảng> GROUP BY <danh sách các cột gom nhóm> HAVING <điều kiện trên nhóm> NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH HAVING <điều kiện trên nhóm> BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3737))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3737))
  • 38. UU DLDL Các phép toán trên nhóm BẢNG ĐIỂM HỌC KỲ CỦA LỚP SP01: [BANGDIEM1] SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD Yêu cầu truy vấn: Tìm sinh viên có điểm trung bình lớn hơn 7 BẢNG ĐIỂM HỌC KỲ CỦA LỚP SP01: [BANGDIEM1] NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA Điều kiện trên nhómĐiều kiện trên nhóm (HAVING)(HAVING) NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH KếtKết quả truy vấn chỉ cóquả truy vấn chỉ có sinh viênsinh viên Han Quoc VietHan Quoc Viet vớivới DTB 8DTB 8 ( )( ) BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ DTB = 8DTB = 8 TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3838))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3838))
  • 39. UU DLDL Các phép toán trên nhóm BẢNG ĐIỂM HỌC KỲ CỦA LỚP SP01: [BANGDIEM1] SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD Yêu cầu truy vấn: Tìm sinh viên có điểm trung bình lớn hơn 7 BẢNG ĐIỂM HỌC KỲ CỦA LỚP SP01: [BANGDIEM1] NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH SELECT MaSV, HoTen, SUM(SoTC*DiemThi)/SUM(SoTC) AS DTB FROM BangDiem1 BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ FROM BangDiem1 GROUP BY MaSV, HoTen HAVING DTB > 7 TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3939))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3939))
  • 40. UU DLDL Nhận xét Mệ h đề GROUP BY SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD • Mệnh đề GROUP BY – Các thuộc tính trong mệnh đề SELECT (trừ những thuộc tính trong các hàm kết hợp) phải NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR những thuộc tính trong các hàm kết hợp) phải xuất hiện trong mệnh đề GROUP BY • Mệnh đề HAVING HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA ệ – Sử dụng các hàm kết hợp trong mệnh đề SELECT để kiểm tra một số điều kiện nào đó ể NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH – Chỉ kiểm tra điều kiện trên nhóm, không là điều kiện lọc trên từng bộ – Sau khi gom nhóm thì điều kiện trên nhóm mới BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ Sau khi gom nhóm thì điều kiện trên nhóm mới được thực hiện TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4040))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4040))
  • 41. UU DLDL Nhận xét (tt) SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD • Thứ tự thực hiện câu truy vấn có mệnh đề GROUP BY và HAVING ữ ò ỏ ề ệ ệ NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR – (1) Chọn ra những dòng thỏa điều kiện trong mệnh đề WHERE – (2) Những dòng này sẽ được gom thành nhiều nhóm HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA (2) Những dòng này sẽ được gom thành nhiều nhóm tương ứng với mệnh đề GROUP BY – (3) Áp dụng các hàm kết hợp cho mỗi nhóm NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH – (4) Bỏ qua những nhóm không thỏa điều kiện trong mệnh đề HAVING (5) Rút trích các giá trị của các cột và hàm kết hợp BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ – (5) Rút trích các giá trị của các cột và hàm kết hợp trong mệnh đề SELECT TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4141))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4141))4141
  • 42. UU DLDL Mệnh đề ORDER BY SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD • Dùng để hiển thị kết quả câu truy vấn theo một thứ tự nào đó (sắp xếp kết quả hiển thị) Cú há NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR • Cú pháp SELECT <danh sách các cột> HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA FROM <danh sách các bảng> WHERE <điều kiện> á á ộ NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH – ASC : sắp xếp tăng (mặc định) ORDER BY <danh sách các cột> BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ – DESC : sắp xếp giảm TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4242))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4242))4242
  • 43. UU DLDL Mệnh đề ORDER BY (tt) BẢNG ĐIỂM MÔN CƠ SỞ DỮ LIỆU LỚP SP01 [KETQUA] SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD Mã sinh viên Họ tên Ngày sinh Địa chỉ Email Điểm thi 0600123 Nguyen Cong Phu 11/02/1990 280 An Duong Vuong phunc@hcmup.edu.vn 7 123 Nguyen Thi Minh BẢNG ĐIỂM MÔN CƠ SỞ DỮ LIỆU LỚP SP01: [KETQUA] NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR 0600124 Han Quoc Viet 31/12/1990 123 Nguyen Thi Minh Khai viethq@hcmup.edu.vn 8 0600125 Phan Anh Khanh 110 Tran Binh Trong 4 0600126 Ly Thanh 123 Truong Dinh 9 0600127 Nguyen Dinh Khiem 153 Hoang Van Thu 4 HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA 0600127 Nguyen Dinh Khiem 153 Hoang Van Thu 4 NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH Yêu cầu truy vấn: In bảng điểm môn CSDL lớp SP01 theo thứ tự tăng dần của điểm thi Ngôn ngữ SQL BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ SELECT * FROM KetQua Ngôn ngữ SQL SELECT * FROM KetQua TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4343))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4343)) FROM KetQua ORDER BY [Điểm thi] FROM KetQua ORDER BY [Điểm thi] ASC
  • 44. UU DLDL Mệnh đề ORDER BY (tt) Yêu cầu truy vấn: In bảng điểm môn CSDL lớp SP01 theo thứ tự SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD Yêu cầu truy vấn: In bảng điểm môn CSDL lớp SP01 theo thứ tự tăng dần của điểm thi Ngôn ngữ SQL NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR SELECT * FROM KetQua ORDER BY [Điể thi] SELECT * FROM KetQua ORDER BY [Điể thi] ASC HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA ORDER BY [Điểm thi] ORDER BY [Điểm thi] ASC KẾT QUẢ TRUY VẤN NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH Mã sinh viên Họ tên Ngày sinh Địa chỉ Email Điểm thi 0600125 Phan Anh Khanh 110 Tran Binh Trong 4 BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ 0600127 Nguyen Dinh Khiem 153 Hoang Van Thu 4 0600123 Nguyen Cong Phu 11/02/1990 280 An Duong Vuong phunc@hcmup.edu.vn 7 0600124 Han Quoc Viet 31/12/1990 123 Nguyen Thi Minh Khai viethq@hcmup.edu.vn 8 TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4444))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4444)) 0600126 Ly Thanh 123 Truong Dinh 9
  • 45. UU DLDL Mệnh đề ORDER BY (tt) BẢNG ĐIỂM MÔN CƠ SỞ DỮ LIỆU LỚP SP01 [KETQUA] SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD Mã sinh viên Họ tên Ngày sinh Địa chỉ Email Điểm thi 0600123 Nguyen Cong Phu 11/02/1990 280 An Duong Vuong phunc@hcmup.edu.vn 7 0600124 Han Quoc Viet 31/12/1990 123 Nguyen Thi Minh Khai viethq@hcmup edu vn 8 BẢNG ĐIỂM MÔN CƠ SỞ DỮ LIỆU LỚP SP01: [KETQUA] NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR 0600124 Han Quoc Viet 31/12/1990 123 Nguyen Thi Minh Khai viethq@hcmup.edu.vn 8 0600125 Phan Anh Khanh 110 Tran Binh Trong 4 0600126 Ly Thanh 123 Truong Dinh 9 0600127 Nguyen Dinh Khiem 153 Hoang Van Thu 4 HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA ầ ấ ả ể NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH Yêu cầu truy vấn: In bảng điểm môn CSDL lớp SP01 theo thứ tự tăng dần của điểm thi (trong trường hợp có 2 sinh viên cùng điểm thì sắp xếp theo thứ tự giảm dần theo mã sinh viên) BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ Ngôn ngữ SQL SELECT * FROM KetQua TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4545))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4545)) FROM KetQua ORDER BY [Điểm thi] ASC, [Mã sinh viên] DESC
  • 46. UU DLDL Mệnh đề ORDER BY (tt) Yêu cầu truy vấn: In bảng điểm môn CSDL lớp SP01 theo thứ tự SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD Yêu cầu truy vấn: In bảng điểm môn CSDL lớp SP01 theo thứ tự tăng dần của điểm thi (trong trường hợp có 2 sinh viên cùng điểm thì sắp xếp theo thứ tự giảm dần theo mã sinh viên) N ô ữ SQL NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR Ngôn ngữ SQL SELECT * FROM KetQua HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA O etQua ORDER BY [Điểm thi] ASC, [Mã sinh viên] DESC KẾT QUẢ TRUY VẤN NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH Mã sinh viên Họ tên Ngày sinh Địa chỉ Email Điểm thi 0600127 Nguyen Dinh Khiem 153 Hoang Van Thu 4 BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ 0600125 Phan Anh Khanh 110 Tran Binh Trong 4 0600123 Nguyen Cong Phu 11/02/1990 280 An Duong Vuong phunc@hcmup.edu.vn 7 0600124 Han Quoc Viet 31/12/1990 123 Nguyen Thi Minh Khai viethq@hcmup.edu.vn 8 TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4646))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4646)) Q q@ p 0600126 Ly Thanh 123 Truong Dinh 9
  • 47. UU DLDL QUI TRÌNH XỬ LÝ CÂU LỆNH SELECT SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD SELECT Col1,Col2,Col3,..ColN (1)(1) FROM TableA, TableB,… (2)(2) NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR , , ( )( ) WHERE DK1 AND DK2 AND DK3 (3)(3) GROUP BY ColA, ColB, ColC (4)(4) HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA HAVING DKG1 AND DKG2 AND… (5)(5) ORDER BY ColX, ColY, ColZ,… (6)(6) NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH (2) (3) (4) (5) (6) (1) BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ (2) (3) (4) (5) (6) (1) TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4747))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4747))4747
  • 48. UU DLDL QUI TRÌNH XỬ LÝ CÂU LỆNH SELECT SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD CSDL FROM Tập kết quả 1 NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR WHERE Tập kết quả 2 HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA Tập kết quả 3 GROUP BY ập q NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH Tập kết quả 3 HAVING Tập kết quả 4 SELECT BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ ORDER BY Tập kết quả 4 Tập kết q ả 5 KẾT QUẢ TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4848))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4848))4848 Tập kết quả 5 CUỐI CÙNG
  • 49. Đại Học Sư Phạm Tp. Hồ Chí Minh Khoa Toán – Tin Học NgNgôôn ngn ngữữ SQLSQL ((Structured Query LanguageStructured Query Language))((Structured Query LanguageStructured Query Language)) Bài tập truy vấn dữ liệu với các phép toán trên nhóm (SELECT …FROM …WHERE…GROUP BY….HAVING)
  • 50. UU DLDL SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (5050))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (5050)) 50