Bài giảng Cơ sở dữ liệu - Chương 5: Ngôn ngữ truy vấn có cấu trúc - Trịnh Hoàng Nam

1 • Định nghĩa dữ liệu và các kiểu dữ liệu

2 • Các ràng buộc cơ bản trong SQL

3 • Các câu lệnh thay đổi lược đồ cơ sở dữ liệu

4 • Các câu truy vấn cơ bản trong SQL

5 • Các câu truy vấn phức tạp

6 • Các lệnh cập nhật dữ liệu trong SQL

pdf 23 trang phuongnguyen 10920
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Cơ sở dữ liệu - Chương 5: Ngôn ngữ truy vấn có cấu trúc - Trịnh Hoàng Nam", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Cơ sở dữ liệu - Chương 5: Ngôn ngữ truy vấn có cấu trúc - Trịnh Hoàng Nam

Bài giảng Cơ sở dữ liệu - Chương 5: Ngôn ngữ truy vấn có cấu trúc - Trịnh Hoàng Nam
11/22/2018
1
NGÔN NGỮ TRUY VẤN CÓ CẤU TRÚC
CƠ SỞ DỮ LIỆU
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
NỘI DUNG
• Định nghĩa dữ liệu và các kiểu dữ liệu1
• Các ràng buộc cơ bản trong SQL2
• Các câu lệnh thay đổi lược đồ cơ sở dữ liệu3
• Các câu truy vấn cơ bản trong SQL4
• Các câu truy vấn phức tạp5
• Các lệnh cập nhật dữ liệu trong SQL6
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
ĐỊNH NGHĨA DỮ LIỆU & CÁC KIỂU 
DỮ LIỆU
• Tập hợp các bảng dữ liệu phục vụ cho một ứng dụng
Định nghĩa lược đồ CSDL trong SQL
• Bảng dữ liệu
• Ràng buộc toàn vẹn
• Khung nhìn
• 
Thành phần của lược đồ CSDL
Câu lệnh tạo lược đồ CSDL
CREATE SCHEMA COMPANY AUTHORIZATION SA
11/22/2018
2
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
ĐỊNH NGHĨA DỮ LIỆU & CÁC KIỂU 
DỮ LIỆU
• Quan hệ và các bộ dữ liệu của nó được tạo 
và lưu trữ vật lý trong tệp dữ liệu của DBMS
Bảng dữ liệu trong SQL
• Các thuộc tính
• Miền giá trị của từng thuộc tính
• Các ràng buộc toàn vẹn trên bảng
• 
Thành phần của bảng dữ liệu
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
ĐỊNH NGHĨA DỮ LIỆU & CÁC KIỂU 
DỮ LIỆU
• Cho phép có các bộ trùng nhau
Bảng dữ liệu trong SQL
Câu lệnh tạo bảng dữ liệu trong 
SQL
CREATE TABLE tên_bảng ()
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
ĐỊNH NGHĨA DỮ LIỆU & CÁC KIỂU 
DỮ LIỆU
• Kiểu dữ liệu số
• Kiểu dữ liệu chuỗi ký tự
• Kiểu dữ liệu chuỗi bit
• Kiểu dữ liệu Boolean
• Kiểu dữ liệu Datetime
Các kiểu dữ liệu trong SQL
11/22/2018
3
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
ĐỊNH NGHĨA DỮ LIỆU & CÁC KIỂU 
DỮ LIỆU
Ví dụ về lệnh tạo bảng dữ liệu
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
CÁC LOẠI RÀNG BUỘC TOÀN VẸN 
DỮ LIỆU
• Yêu cầu một thuộc tính không được phép có giá trị là
null
• Một thuộc tính là thành phần của khóa chính thì mặc 
nhiên là not null
Ràng buộc NOT NULL
Ví dụ
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
CÁC LOẠI RÀNG BUỘC TOÀN VẸN 
DỮ LIỆU
• Giá trị được sử dụng trong trường hợp bộ mới thêm
vào nhận giá trị null tại thuộc tính được khai báo là
mặc định
Giá trị mặc định
Ví dụ
11/22/2018
4
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
CÁC LOẠI RÀNG BUỘC TOÀN VẸN 
DỮ LIỆU
• Giá trị của một thuộc tính phải nằm trong miền giá
trị của thuộc tính đó
Ràng buộc miền giá trị
Ví dụ
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
CÁC LOẠI RÀNG BUỘC TOÀN VẸN 
DỮ LIỆU
• Hai bộ dữ liệu trong quan hệ không thể có giá trị bằng
nhau tại (các) thuộc tính của khóa
• Quan hệ có thể có nhiều khóa, gồm một khóa chính và
nhiều khóa phụ (duy nhất)
Ràng buộc khóa trong SQL
Ví dụ
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
CÁC LOẠI RÀNG BUỘC TOÀN VẸN 
DỮ LIỆU
• Một giá trị muốn xuất hiện trong khung cảnh này cần
phải xuất hiện trong một khung cảnh khác
• Thuộc tính tham chiếu đi là khóa ngoại, thuộc tính được
tham chiếu tới phải là khóa (chính hoặc phụ)
Ràng buộc tham chiếu trong SQL
Ví dụ
11/22/2018
5
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
CÁC LOẠI RÀNG BUỘC TOÀN VẸN 
DỮ LIỆU
• Tên tường minh của ràng buộc toàn vẹn rất hữu ích
khi có nhu cầu muốn chỉnh sửa hoặc xóa các ràng
buộc hiện hữu
Đặt tên cho ràng buộc toàn vẹn trong SQL
Ví dụ
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
CÁC LOẠI RÀNG BUỘC TOÀN VẸN 
DỮ LIỆU
• Ràng buộc liên quan đến các giá trị thành phần của
từng bộ dữ liệu được xét
Ràng buộc toàn vẹn trên bộ trong SQL
Ví dụ
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
CÁC CÂU LỆNH THAY ĐỔI LƯỢC 
ĐỒ CƠ SỞ DỮ LIỆU
• Xóa toàn bộ dữ liệu trong bảng cùng với lược đồ của
bảng đó
• Việc xóa bảng chỉ thành công khi không nó không được
tham chiếu tới bởi bất kỳ bảng nào khác
Lệnh xóa bảng dữ liệu trong SQL
Ví dụ
11/22/2018
6
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
CÁC CÂU LỆNH THAY ĐỔI LƯỢC 
ĐỒ CƠ SỞ DỮ LIỆU
• Thay đổi cấu trúc bảng dữ liệu bằng cách thêm mới,
sửa, xóa thuộc tính, ràng buộc toàn vẹn, 
Lệnh sửa cấu trúc bảng dữ liệu trong SQL
Ví dụ
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
CÁC CÂU TRUY VẤN CƠ BẢN 
TRONG SQL
Phát biểu
Ví dụ
SELECT 
FROM 
WHERE 
SELECT EName, ESalary
FROM EMPLOYEE
WHERE dNum=1
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
CÁC CÂU TRUY VẤN CƠ BẢN 
TRONG SQL
SQL vs Đại số quan hệ
Ví dụ 1
SELECT L
FROM R
WHERE C
SELECT EName, ESalary
FROM EMPLOYEE
WHERE dNum=1
 EName, ESalarydNum = 1 (EMPLOYEE)
 L C (R)
Điều kiện chọn
11/22/2018
7
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
CÁC CÂU TRUY VẤN CƠ BẢN 
TRONG SQL
• Cho biết mã số và tên các dự án do phòng 
Kinh doanh quản lý
Ví dụ 2
SELECT
FROM
WHERE
PROJECT, DEPARTMENT
AND DName = N’Phòng Kinh doanh’
DNumber = dNum
PNumber, PName
Điều kiện chọn
Điều kiện kết
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
CÁC CÂU TRUY VẤN CƠ BẢN 
TRONG SQL
• Cho biết họ tên nhân viên và họ tên của người 
trực tiếp quản lý anh ta
Ví dụ 3
SELECT
FROM
WHERE
EMPLOYEE, EMPLOYEE
supervisorSSN = ESSN
EName, EName
?
Nhân viên đang xét Người trực tiếp quản lý anh ta
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
CÁC CÂU TRUY VẤN CƠ BẢN 
TRONG SQL
• Cho biết họ tên nhân viên và họ tên của 
người trực tiếp quản lý anh ta
Ví dụ 4
SELECT
FROM
WHERE
EMPLOYEE e, EMPLOYEE s
e.supervisorSSN = s.ESSN
e.EName, s.EName
11/22/2018
8
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
CÁC CÂU TRUY VẤN CƠ BẢN 
TRONG SQL
• Với mỗi dự án tại ‘TP. Hồ Chí Minh’, liệt kê số
hiệu dự án, số hiệu đơn vị quản lý dự án, và tên,
mức lương của trưởng đơn vị quản lý dự án
Ví dụ 5
SELECT
FROM
WHERE
PROJECT p, DEPARTMENT d, EMPLOYEE e
p.DNum = d.DNumber
e.EName, s.EName
AND mgrSSN = ESSN
AND Location = N'TP. Hồ Chí Minh'
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
CÁC CÂU TRUY VẤN CƠ BẢN 
TRONG SQL
• Chỉ áp dụng trong trường hợp hai quan hệ khả hợp
• Bao gồm phép hợp (UNION), phép giao
(INTERSECT) và phép trừ (EXCEPT)
SQL và các phép toán tập hợp
• Tìm các nhân viên tham gia cả hai dự án số 1 và số 2
Ví dụ 6
SELECT
FROM
WHERE
EMPLOYEE e, WORKSON w
e.ESSN=w.ESSN AND w.PNum=1 AND w.PNum=2
e.EName
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
CÁC CÂU TRUY VẤN CƠ BẢN 
TRONG SQL
• Tìm các nhân viên tham gia cả hai dự án số 1 và số 2
Ví dụ 6 (tt)
SELECT
FROM
WHERE
EMPLOYEE e, WORKSON w
e.ESSN=w.ESSN AND w.PNum=1
e.EName
SELECT
FROM
WHERE
EMPLOYEE e, WORKSON w
e.ESSN=w.ESSN AND w.PNum=2
e.EName
INTERSECT
11/22/2018
9
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
CÁC CÂU TRUY VẤN CƠ BẢN 
TRONG SQL
• Toán tử LIKE và NOT LIKE
• Ký tự đặc biệt _ và %
SQL và phép toán so sánh chuỗi
• Liệt kê các nhân viên có tên là Anh
Ví dụ 7
SELECT
FROM
WHERE
EMPLOYEE
EName LIKE N‘%Anh’
*
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
CÁC CÂU TRUY VẤN CƠ BẢN 
TRONG SQL
• Sử dụng mệnh đề ORDER BY
• Sắp xếp tăng dần (ASC), giảm dần (DESC)
SQL và phép sắp xếp các bộ dữ liệu
• Liệt kê các nhân viên trong phòng số 1 theo thứ tự 
giảm dần của lương
Ví dụ 8
SELECT
FROM
WHERE
ORDER BY
EMPLOYEE
dNum = 5
*
ESalary DESC
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
CÁC CÂU TRUY VẤN PHỨC TẠP 
TRONG SQL
• Null là giá trị đặc biệt, không phải là hằng số, mà là giá trị
không biết
• Các phép toán số học liên quan tới Null cho giá trị là Null
• Các phép toán so sánh liên quan tới Null cho giá trị là
Unknown
• Phép toán so sánh IS NULL và IS NOT NULL
SQL và giá trị NULL
• Liệt kê danh sách nhân viên không có lãnh đạo trực tiếp
Ví dụ 9
SELECT
FROM
WHERE
EMPLOYEE
supervisorSSN IS NULL
*
11/22/2018
10
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
CÁC CÂU TRUY VẤN PHỨC TẠP 
TRONG SQL
• Kết quả trả về của câu truy vấn này được sử dụng
trong một mệnh đề của câu truy vấn khác
• Kết quả trả về của một câu truy vấn có thể là một giá
trị đơn hoặc một quan hệ với nhiều bộ, nhiều thuộc
tính
• Một số toán tử so sánh: IN, NOT IN, ANY, SOME, ALL
Truy vấn lồng trong SQL
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
CÁC CÂU TRUY VẤN PHỨC TẠP 
TRONG SQL
• Cho biết danh sách các dự án có sự tham gia của
nhân viên tên là ‘Lê Duy Anh’
Ví dụ 10
SELECT
FROM
WHERE
PROJECT p, EMPLOYEE e, WORKSON w
p.ProNum = w.PNum AND w.ESSN = e.ESSN
AND e.EName = N’Lê Duy Anh’
p.*
?
Độ phức tạp của truy vấn
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
CÁC CÂU TRUY VẤN PHỨC TẠP 
TRONG SQL
• Cho biết danh sách các dự án có sự tham gia của
nhân viên tên là ‘Lê Duy Anh’
Ví dụ 10 (tt)
?
Độ phức tạp của truy vấn
(SELECT w.PNum
FROM WORKSON w, EMPLOYEE e
WHERE w.ESSN=e. ESSN
AND e.EName = N’Lê Duy Anh’)
SELECT *
FROM PROJECT
WHERE PNumber IN
11/22/2018
11
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
CÁC CÂU TRUY VẤN PHỨC TẠP 
TRONG SQL
• Cho biết danh sách các dự án có sự tham gia của
nhân viên tên là ‘Lê Duy Anh’
Ví dụ 10 (tt)
?
Độ phức tạp của truy vấn
(SELECT w.PNum
FROM WORKSON w
WHERE w.ESSN IN
)
SELECT *
FROM PROJECT
WHERE PNumber IN
(SELECT e.ESSN
FROM EMPLOYEE e
WHERE e.EName = N’’)
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
CÁC CÂU TRUY VẤN PHỨC TẠP 
TRONG SQL
• Được sử dụng để kiểm tra kết quả của câu truy vấn lồng
xem có rỗng hay không
Hàm EXISTS trong SQL
• Cho biết tên các nhân viên chưa tham gia bất kỳ dự án nào 
của công ty
Ví dụ 11
SELECTEName
FROM EMPLOYEE E
WHERE NOT EXISTS (SELECT *
FROM WOKRSON
WHERE E.ESSN=ESSN)
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
CÁC CÂU TRUY VẤN PHỨC TẠP 
TRONG SQL
• Được sử dụng để kiểm tra kết quả của câu truy vấn lồng xem
có rỗng hay không
• Có thể được viết lại bằng cách sử dụng toán tử so sánh IN
Hàm EXISTS trong SQL
• Cho biết tên các nhân viên chưa tham gia bất kỳ dự án nào 
của công ty
Ví dụ 11
SELECTEName
FROM EMPLOYEE
WHERE ESSN NOT IN (SELECT ESSN
FROM WOKRSON)
11/22/2018
12
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
CÁC CÂU TRUY VẤN PHỨC TẠP 
TRONG SQL
• Được sử dụng để đổi tên cột hiển thị trong phần kết quả
của câu truy vấn mà không ảnh hưởng đến bản thân các
quan hệ trong mệnh đề WHERE của câu truy vấn đó
Toán tử AS trong SQL
Ví dụ 12
SELECTE.EName AS ‘Tên nhân viên’, 
S.EName AS ‘Tên lãnh đạo trực tiếp’
FROM EMPLOYEE E, EMPLOYEE S
WHERE E.supervisorSSN=S.ESSN
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
CÁC CÂU TRUY VẤN PHỨC TẠP 
TRONG SQL
• Phép kết thể hiện thông qua việc sử dụng nhiều quan
hệ trong mệnh đề FROM và các điều kiện kết tương
ứng trong mệnh đề WHERE
• Phép kết được thực hiện ngay trong mệnh đề FROM
thông qua việc sử dụng các toán tử INNER JOIN,
OUTER JOIN đi kèm điều kiện kết tương ứng
Bảng kết trong SQL
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
CÁC CÂU TRUY VẤN PHỨC TẠP 
TRONG SQL
• Hiển thị tên và mức lương của các nhân viên trong
phòng ‘Nghiên cứu’
• Sử dụng phép nhân chéo và phép chọn:
• Sử dụng bảng kết:
Ví dụ 13
SELECTEName, ESalary
FROM EMPLOYEE, DEPARTMENT
WHERE DNum = DNumber AND DName=N’Phòng Nghiên cứu’
SELECTEName, ESalary
FROM EMPLOYEE JOIN DEPARTMENT ON DNum = DNumber
WHERE DName=N’Phòng Nghiên cứu’
11/22/2018
13
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
CÁC CÂU TRUY VẤN PHỨC TẠP 
TRONG SQL
Ví dụ 13 (tt)
SELECTEName, ESalary
FROM EMPLOYEE, DEPARTMENT
WHERE DNum = DNumber 
AND DName=N’Phòng Nghiên cứu’
SELECTEName, ESalary
FROM EMPLOYEE JOIN DEPARTMENT
ON DNum = DNumber
WHERE DName=N’Phòng Nghiên cứu’
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
CÁC CÂU TRUY VẤN PHỨC TẠP 
TRON ... 
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
CÁC CÂU TRUY VẤN PHỨC TẠP 
TRONG SQL
• Với mỗi nhân viên hãy hiển thị tên của người đó và
tên của lãnh đạo trực tiếp của họ
• Sử dụng bảng kết trong:
• Sử dụng bảng kết ngoài
Ví dụ 14 (tt)
SELECT e.EName as ‘Employee’, s.EName as ‘Supervisor’
FROM EMPLOYEE e JOIN EMPLOYEE s 
ON e.supervisorSSN = s.ESSN
SELECT e.EName as ‘Employee’, s.EName as ‘Supervisor’
FROM EMPLOYEE e LEFT JOIN EMPLOYEE s 
ON e.supervisorSSN = s.ESSN
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
CÁC CÂU TRUY VẤN PHỨC TẠP 
TRONG SQL
Ví dụ 14 (tt)
SELECT e.EName as ‘Employee’, 
s.EName as ‘Supervisor’
FROM EMPLOYEE e LEFT JOIN EMPLOYEE s 
ON e.supervisorSSN = s.ESSN
11/22/2018
15
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
CÁC CÂU TRUY VẤN PHỨC TẠP 
TRONG SQL
• Với mỗi dự án tại ‘TP. Hồ Chí Minh’, liệt kê số hiệu dự
án, số hiệu đơn vị quản lý dự án, và tên, ngày sinh
của trưởng đơn vị quản lý dự án
Ví dụ 15
SELECT PNumber, DNumber, EName, EBirthdate
FROM ((PROJECT JOIN DEPARTMENT ON dNum=DNumber)
JOIN EMPLOYEE ON mgrSSN=ESSN)
WHERE PLocation = N’TP Hồ Chí Minh’
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
CÁC CÂU TRUY VẤN PHỨC TẠP 
TRONG SQL
• Các hàm số học được thực hiện theo từng nhóm
• Các hàm MAX, MIN, AVG, SUM thực hiện trên một thuộc tính
số học
• Hàm COUNT thực hiện trên một hoặc nhiều thuộc tính
Toán tử AS trong SQL
• Cho biết tổng lương, lương trung bình của nhân viên trong
công ty
Ví dụ 16
SELECTSUM(ESalary) AS ‘Tổng lương’, 
AVG(ESalary) AS ‘Lương trung bình’
FROM EMPLOYEE
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
CÁC CÂU TRUY VẤN PHỨC TẠP 
TRONG SQL
• Cho biết tổng lương, mức lương cao nhất, mức lương
thấp nhất, và của các nhân viên tham gia dự án có
mã số là 1
Ví dụ 17
SELECTSUM(E.ESalary), MAX(E.ESalary), MIN(E.ESalary) 
FROM (EMPLOYEE E JOIN WORKSON W ON E.ESSN=W.ESSN)
WHERE W.PNUM = 1
11/22/2018
16
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
CÁC CÂU TRUY VẤN PHỨC TẠP 
TRONG SQL
• Gom các bộ trong quan hệ thành từng nhóm theo một
(số) thuộc tính
• Các bộ có giá trị bằng nhau tại (các) thuộc tính gom
nhóm sẽ được xếp ở gần nhau
• Điều kiện để chọn các nhóm được đặt trong mệnh đề
HAVING
• Các hàm kết hợp được áp dụng cho các nhóm sau
khi đã gom
GROUP BY và HAVING trong SQL
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
CÁC CÂU TRUY VẤN PHỨC TẠP 
TRONG SQL
• Với mỗi phòng ban hãy cho biết mã số phòng ban, số
nhân viên thuộc quyền quản lý của phòng ban đó, và
mức lương trung bình của họ
Ví dụ 18
SELECT DNum, COUNT(*), AVG(ESalary)
FROM EMPLOYEE
GROUP BY DNum
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
CÁC CÂU TRUY VẤN PHỨC TẠP 
TRONG SQL
• Với mỗi dự án, cho biết mã số dự án, tên dự án, số
nhân viên tham gia dự án đó
Ví dụ 19
SELECT p. PNumber, p. PName, COUNT(*)
FROM PROJECT p, WORKSON w
WHERE p.PNumber = w.PNum
GROUP BY p. PNumber, p.PName
11/22/2018
17
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
CÁC CÂU TRUY VẤN PHỨC TẠP 
TRONG SQL
• Với mỗi dự án có nhiều hơn hai nhân viên tham gia,
cho biết mã số dự án, tên dự án, và số nhân viên
tham gia dự án đó
Ví dụ 20
SELECT p.PNumber, p.PName, COUNT(*)
FROM PROJECT p, WORKSON w
WHERE p.PNumber = w.PNum
GROUP BY p.PNumber, p.PName
HAVING COUNT(*) > 2
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
CÁC CÂU TRUY VẤN PHỨC TẠP 
TRONG SQL
Công thức chung của câu truy vấn SQL
SELECT 
FROM 
[WHERE ]
[GROUP BY ]
[HAVING ]
[ORDER BY ]
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
CÁC LỆNH CẬP NHẬT TRONG 
SQL
• Thêm mới một (số) bộ dữ liệu vào quan hệ
• Bộ dữ liệu với các giá trị được liệt kê cùng trình tự với
các thuộc tính tương ứng được xác định trong câu
lệnh tạo quan hệ.
• Bắt buộc phải cung cấp giá trị đối với các thuộc tính
được khai báo là khác NULL và không có giá trị mặc
định
Lệnh INSERT
11/22/2018
18
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
CÁC LỆNH CẬP NHẬT TRONG 
SQL
• Thêm mới một bộ dữ liệu vào quan hệ EMPLOYEE
Ví dụ 21
INSERT INTO
EMPLOYEE
VALUES
(‘30121050004’,N’Mai Duy An’, 30000, ‘F’, 
’17/02/1968’, ‘30121050037’, 1, ‘15/06/2010’)
INSERT INTO
EMPLOYEE (ESSN, EName, DNum)
VALUES
(‘30121050004’, N‘Mai Duy An’,1)
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
CÁC LỆNH CẬP NHẬT TRONG 
SQL
• Xóa một (số) bộ thỏa mãn điều kiện được xác định trong mệnh
đề WHERE ra khỏi quan hệ
• Xóa tất cả các bộ ra khỏi quan hệ khi không có mệnh đề
WHERE trong câu lệnh
Lệnh DELETE
• Câu lệnh sau đây xóa các thân nhân của nhân viên có mã số
‘30121050180’
Ví dụ 21
DELETEFROM DEPENDENT WHERE ESSN = ‘30121050180’
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
CÁC LỆNH CẬP NHẬT TRONG 
SQL
• Xóa một (số) bộ thỏa mãn điều kiện được xác định trong mệnh
đề WHERE ra khỏi quan hệ
• Xóa tất cả các bộ ra khỏi quan hệ khi không có mệnh đề
WHERE trong câu lệnh
Lệnh DELETE
• Câu lệnh sau đây xóa tất cả thân nhân của các nhân viên trong
phòng có mã số 1
Ví dụ 22
DELETEFROM DEPENDENT
WHERE ESSN IN (SELECT ESSN
FROM EMPLOYEE
WHERE DNum=1)
11/22/2018
19
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
CÁC LỆNH CẬP NHẬT TRONG 
SQL
• Thay đổi giá trị một (số) thuộc tính của một (số) bộ thỏa mãn
điều kiện được xác định trong mệnh đề WHERE
• Thay đổi tất cả các bộ trong quan hệ khi không có mệnh đề
WHERE trong câu lệnh
Lệnh UPDATE
• Thay đổi địa điểm và đơn vị quản lý của dự án có mã số là 10
với các giá trị mới lần lượt là ‘Hà Nội’ và 5
Ví dụ 23
UPDATE PROJECT
SET PLocation = N’Hà Nội’, DNum=5
WHERE PNumber = 10
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
CÁC LỆNH CẬP NHẬT TRONG 
SQL
• Thay đổi giá trị một (số) thuộc tính của một (số) bộ thỏa mãn
điều kiện được xác định trong mệnh đề WHERE
• Thay đổi tất cả các bộ trong quan hệ khi không có mệnh đề
WHERE trong câu lệnh
Lệnh UPDATE
• Tăng lương cho mọi nhân viên của phòng Nghiên cứu lên 10%
lương hiện tại
Ví dụ 23
UPDATEEMPLOYEE
SET ESalary = ESalary *1.1
WHERE DNum IN (SELECT DNumber
FROM DEPARTMENT
WHERE DName = N’Phòng Nghiên cứu’)
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
BÀI TẬP TỔNG HỢP
• Hotel(hotelNo, hotelName, city)
• Room(roomNo, hotelNo, type, price)
• Booking(hotelNo, guestNo, dateFrom, dateTo, roomNo)
• Guest(guestNo, guestName, guestAddress)
Cơ sở dữ liệu
• Liệt kê danh sách tất cả khách sạn trong hệ thống.
• Liệt kê danh sách phòng đơn có giá từ 300.000 đến 450.000
• Liệt kê số lượng phòng đơn của từng khách sạn
• Liệt kê giá và loại phòng của những phòng còn trống tại khách
sạn Yasaka trong khoảng thời gian từ 01/09/2011 đến
08/09/2011.
Yêu cầu
11/22/2018
20
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
BÀI TẬP TỔNG HỢP
• Product(maker, model, type)
• PC(model, speed, ram, hd, price)
• Laptop(model, speed, ram, hd, screen, price)
• Printer(model, color, type, price)
Cơ sở dữ liệu mẫu
• Liệt kê các máy tính xách tay có RAM từ 2.0GB trở lên
• Liệt kê các máy in laser trắng đen
• Liệt kê các nhà cung cấp máy tính để bàn có ổ cứng
dưới 160GB
Các yêu cầu truy vấn
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
BÀI TẬP TỔNG HỢP
• Product(maker, model, type)
• PC(model, speed, ram, hd, price)
• Laptop(model, speed, ram, hd, screen, price)
• Printer(model, color, type, price)
Cơ sở dữ liệu mẫu
• Liệt kê những sản phẩm (mã sản xuất, giá) do công ty SS
sản xuất
• Liệt kê những công ty sản xuất máy tính để bàn nhưng
không sản xuất máy tính xách tay
• Liệt kê những cặp máy tính để bàn có cùng tốc độ xử lý và
kích thước ổ cứng
Các yêu cầu truy vấn
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
BÀI TẬP TỔNG HỢP
• Product(maker, model, type)
• PC(model, speed, ram, hd, price)
• Laptop(model, speed, ram, hd, screen, price)
• Printer(model, color, type, price)
Cơ sở dữ liệu mẫu
• Liệt kê những công ty sản xuất máy tính, nhưng
không sản xuất máy tính có tốc độ dưới 1.6GHz
• Liệt kê những công ty sản xuất ra ít nhất ba sản phẩm
máy tính để bàn có tốc độ xử lý khác nhau
• Liệt kê những máy để bàn có tốc độ xử lý nhanh nhất
Các yêu cầu truy vấn
11/22/2018
21
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
BÀI TẬP TỔNG HỢP
 Liệt kê tất cả nhân viên nữ trong công ty
 Liệt kê tất cả nhân viên nữ có mức lương trên 30.000
 Liệt kê tất cả nhân viên nữ ở độ tuổi từ 25 đến 40
 Liệt kê tất cả nhân viên nữ vừa được tuyển dụng trong năm 
nay
DEPARTMENT
DNumber
DName
mgrSSN
mgrStartdate
DEPENDENT
DName
ESSN
DSex
DBirthdate
DRelationship
DEPLOCATION
DNum
DLocation
EMPLOYEE
ESSN
EName
ESalary
ESex
EBirthdate
EStartdate
DNum
supervisorSSN
PROJECT
PNumber
PName
PLocation
DNum
WORKSON
ESSN
PNum
workHours
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
BÀI TẬP TỔNG HỢP
 Liệt kê tên, tuổi của các nhân viên có từ 5 năm kinh nghiệm 
trở lên
 Liệt kê tên, số năm công tác của các nhân viên có mức lương 
trên 45.000
DEPARTMENT
DNumber
DName
mgrSSN
mgrStartdate
DEPENDENT
DName
ESSN
DSex
DBirthdate
DRelationship
DEPLOCATION
DNum
DLocation
EMPLOYEE
ESSN
EName
ESalary
ESex
EBirthdate
EStartdate
DNum
supervisorSSN
PROJECT
PNumber
PName
PLocation
DNum
WORKSON
ESSN
PNum
workHours
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
BÀI TẬP TỔNG HỢP
 Liệt kê các nhân viên đã từng tham gia cùng dự án với nhân 
viên có mã số 001
 Liệt kê các nhân viên chưa từng tham gia dự án do đơn vị số 
1 quản lý
DEPARTMENT
DNumber
DName
mgrSSN
mgrStartdate
DEPENDENT
DName
ESSN
DSex
DBirthdate
DRelationship
DEPLOCATION
DNum
DLocation
EMPLOYEE
ESSN
EName
ESalary
ESex
EBirthdate
EStartdate
DNum
supervisorSSN
PROJECT
PNumber
PName
PLocation
DNum
WORKSON
ESSN
PNum
workHours
11/22/2018
22
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
BÀI TẬP TỔNG HỢP
 Liệt kê các dự án không có nhân viên phòng số 1 tham gia
 Liệt kê các nhân viên cùng đơn vị với nhân viên mã số 001
nhưng chưa từng tham gia cùng dự án với người đó
DEPARTMENT
DNumber
DName
mgrSSN
mgrStartdate
DEPENDENT
DName
ESSN
DSex
DBirthdate
DRelationship
DEPLOCATION
DNum
DLocation
EMPLOYEE
ESSN
EName
ESalary
ESex
EBirthdate
EStartdate
DNum
supervisorSSN
PROJECT
PNumber
PName
PLocation
DNum
WORKSON
ESSN
PNum
workHours
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
BÀI TẬP TỔNG HỢP
 Liệt kê tên, tuổi, mức lương của các nhân viên trong phòng
Kinh doanh
 Liệt kê các dự án do phòng Kinh doanh quản lý
 Liệt kê tên, tuổi của các nhân viên đã từng tham gia các dự
án do phòng Kinh doanh quản lý
DEPARTMENT
DNumber
DName
mgrSSN
mgrStartdate
DEPENDENT
DName
ESSN
DSex
DBirthdate
DRelationship
DEPLOCATION
DNum
DLocation
EMPLOYEE
ESSN
EName
ESalary
ESex
EBirthdate
EStartdate
DNum
supervisorSSN
PROJECT
PNumber
PName
PLocation
DNum
WORKSON
ESSN
PNum
workHours
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
BÀI TẬP TỔNG HỢP
 Liệt kê tên, tuổi, mức lương, đơn vị công tác của các trưởng
đơn vị
 Liệt kê tên, tuổi, mức lương của các nhân viên trong phòng
Kinh doanh nhưng chưa từng tham gia bất kỳ dự án do phòng
này quản lý
DEPARTMENT
DNumber
DName
mgrSSN
mgrStartdate
DEPENDENT
DName
ESSN
DSex
DBirthdate
DRelationship
DEPLOCATION
DNum
DLocation
EMPLOYEE
ESSN
EName
ESalary
ESex
EBirthdate
EStartdate
DNum
supervisorSSN
PROJECT
PNumber
PName
PLocation
DNum
WORKSON
ESSN
PNum
workHours
11/22/2018
23
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
BÀI TẬP TỔNG HỢP
 Cho biết tên đơn vị, tên dự án do đơn vị đó quản lý (nếu có)
 Cho biết tên đơn vị, tên trưởng đơn vị, tên dự án do đơn vị đó
quản lý (nếu có)
DEPARTMENT
DNumber
DName
mgrSSN
mgrStartdate
DEPENDENT
DName
ESSN
DSex
DBirthdate
DRelationship
DEPLOCATION
DNum
DLocation
EMPLOYEE
ESSN
EName
ESalary
ESex
EBirthdate
EStartdate
DNum
supervisorSSN
PROJECT
PNumber
PName
PLocation
DNum
WORKSON
ESSN
PNum
workHours
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
BÀI TẬP TỔNG HỢP
 Cho biết tên, mã số và mức lương trung bình của mỗi đơn vị
 Cho biết tên, mã số và số giờ tham gia dự án của từng nhân
viên
DEPARTMENT
DNumber
DName
mgrSSN
mgrStartdate
DEPENDENT
DName
ESSN
DSex
DBirthdate
DRelationship
DEPLOCATION
DNum
DLocation
EMPLOYEE
ESSN
EName
ESalary
ESex
EBirthdate
EStartdate
DNum
supervisorSSN
PROJECT
PNumber
PName
PLocation
DNum
WORKSON
ESSN
PNum
workHours

File đính kèm:

  • pdfbai_giang_co_so_du_lieu_chuong_5_ngon_ngu_truy_van_co_cau_tr.pdf