SlideShare a Scribd company logo
1 of 124
Download to read offline
1
Trường Đại học Công nghệ thông tin
Ôn thi cao học năm 2009
Đại số quan hệ và ngôn ngữ SQL
Relational Algebra & SQL
PGS.TS. Đỗ Phúc
Khoa Hệ thống thông tin
2
Năm phép toán cơ bản
• Selection ( σ ) : chọn.
• Projection ( π ) : chiếu.
• Descartes-product ( × ) tích Descartes.
• Set-difference ( — ) hiệu
• Union ( ∪ ) hợp.
3
sname rating
yuppy 9
lubber 8
guppy 5
rusty 10
Chiếu (projection)
sid sname rating age
28 yuppy 9 35.0
31 lubber 8 55.5
44 guppy 5 35.0
58 rusty 10 35.0
)2(
,
S
ratingsname
π
S2
age
35.0
55.5Ví dụ:
Chỉ giữ lại các thuộc tính được
chỉ định trong danh sách chiếu. πage S( )2
4
Chọn -selection (σ)
• Chọn các dòng thỏa điều kiện.
σrating
S
>8
2( )
sname rating
yuppy 9
rusty 10
π σsname rating rating
S
,
( ( ))
>8
2
sid sname rating age
28 yuppy 9 35.0
31 lubber 8 55.5
44 guppy 5 35.0
58 rusty 10 35.0
5
Hợp và hiệu
• Các phép toán này yêu cầu 2 quan hệ nhập phải
tương thích
– Cùng số thuộc tính.
– Cùng tên và kiểu.
6
Hợp- Union
sid sname rating age
22 dustin 7 45.0
31 lubber 8 55.5
58 rusty 10 35.0
44 guppy 5 35.0
28 yuppy 9 35.0
S S1 2∪
sid sname rating age
22 dustin 7 45.0
31 lubber 8 55.5
58 rusty 10 35.0
sid sname rating age
28 yuppy 9 35.0
31 lubber 8 55.5
44 guppy 5 35.0
58 rusty 10 35.0
S1
S2
7
Hiệu- Set Difference
sid sname rating age
22 dustin 7 45.0
31 lubber 8 55.5
58 rusty 10 35.0
sid sname rating age
28 yuppy 9 35.0
31 lubber 8 55.5
44 guppy 5 35.0
58 rusty 10 35.0
S1
S2
sid sname rating age
22 dustin 7 45.0
S S1 2−
S2 – S1
sid sname rating age
28 yuppy 9 35.0
44 guppy 5 35.0
8
Toán tử giao ( Intersection)
• các quan hệ phải tương thích
• Có thể biểu diễn qua phép hợp và phép hiệu
R ∩ S = R − (R − S)
9
Giao - Intersection
sid sname rating age
22 dustin 7 45.0
31 lubber 8 55.5
58 rusty 10 35.0
sid sname rating age
28 yuppy 9 35.0
31 lubber 8 55.5
44 guppy 5 35.0
58 rusty 10 35.0
S1
S2
sid sname rating age
31 lubber 8 55.5
58 rusty 10 35.0
S S1 2∩
10
Tích Descartes
• Kết từng dòng của quan hệ đầu ( R ) với từng
dòng của quan hệ thứ hai (S):
R X S
11
Ví dụ về tích Descartes
Students Courses
stud# name course course# name
100 Fred PH PH Pharmacy
200 Dave CM CM Computing
300 Bob CM
Students X Courses =
stud# Students.name course course# Courses.name
100 Fred PH PH Pharmacy
100 Fred PH CM Computing
200 Dave CM PH Pharmacy
200 Dave CM CM Computing
300 Bob CM PH Pharmacy
300 Bob CM CM Computing
12
Theta kết
• Tích Descartes có áp dụng điều kiện:
R ⋈ <condition> S
13
Ví dụ về Theta kết
Students Courses
stud# name course course# name
100 Fred PH PH Pharmacy
200 Dave CM CM Computing
300 Bob CM
Students ⋈ stud# = 200 Courses
stud# Students.name course course# Courses.name
200 Dave CM PH Pharmacy
200 Dave CM CM Computing
14
Phép kết trong :Inner Join (Equijoin)
• Phép kết Theta với điều kiện <condition> là
bằng nhau (=) giữa khóa chính và khóa ngoại.
R ⋈ <R.primary_key = S.foreign_key> S
15
Ví dụ về Inner Join
Students Courses
stud# name course course# name
100 Fred PH PH Pharmacy
200 Dave CM CM Computing
300 Bob CM
Students ⋈ course = course# Courses
stud# Students.name course course# Courses.name
100 Fred PH PH Pharmacy
200 Dave CM CM Computing
300 Bob CM CM Computing
16
Phép kết tự nhiên ( natural join)
• Phép kết trong (inner join) sinh ra dữ liệu dư (trong ví dụ trước
ta có: course và course#). Để loại bỏ trường hợp trùng này, ta
dùng:
π < stud#, Students.name, course, Courses.name >
(Students ⋈ <course = course#> Courses)
hay
R1= Students ⋈ <course = course#> Courses
R2= π < stud#, Students.name, course, Courses.name > R1
Kết quả này được gọi là kết tự nhiên (natural join) giữa Students
và Courses
17
Ví dụ về kết tự nhiên (Natural Join)
Students Courses
stud# name course course# name
100 Fred PH PH Pharmacy
200 Dave CM CM Computing
300 Bob CM
R1= Students ⋈ <course = course#> Courses
R2= π < stud#, Students.name, course, Courses.name > R1
stud# Students.name course Courses.name
100 Fred PH Pharmacy
200 Dave CM Computing
300 Bob CM Computing
18
Phép kết ngoài (Outer Joins)
• Phép kết trong + các dòng của bảng không thỏa
<condition>.
• Phép kết ngoài trái: R <R.primary_key = S.foreign_key> S
Tất cả các dòng trong R được giữ lại và các dòng không thỏa của
S được dồn các trị NULL
• Phép kết ngoài phải: R <R.primary_key = S.foreign_key> S
Tất cả các dòng trong S được giữ lại và các dòng không thỏa của
R được dồn các trị NULL
19
Ví dụ về phép kết ngoài trái
Left Outer Join
Students Courses
stud# name course course# name
100 Fred PH PH Pharmacy
200 Dave CM CM Computing
400 Peter EN CH Chemistry
Students <course = course#> Courses
stud# Students.name course course# Courses.name
100 Fred PH PH Pharmacy
200 Dave CM CM Computing
400 Peter EN NULL NULL
20
Ví dụ về phép kết ngoài phải
Right Outer Join
Students Courses
stud# name course course# name
100 Fred PH PH Pharmacy
200 Dave CM CM Computing
400 Peter EN CH Chemistry
Students <course = course#> Courses
stud# Students.name course course# Courses.name
100 Fred PH PH Pharmacy
200 Dave CM CM Computing
NULL NULL NULL CH Chemistry
21
Phép chia: Division
• Dùng cho biểu thức “tất cả ” trong truy vấn sau:
Tìm mã thủy thủ (sids) đặt tất cả (all) các thuyền
(boats).
• Vd: cho A có 2 thuộc tính x và y; B chỉ có một
thuộc tính y:
A/B (chia) chứa tất cả các bộ (x) sao cho mọi
bộ y trong B đều có bộ xy trong A.
{ }),( AyxByxBA ∈∃∈∀=
22
Ví dụ phép chia A/B
sno pno
s1 p1
s1 p2
s1 p3
s1 p4
s2 p1
s2 p2
s3 p2
s4 p2
s4 p4
pno
p2
pno
p2
p4
pno
p1
p2
p4
sno
s1
s2
s3
s4
sno
s1
s4
A
B1
B2
A/B1 A/B2
B3
sno
s1
A/B3
23
Ví dụ về phép chia
• Tìm tất cả khách hàng có tài khoản tại tất cả chi
nhánh nằm ở ChVille
– Branch (bname, assets, bcity)
– Account (bname, acct#, cname, balance)
24
Ví dụ về phép chia
R1: Tìm tất cả các chi nhánh tại Chville
R2: Tìm cặp (bname, cname) từ Account
R3: Các khách của r2 có tài khoản tại tất cả chi nhánh có
tên trong r1
123
)(2
)(1
,
''
rrr
Accountr
r
cnamebname
Branch
Chvillebcitybname
÷=
=
=
=
π
σπ
25
Biểu diễn phép chia A/B dùng các toán tử cơ
bản
)))((( ABAxx −×ππ
26
Cơ sở dữ liệu
• Cho CSDL câu lạc bộ thuyền buồm
• Sailors(Sid,Sname, rating, age):thủy thủ
• Boat(Bid,color): thuyền
• Reserves(Sid,Bid,ReservedDate):đặt chỗ
27
Tìm tên thủy thủ (sailors) đặt thuyền có mã
(bid) #103
π σsname bid
serves Sailors(( Re ) )
=103
><• Solution 1:
• Solution 2: π σsname bid
serves Sailors( (Re ))
=103
><
Sailors(Sid,Sname, rating, age):thủy thủ
Boat(Bid,color): thuyền
Reserves(Sid,Bid,ReservedDate):đặt chỗ
28
Tìm tên thủy thủ (sailors) đặt thuyền màu
đỏ ( red boat)
• Thông tin về màu đỏ chỉ có trong quan hệ
Boats, ta cần thêm một phép kết:
π σsname color red
Boats serves Sailors((
' '
) Re )
=
>< ><
Giải pháp tốt hơn ( tối ưu truy vấn):
π π π σsname sid bid color red
Boats s Sailors( ((
' '
) Re ) )
=
>< ><
Sailors(Sid,Sname, rating, age):thủy thủ
Boat(Bid,color): thuyền
Reserves(Sid,Bid,ReservedDate):đặt chỗ
29
Tìm tên thủy thủ (sailors) đặt thuyền màu đỏ
và màu xanh lục
ρ π σ( , ((
' '
) Re ))Tempred
sid color red
Boats serves
=
><
π sname Tempred Tempgreen Sailors(( ) )∩ ><
ρ π σ( , ((
' '
) Re ))Tempgreen
sid color green
Boats serves
=
><
30
Tìm tên thủy thủ (sailors) đặt tất cả các
thuyền
• Phép chia:
ρ π π( , (
,
Re ) / ( ))Tempsids
sid bid
serves
bid
Boats
π sname Tempsids Sailors( )><
Sailors(Sid,Sname, rating, age):thủy thủ
Boat(Bid,color): thuyền
Reserves(Sid,Bid,ReservedDate):đặt chỗ
31
Chứng minh biểu thức đại số quan hệ
Cho q là quan hệ trên tập thuộc tính RS ( R∪S), chứng
minh: q ⊆ ∏R( q) ∏S(q)
Chứng minh:
Cho t ∈ q, theo đ/n của phép chiếu t[R] ∈ ∏R( q) và
t[S] ∈ ∏S(q)
Ta có theo định nghĩa của phép kết:
t[RS] ∈ ∏R( q) ∏S(q)
Do vậy t =t[RS] ∈ ∏R( q) ∏S(q)
32
Chứng minh biểu thức đại số quan hệ
• Cho quan hệ r(R) , A và B là hai thuộc tính của
quan hệ R, chứng minh:
σ A=a (σ B=b(r) ) = σ B=b (σ A=a(r) )
• Chứng minh:
σ A=a (σ B=b(r) ) = σ A=a ({t ∈r | t[B]=b})=
{t’ ∈ {t ∈ r | t[B]=b}| t’[A]=a }=
{t ∈r| t[A]=a ∧ t[B]=b }=
{t’ ∈ {t ∈ r | t[A]=a}| t’[B]=b }=
σ B=b (σ A=a(r) )
33
Chứng minh biểu thức đại số quan hệ
• Cho 2 quan hệ r, s , A là thuộc tính của quan hệ
R,S. Chứng minh:
σ A=a (r ∩ s) = σ A=a ( r) ∩ σ A=a(s) )
• Chứng minh:
σ A=a (r ∩ s) =σ A=a (t ∈ r ∧ t ∈ s) =
{ t’ ∈ {t|t ∈ r ∧ t ∈ s}| t[A]=a}=
{t|t ∈ r và t[A]=a} ∩ {t|t ∈ s và t[A]=a }
σ A=a ( r ) ∩ σ A=a ( s )
34
Đại số quan hệ và ngôn ngữ SQL
35
Toán tử một ngôi (unary operations)
Selection
σ course = ‘Computing’ Students
In SQL:
Select *
From Students
Where course = ‘Computing’;
Projection
π stud#, name Students
In SQL:
Select stud#, name
From Students;
Selection & Projection
π stud#, name (σ course = ‘Computing’ Students)
In SQL:
Select stud#, name
From students
Where course = ‘Computing’;
36
Toán tử hai ngôi/kết
Binary Operations/Joins
Tích Descartes: Students X Courses
In SQL:
Select *
From Students, Courses;
Theta kết: Students ⋈ <stud# =200> Courses
In SQL:
Select *
From Students, Courses
Where stud# = 200;
37
Toán tử hai ngôi/kết
Inner Join (Equijoin): Students ⋈ <course=course#> Courses
In SQL:
Select *
From Students, Courses
Where course=course#;
Natural Join:
R1= Students ⋈ <course = course#> Courses
R2= π < stud#, Students.name, course, Courses.name > R1
In SQL:
Select stud#, Students.name, course, Courses.name
From Students, Courses
Where course=course#;
38
Phép kết ngoài (Outer Joins)
Left Outer Join
Students <course = course#> Courses
In SQL:
Select *
From Students, Courses
Where course = course#(+)
Right Outer Join
Students <course = course#> Courses
In SQL:
Select *
From Students, Courses
Where course(+) = course#
39
Tổ hợp các phép toán một ngôi và hai ngôi
R1= Students ⋈ <course=course#> Courses
R2= σ <address=“Aberdeen”> R1
R3= π <Students.name, Course.name> R2
In SQL:
Select Students.name, Courses.name
From Students, Courses
Where course=course#
AND address=“Aberdeen”;
40
Các toán tử tập hợp
Union: R ∪ S
In SQL:
Select * From R
Union
Select * From S;
Intersection: R ∩ S
In SQL:
Select * From R
Intersect
Select * From S;
Difference: R - S
In SQL:
Select * From R
Minus
Select * From S;
41
Các toán tử trong SQL
Between, In, Like, Not
42
Các toán tử SQL
SELECT *
FROM Book
WHERE catno BETWEEN 200 AND 400;
SELECT *
FROM Product
WHERE prod_desc BETWEEN ‘C’ AND ‘S’;
SELECT *
FROM Book
WHERE catno NOT BETWEEN 200 AND 400;
43
Các toán tử SQL
SELECT Catno
FROM Loan
WHERE Date-Returned IS NULL;
SELECT Catno
FROM Loan
WHERE Date-Returned IS NOT NULL;
44
Các toán tử SQL
SELECT Name
FROM Member
WHERE memno IN (100, 200, 300, 400);
SELECT Name
FROM Member
WHERE memno NOT IN (100, 200, 300, 400);
45
Các toán tử SQL
SELECT Name
FROM Member
WHERE address NOT LIKE ‘%Aberdeen%’;
SELECT Name
FROM Member
WHERE Name LIKE ‘_ES%’;
Note: In MS Access, use * and # instead of % and _
46
Chọn giá trị phân biệt
Student
stud# name address
100Fred Aberdeen
200Dave Dundee
300Bob Aberdeen
SELECT Distinct address
FROM Student;
address
Aberdeen
Dundee
47
Các bài tập về SQL
48
Lược đồ CSDL
• Professor(ssn, profname, status, salary)
• Course(crscode, crsname, credits)
• Taught(crscode, semester, ssn)
Giá định (1) Mỗi khóa học chỉ có một giáo sư phụ trách
trong trong mỗi học kỳ; (2) tất cả giáo sư đều có lương
khác nhau; (3) tất cả giáo sư có tên khác nhau; (4) tất cả
khóa học có tên khác nhau; (5) thuộc tính status có thể
có các giá trị “Full”, “Associate”, và “Assistant”.
49
Truy vấn 1
Liệt kê tất cả giáo sư đã dạy khóa học
có mã ‘CSC6710’ nhưng không dạy
khóa học có mã ‘CSC7710’.
50
Lời giải ĐSQH
πssn(σcrscode=‘CSC6710’(Taught))-
πssn(σcrscode=‘CSC7710’(Taught))
51
Lời giải SQL
(SELECT ssn
From Taught
Where crscode = ‘CSC6710’)
EXCEPT
(SELECT ssn
From Taught
Where crscode = ‘CSC7710’))
52
Truy vấn 2
Liệt kê các giáo sư đã dạy các khóa học
có mã ‘CSC6710’ và ‘CSC7710’.
53
Đại số quan hệ
πssn(σcrscode=‘CSC6710’ ∧ crscode=‘CSC7710’
(Taught), SAI!
πssn(σcrscode=‘CSC6710’(Taught)) ∩
πssn(σcrscode=‘CSC7710’(Taught)), ĐÚNG!
54
SQL
SELECT T1.ssn
From Taught T1, Taught T2,
Where T1.crscode = ‘CSC6710’ AND T2.crscode=‘CSC7710’ AND
T1.ssn=T2.ssn
55
Truy vấn 3
Liệt kê các giáo sư không dạy môn có
mã số ‘CSC7710’.
56
Đại số quan hệ
πssn(σcrscode<>‘csc7710’(Taught)), SAI!
πssn(Professor)-πssn(σcrscode=‘csc7710’(Taught)),
ĐÚNG!
57
SQL
(SELECT ssn
From Professor)
EXCEPT
(SELECT ssn
From Taught T
Where T.crscode = ‘CSC7710’)
58
Truy vấn 4
Liệt kê các giáo sư đã dạy môn học có
mã ‘CSC6710’ và ‘CSC7710” trong
cùng một học kỳ
59
Đại số quan hệ
πssn(σcrscode1=‘CSC6710’(Taught[crscode1, ssn,
semester])
σcrscode2=‘CSC7710’(Taught[crscode2, ssn,
semester]))
60
SQL
SELECT T1.ssn
From Taught T1, Taught T2,
Where T1.crscode = ‘CSC6710’ AND T2.crscode=‘CSC7710’ AND
T1.ssn=T2.ssn AND T1.semester=T2.semester
61
Truy vấn 5
Liệt kê các giáo sư đã dạy môn có mã
‘CSC6710’ hay môn học có mã
‘CSC7710” nhưng không dạy cả hai
môn.
62
Đại số quan hệ
πssn(σcrscode=‘CSC6710’ ∨
crscode=‘CSC7710’(Taught))-
(πssn(σcrscode=‘CSC6710’(Taught)) ∩
πssn(σcrscode=‘CSC7710’(Taught)))
63
SQL
(SELECT ssn
FROM Taught T
WHERE T.crscode=‘CSC6710’ OR T.crscode=‘CSC7710’)
Except
(SELECT T1.ssn
From Taught T1, Taught T2,
Where T1.crscode = ‘CSC6710’) AND T2.crscode=‘CSC7710’ AND
T1.ssn=T2.ssn)
64
Truy vấn 6
Trả về các khóa học không bao giờ mở.
65
Đại số quan hệ
πcrscode(Course)-πcrscode(Taught)
66
SQL
(SELECT crscode
FROM Course)
EXCEPT
(SELECT crscode
FROM TAUGHT
)
67
Truy vấn 7
Liệt kê các khóa học được dạy tối thiểu
trong 2 học kỳ.
68
Đại số quan hệ
πcrscode(σ semester1 <> semester2(
Taught[crscode, ssn1, semester1]
Taught[crscode, ssn2, semester2]))
69
SQL
SELECT T1.crscode
FROM Taught T1, Taught T2
WHERE T1.crscode=T2.crscode AND T1.semester <> T2.semester
70
Truy vấn 8
Liệt kê các khóa học được dạy trong ít
nhất là 10 học kỳ.
71
SQL
SELECT crscode
FROM Taught
GROUP BY crscode
HAVING COUNT(*) >= 10
72
Truy vấn 9
Liệt kê các khóa học được dạy trong ít
nhất là 5 giáo sư khác nhau.
73
SQL
SELECT crscode
FROM (SELECT DISTINCT crscode, ssn FROM TAUGHT)
GROUP BY crscode
HAVING COUNT(*) >= 5
SELECT crscode
FROM Course C
WHERE (SELECT COUNT(DISTINCT *) FROM Taught T
WHERE T.crscode = C.crscode
) >=5.
74
Truy vấn 10
Liệt kê tên các giáo sư đã dạy khóa học
có mã ‘CSC6710’.
75
Đại số quan hệ
πprofname(σcrscode=‘CSC6710’(Taught)
Professor)
76
SQL
SELECT P.profname
FROM Professor P, Taught T
WHERE P.ssn = T.ssn AND T.crscode = ‘CSC6710’
77
Truy vấn 11
Liệt kê tên của các full professors đã
dạy môn học có mã ‘CSC6710’.
78
Đại số quan hệ
πprofname(σcrscode=‘csc6710’(Taught)
σstatus=‘full’(Professor))
79
SQL
SELECT P.profname
FROM Professor P, Taught T
WHERE P.status = ‘full’ AND P.ssn = T.ssn AND T.crscode = ‘CSC6710’
80
Truy vấn 12
Liệt kê tên của các full professors đã
dãy ít nhất là 2 khóa học trong một học
kỳ.
81
Đại số quan hệ
πprofname(πssn(σ crscode1 <> crscode2(
Taught[crscode1, ssn, semester]
Taught[crscode2, ssn, semester])))
σ status=‘full’(Professor))
82
SQL
SELECT P.profname
FROM Professor P, Taught T1, Taught T2
WHERE P.status = ‘Full’ AND P.ssn = T1.ssn AND T1.ssn = T2.ssn
AND T1.crscode <> T2.crscode AND T1.semester = T2.semester
83
SQL
SELECT P.profname
FROM Professor P
WHERE status = ‘Full’ AND ssn IN(
SELECT ssn
FROM Taught
GROUP BY ssn, semester
HAVING COUNT(*) >= 2
)
84
Truy vấn 13
Xóa các giáo sư không dạy khóa học
nào.
85
SQL
DELETE FROM Professor
WHERE ssn NOT IN
(SELECT ssn
FROM Taught
)
86
SQL
DELETE FROM Professor
WHERE ssn IN
(
(SELECT ssn FROM Professor)
EXCEPT
(SELECT ssn FROM Taught)
)
87
SQL
DELETE FROM Professor P
WHERE NOT EXISTS
(
SELECT * FROM Taught T
WHERE T.ssn = P.ssn
)
88
Truy vấn 14
Đổi tất cả tín chỉ (credits) sang 4 cho
các khóa học được giảng dạy trong học
kỳ mùa thu năm 2006 (f2006 semester).
89
SQL
UPDATE Course
SET credits = 4
WHERE crscode IN
(
SELECT crscode
FROM Taught
WHERE semester = ‘f2006’
)
90
Truy vấn 15
Liệt kê tên của các giáo sư đã dạy hơn
30 tín chỉ khóa học.
91
SQL
SELECT profname
FROM Professor
WHERE ssn IN
(
SELECT T.ssn
FROM Taught T, Course C
WHERE T.crscode = C.crscode
GROUP BY T.ssn
HAVING SUM(C.credits) > 30
)
92
Truy vấn 16
Liệt kê tên của các giáo sư đã dạy nhiều
khóa học nhất trong học kỳ mùa xuân
năm 2006 (S2006).
93
SQL
SELECT profname
FROM Professor
WHERE ssn IN(
SELECT ssn FROM Taught
WHERE semester = ‘S2006’
GROUP BY ssn
HAVING COUNT(*) =
(SELECT MAX(Num)
FROM
(SELECT ssn, COUNT(*) as Num
FROM Taught
WHERE semester = ‘S2006’
GROUP BY ssn)
)
)
94
Truy vấn 17
Liệt kê tên các khóa học mà giáo sư
‘Smith” đã dạy trong học kỳ mùa thu
năm 2007.
95
Đại số quan hệ
πcrsname(σprofname=‘Smith’(Professor)
σsemester=‘f2007’(Taught)
Course)
96
SQL
SELECT crsname
FROM Professor P, Taught T, Course C
WHERE P.profname = ‘Smith’ AND P.ssn = T.ssn AND
T.semester = ‘F2007’ AND T.crscode = C.crscode
97
Truy vấn 18
Hãy liệt kê theo thứ tự thời gian các
khóa học mà giáo sư có mã số ssn =
123456789 đã dạy trong từng học kỳ.
98
SQL
SELECT semester, COUNT(*)
FROM Taught
WHERE ssn = ‘123456789’
GROUP BY semester
ORDER BY semester ASC
99
Truy vấn 19
Hãy liệt kê theo thứ tự từ điển tên của
từng giáo sư và số các khóa học đã
giảng dạy.
100
SQL
SELECT P.profname, COUNT(*)
FROM Professor P, Taught T
WHERE P.ssn = T.ssn
GROUP BY P.ssn, P.profname
ORDER BY P.profname ASC
101
Truy vấn 20
Xóa các giáo sư đã dạy ít hơn 10 khóa
học.
102
SQL
DELETE FROM Professor
WHERE ssn IN(
SELECT ssn
FROM Taught
GROUP BY ssn
HAVING COUNT(*) < 10
)
103
Truy vấn 21
Xóa các giáo sư đã dạy ít hơn 40 tín
chỉ.
104
SQL
DELETE FROM Professor
WHERE ssn IN(
SELECT T.ssn
FROM Taught T, Course C
WHERE T.crscode = C.crscode
GROUP BY ssn
HAVING SUM(C.credits) < 40
)
105
Truy vấn 22
Liệt kê các giáo sư không dạy bất kỳ
khóa học nào trong 3 học kỳ (F2006,
W2007, F2007).
106
SQL
SELECT *
FROM Professor P
WHERE NOT EXISTS(
SELECT *
FROM Taught
WHERE P.ssn = T.ssn AND (T.semester = ‘F2006’ OR
T.semester = ‘W2007’ OR T.semester=‘F2007’))
)
107
Truy vấn 23
Liệt kê tên các khóa học mà giáo sư
Smith không dạy.
108
Đại số quan hệ
πcrsname(Course) -
πcrsname(σprofname=‘Smith’(Professor)
(Taught) Course)
109
SQL
SELECT crsname
FROM Course C
WHERE NOT EXISTS
SELECT *
FROM Professor P, Taught T
WHERE P.profname=‘Smith’ AND P.ssn = T.ssn AND
T.crscode = C.crscode
)
110
Truy vấn 24
Liệt kê tên các khóa học được giảng
dạy bởi tất cả giáo sư.
111
Đại số quan hệ
πcrscode, ssn(Taught)/ πssn(Professor)
112
SQL
SELECT crscode
FROM Taught T1
WHERE NOT EXISTS(
(SELECT ssn
FROM Professor)
EXCEPT
(SELECT ssn
FROM Taught T2
WHERE T2.crscode = T1.crscode)
)
113
Truy vấn 25
Liệt kê tên của các khóa học được
giảng dạy trong tất cả các học kỳ.
114
Đại số quan hệ
πcrscode, semester(Taught)/ πsemester(Taught)
115
SQL
SELECT crscode
FROM Taught T1
WHERE NOT EXISTS(
(SELECT semester
FROM Taught)
EXCEPT
(SELECT semester
FROM Taught T2
WHERE T2.crscode = T1.crscode)
)
116
Truy vấn 26
Liệt kê các khóa học CHỈ được giảng
dạy bởi các trợ lý giáo sư (assisitant)
professors.
117
Đại số quan hệ
πcrscode(Course) - πcrscode
(σstatus≠‘Assistant’(Professor) Taught)
118
SQL
SELECT crscode
FROM Course C
WHERE c.crscode NOT IN(
(SELECT crscode
FROM Taught T, Professor P
WHERE T.ssn = P.ssn AND P.status=‘Junior’
)
119
Truy vấn 27
Liệt kê tên của các giáo sư giảng dạy
nhiều khóa học nhất trong học kỳ Fall
2001.
120
SQL Solution
SELECT *
FROM Professor P1
WHERE Not EXISTS
(
SELECT *
FROM Professor P2
WHERE(
(SELECT COUNT(*)
FROM Taught
WHERE Taught.ssn = P2.ssn AND
Taught.semester=‘F2001’)
>
(SELECT COUNT(*)
FROM Taught
WHERE Taught.ssn = P1.ssn AND
Taught.semester=‘F2001’)
)
121
Truy vấn 28
Liệt kê tên của giáo sư có lương cao
nhất.
122
SQL Solution
SELECT *
FROM Professor
WHERE salary = (
(SELECT MAX(salary)
FROM Professor P
)
123
Truy vấn 29
Liệt kê tên của giáo sư có lương cao
xếp thứ nhì.
124
SQL Solution
SELECT *
FROM Professor P1
WHERE 1 = (
(SELECT COUNT(*)
FROM Professor P2
WHERE P2.salary > P1.salary
)

More Related Content

What's hot

THAM SỐ HÓA TRONG TỌA ĐỘ PHẲNG
THAM SỐ HÓA TRONG TỌA ĐỘ PHẲNGTHAM SỐ HÓA TRONG TỌA ĐỘ PHẲNG
THAM SỐ HÓA TRONG TỌA ĐỘ PHẲNGDANAMATH
 
Tóm tắt lý thuyết Vật Lý 12 - Thi Đại học
Tóm tắt lý thuyết Vật Lý 12 - Thi Đại họcTóm tắt lý thuyết Vật Lý 12 - Thi Đại học
Tóm tắt lý thuyết Vật Lý 12 - Thi Đại họcOanh MJ
 
Báo cáo Đồ án tốt nghiệp
Báo cáo Đồ án tốt nghiệpBáo cáo Đồ án tốt nghiệp
Báo cáo Đồ án tốt nghiệpDanh Huỳnh
 
[Báo cáo] Bài tập lớn Kỹ thuật phần mềm ứng dụng: Thiết kế hệ thống quản lý p...
[Báo cáo] Bài tập lớn Kỹ thuật phần mềm ứng dụng: Thiết kế hệ thống quản lý p...[Báo cáo] Bài tập lớn Kỹ thuật phần mềm ứng dụng: Thiết kế hệ thống quản lý p...
[Báo cáo] Bài tập lớn Kỹ thuật phần mềm ứng dụng: Thiết kế hệ thống quản lý p...The Nguyen Manh
 
[123doc] - ky-thuat-khan-trai-ban.ppt
[123doc] - ky-thuat-khan-trai-ban.ppt[123doc] - ky-thuat-khan-trai-ban.ppt
[123doc] - ky-thuat-khan-trai-ban.pptTuyetHa9
 
Đề thi mẫu trắc nghiệm cấu trúc dữ liệu cà giải thuật
Đề thi mẫu trắc nghiệm cấu trúc dữ liệu cà giải thuậtĐề thi mẫu trắc nghiệm cấu trúc dữ liệu cà giải thuật
Đề thi mẫu trắc nghiệm cấu trúc dữ liệu cà giải thuậtHưởng Nguyễn
 
Tích phân-3-Phương pháp biến đổi số-pages-30-43
Tích phân-3-Phương pháp biến đổi số-pages-30-43Tích phân-3-Phương pháp biến đổi số-pages-30-43
Tích phân-3-Phương pháp biến đổi số-pages-30-43lovestem
 
Thiết kế cài đặt mạng
Thiết kế cài đặt mạngThiết kế cài đặt mạng
Thiết kế cài đặt mạngHuu Phan
 
kỹ thuật giải phương trình hàm
kỹ thuật giải phương trình hàmkỹ thuật giải phương trình hàm
kỹ thuật giải phương trình hàmljmonking
 
Cac cong thuc tich phan
Cac cong thuc tich phanCac cong thuc tich phan
Cac cong thuc tich phanheocon19
 
Giáo trình SQL server tiếng việt
Giáo trình SQL server tiếng việtGiáo trình SQL server tiếng việt
Giáo trình SQL server tiếng việtThuyet Nguyen
 
Báo cáo phân tích thiết kế đồ án game
Báo cáo phân tích thiết kế đồ án game Báo cáo phân tích thiết kế đồ án game
Báo cáo phân tích thiết kế đồ án game Tạ Thành Đạt
 
XÂY DỰNG PHẦN MỀM QUẢN LÝ QUÁN CÀ PHÊ
XÂY DỰNG PHẦN MỀM QUẢN LÝ QUÁN CÀ PHÊ XÂY DỰNG PHẦN MỀM QUẢN LÝ QUÁN CÀ PHÊ
XÂY DỰNG PHẦN MỀM QUẢN LÝ QUÁN CÀ PHÊ nataliej4
 
KTMT Số Nguyên - Số Chấm Động
KTMT Số Nguyên - Số Chấm ĐộngKTMT Số Nguyên - Số Chấm Động
KTMT Số Nguyên - Số Chấm ĐộngDavid Nguyen
 

What's hot (20)

THAM SỐ HÓA TRONG TỌA ĐỘ PHẲNG
THAM SỐ HÓA TRONG TỌA ĐỘ PHẲNGTHAM SỐ HÓA TRONG TỌA ĐỘ PHẲNG
THAM SỐ HÓA TRONG TỌA ĐỘ PHẲNG
 
Tóm tắt lý thuyết Vật Lý 12 - Thi Đại học
Tóm tắt lý thuyết Vật Lý 12 - Thi Đại họcTóm tắt lý thuyết Vật Lý 12 - Thi Đại học
Tóm tắt lý thuyết Vật Lý 12 - Thi Đại học
 
Báo cáo Đồ án tốt nghiệp
Báo cáo Đồ án tốt nghiệpBáo cáo Đồ án tốt nghiệp
Báo cáo Đồ án tốt nghiệp
 
[Báo cáo] Bài tập lớn Kỹ thuật phần mềm ứng dụng: Thiết kế hệ thống quản lý p...
[Báo cáo] Bài tập lớn Kỹ thuật phần mềm ứng dụng: Thiết kế hệ thống quản lý p...[Báo cáo] Bài tập lớn Kỹ thuật phần mềm ứng dụng: Thiết kế hệ thống quản lý p...
[Báo cáo] Bài tập lớn Kỹ thuật phần mềm ứng dụng: Thiết kế hệ thống quản lý p...
 
[123doc] - ky-thuat-khan-trai-ban.ppt
[123doc] - ky-thuat-khan-trai-ban.ppt[123doc] - ky-thuat-khan-trai-ban.ppt
[123doc] - ky-thuat-khan-trai-ban.ppt
 
Đề thi mẫu trắc nghiệm cấu trúc dữ liệu cà giải thuật
Đề thi mẫu trắc nghiệm cấu trúc dữ liệu cà giải thuậtĐề thi mẫu trắc nghiệm cấu trúc dữ liệu cà giải thuật
Đề thi mẫu trắc nghiệm cấu trúc dữ liệu cà giải thuật
 
Tích phân-3-Phương pháp biến đổi số-pages-30-43
Tích phân-3-Phương pháp biến đổi số-pages-30-43Tích phân-3-Phương pháp biến đổi số-pages-30-43
Tích phân-3-Phương pháp biến đổi số-pages-30-43
 
Ktmt chuong 3
Ktmt chuong 3Ktmt chuong 3
Ktmt chuong 3
 
Chuyên Đề: Tích Phân
Chuyên Đề: Tích PhânChuyên Đề: Tích Phân
Chuyên Đề: Tích Phân
 
Đề tài: Xây dựng phần mềm quản lý quán cà phê, HOT, 9đ
Đề tài: Xây dựng phần mềm quản lý quán cà phê, HOT, 9đĐề tài: Xây dựng phần mềm quản lý quán cà phê, HOT, 9đ
Đề tài: Xây dựng phần mềm quản lý quán cà phê, HOT, 9đ
 
Đề thi kiểm tra học kì 2 môn Toán lớp 7 - Đề 1
Đề thi kiểm tra học kì 2 môn Toán lớp 7 - Đề 1Đề thi kiểm tra học kì 2 môn Toán lớp 7 - Đề 1
Đề thi kiểm tra học kì 2 môn Toán lớp 7 - Đề 1
 
Đề tài: Quản lý cửa hàng vật liệu xây dựng, HAY, 9đ
Đề tài: Quản lý cửa hàng vật liệu xây dựng, HAY, 9đĐề tài: Quản lý cửa hàng vật liệu xây dựng, HAY, 9đ
Đề tài: Quản lý cửa hàng vật liệu xây dựng, HAY, 9đ
 
Thiết kế cài đặt mạng
Thiết kế cài đặt mạngThiết kế cài đặt mạng
Thiết kế cài đặt mạng
 
kỹ thuật giải phương trình hàm
kỹ thuật giải phương trình hàmkỹ thuật giải phương trình hàm
kỹ thuật giải phương trình hàm
 
Cac cong thuc tich phan
Cac cong thuc tich phanCac cong thuc tich phan
Cac cong thuc tich phan
 
Giáo trình SQL server tiếng việt
Giáo trình SQL server tiếng việtGiáo trình SQL server tiếng việt
Giáo trình SQL server tiếng việt
 
Báo cáo phân tích thiết kế đồ án game
Báo cáo phân tích thiết kế đồ án game Báo cáo phân tích thiết kế đồ án game
Báo cáo phân tích thiết kế đồ án game
 
Đề tài: Thuật toán khai phá dữ liệu trong quản lý địa chỉ Internet
Đề tài: Thuật toán khai phá dữ liệu trong quản lý địa chỉ InternetĐề tài: Thuật toán khai phá dữ liệu trong quản lý địa chỉ Internet
Đề tài: Thuật toán khai phá dữ liệu trong quản lý địa chỉ Internet
 
XÂY DỰNG PHẦN MỀM QUẢN LÝ QUÁN CÀ PHÊ
XÂY DỰNG PHẦN MỀM QUẢN LÝ QUÁN CÀ PHÊ XÂY DỰNG PHẦN MỀM QUẢN LÝ QUÁN CÀ PHÊ
XÂY DỰNG PHẦN MỀM QUẢN LÝ QUÁN CÀ PHÊ
 
KTMT Số Nguyên - Số Chấm Động
KTMT Số Nguyên - Số Chấm ĐộngKTMT Số Nguyên - Số Chấm Động
KTMT Số Nguyên - Số Chấm Động
 

Viewers also liked

Cơ sở dữ liệu - Luyện thi cao học CNTT
Cơ sở dữ liệu - Luyện thi cao học CNTTCơ sở dữ liệu - Luyện thi cao học CNTT
Cơ sở dữ liệu - Luyện thi cao học CNTTbdkhoi296
 
Ôn tập tuyển sinh cao học môn CSDL 2013
Ôn tập tuyển sinh cao học môn CSDL 2013Ôn tập tuyển sinh cao học môn CSDL 2013
Ôn tập tuyển sinh cao học môn CSDL 2013anhhuycan83
 
Bao cao viem phuc mac ruot thua
Bao cao viem phuc mac ruot thuaBao cao viem phuc mac ruot thua
Bao cao viem phuc mac ruot thuaanhhuycan83
 
Slide co-so-du-lieu-chuong-8-csdl-huong-doi-tuong
Slide co-so-du-lieu-chuong-8-csdl-huong-doi-tuongSlide co-so-du-lieu-chuong-8-csdl-huong-doi-tuong
Slide co-so-du-lieu-chuong-8-csdl-huong-doi-tuonganhhuycan83
 
Phụ thuộc hàm và các dạng chuẩn - dhcntt
Phụ thuộc hàm và các dạng chuẩn - dhcnttPhụ thuộc hàm và các dạng chuẩn - dhcntt
Phụ thuộc hàm và các dạng chuẩn - dhcnttanhhuycan83
 
Bai tap va loi giai sql
Bai tap va loi giai sqlBai tap va loi giai sql
Bai tap va loi giai sql. .
 
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ọcChu TheKop
 
Cơ sở dữ liệu
Cơ sở dữ liệuCơ sở dữ liệu
Cơ sở dữ liệuThành Luân
 
Nguyên tắc 5S và các loại lãng phí_BS.TS. Lý Quốc Trung
Nguyên tắc 5S và các loại lãng phí_BS.TS. Lý Quốc TrungNguyên tắc 5S và các loại lãng phí_BS.TS. Lý Quốc Trung
Nguyên tắc 5S và các loại lãng phí_BS.TS. Lý Quốc TrungHA VO THI
 

Viewers also liked (13)

Cơ sở dữ liệu - Luyện thi cao học CNTT
Cơ sở dữ liệu - Luyện thi cao học CNTTCơ sở dữ liệu - Luyện thi cao học CNTT
Cơ sở dữ liệu - Luyện thi cao học CNTT
 
Ôn tập tuyển sinh cao học môn CSDL 2013
Ôn tập tuyển sinh cao học môn CSDL 2013Ôn tập tuyển sinh cao học môn CSDL 2013
Ôn tập tuyển sinh cao học môn CSDL 2013
 
Bao cao viem phuc mac ruot thua
Bao cao viem phuc mac ruot thuaBao cao viem phuc mac ruot thua
Bao cao viem phuc mac ruot thua
 
Slide co-so-du-lieu-chuong-8-csdl-huong-doi-tuong
Slide co-so-du-lieu-chuong-8-csdl-huong-doi-tuongSlide co-so-du-lieu-chuong-8-csdl-huong-doi-tuong
Slide co-so-du-lieu-chuong-8-csdl-huong-doi-tuong
 
Phụ thuộc hàm và các dạng chuẩn - dhcntt
Phụ thuộc hàm và các dạng chuẩn - dhcnttPhụ thuộc hàm và các dạng chuẩn - dhcntt
Phụ thuộc hàm và các dạng chuẩn - dhcntt
 
Bai tap va loi giai sql
Bai tap va loi giai sqlBai tap va loi giai sql
Bai tap va loi giai sql
 
Quoc
QuocQuoc
Quoc
 
Access buoi 8
Access buoi 8Access buoi 8
Access buoi 8
 
17406 bai giang csdl nang cao
17406   bai giang csdl nang cao17406   bai giang csdl nang cao
17406 bai giang csdl nang cao
 
Writing case report
Writing case reportWriting case report
Writing case report
 
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
 
Cơ sở dữ liệu
Cơ sở dữ liệuCơ sở dữ liệu
Cơ sở dữ liệu
 
Nguyên tắc 5S và các loại lãng phí_BS.TS. Lý Quốc Trung
Nguyên tắc 5S và các loại lãng phí_BS.TS. Lý Quốc TrungNguyên tắc 5S và các loại lãng phí_BS.TS. Lý Quốc Trung
Nguyên tắc 5S và các loại lãng phí_BS.TS. Lý Quốc Trung
 

Similar to Tsch csdl 01 - dhcntt

Cơ sở dữ liệu PTIT đại số quan hệ
Cơ sở dữ liệu PTIT đại số quan hệCơ sở dữ liệu PTIT đại số quan hệ
Cơ sở dữ liệu PTIT đại số quan hệNguynMinh294
 
Dap an-de-thi-mon-toan-vao-lop-10-chuyen-nam-2014-tinh-hai-duong
Dap an-de-thi-mon-toan-vao-lop-10-chuyen-nam-2014-tinh-hai-duongDap an-de-thi-mon-toan-vao-lop-10-chuyen-nam-2014-tinh-hai-duong
Dap an-de-thi-mon-toan-vao-lop-10-chuyen-nam-2014-tinh-hai-duongLinh Nguyễn
 
Dap an-de-thi-mon-toan-vao-lop-10-chuyen-nam-2014-tinh-hai-duong
Dap an-de-thi-mon-toan-vao-lop-10-chuyen-nam-2014-tinh-hai-duongDap an-de-thi-mon-toan-vao-lop-10-chuyen-nam-2014-tinh-hai-duong
Dap an-de-thi-mon-toan-vao-lop-10-chuyen-nam-2014-tinh-hai-duongLinh Nguyễn
 
Mathvn.com 11. toan tran phu lan 12014
Mathvn.com   11. toan tran phu lan 12014Mathvn.com   11. toan tran phu lan 12014
Mathvn.com 11. toan tran phu lan 12014Miễn Cưỡng
 
Đề thi thử môn toán tốt nghiệp THPT Quốc Gia 2018 - Đề 14
Đề thi thử môn toán tốt nghiệp THPT Quốc Gia 2018 - Đề 14Đề thi thử môn toán tốt nghiệp THPT Quốc Gia 2018 - Đề 14
Đề thi thử môn toán tốt nghiệp THPT Quốc Gia 2018 - Đề 14Nguyễn Thức
 
Đề thi môn Toán THPT Quốc Gia năm 2017 mã đề 118
Đề thi môn Toán THPT Quốc Gia năm 2017 mã đề 118Đề thi môn Toán THPT Quốc Gia năm 2017 mã đề 118
Đề thi môn Toán THPT Quốc Gia năm 2017 mã đề 118mcbooksjsc
 
Thiet Ke Co So Du Lieu2
Thiet Ke Co So Du Lieu2Thiet Ke Co So Du Lieu2
Thiet Ke Co So Du Lieu2Vo Oanh
 
TOÁN 9-CHUYÊN ĐỀ HÀM SỐ BẬC NHẤT VÀ PARABOL.pdf
TOÁN 9-CHUYÊN ĐỀ HÀM SỐ BẬC NHẤT VÀ PARABOL.pdfTOÁN 9-CHUYÊN ĐỀ HÀM SỐ BẬC NHẤT VÀ PARABOL.pdf
TOÁN 9-CHUYÊN ĐỀ HÀM SỐ BẬC NHẤT VÀ PARABOL.pdfBlue.Sky Blue.Sky
 
Đề thi môn Toán THPT Quốc Gia năm 2017 mã đề 124
Đề thi môn Toán THPT Quốc Gia năm 2017 mã đề 124Đề thi môn Toán THPT Quốc Gia năm 2017 mã đề 124
Đề thi môn Toán THPT Quốc Gia năm 2017 mã đề 124mcbooksjsc
 
Tom tat-li-thuyet-va-cong-thuc-giai-nhanh-toan-12-tran-quoc-nghia
Tom tat-li-thuyet-va-cong-thuc-giai-nhanh-toan-12-tran-quoc-nghiaTom tat-li-thuyet-va-cong-thuc-giai-nhanh-toan-12-tran-quoc-nghia
Tom tat-li-thuyet-va-cong-thuc-giai-nhanh-toan-12-tran-quoc-nghiaBlogTi
 
De thi thu mon toan 2013
De thi thu mon toan 2013De thi thu mon toan 2013
De thi thu mon toan 2013adminseo
 

Similar to Tsch csdl 01 - dhcntt (20)

Cơ sở dữ liệu PTIT đại số quan hệ
Cơ sở dữ liệu PTIT đại số quan hệCơ sở dữ liệu PTIT đại số quan hệ
Cơ sở dữ liệu PTIT đại số quan hệ
 
Đề Thi HK2 Toán 8 - THCS Đinh Thiện Lý
Đề Thi HK2 Toán 8 - THCS Đinh Thiện LýĐề Thi HK2 Toán 8 - THCS Đinh Thiện Lý
Đề Thi HK2 Toán 8 - THCS Đinh Thiện Lý
 
Đề Thi HK2 Toán 9 - THCS Chu Văn An
Đề Thi HK2 Toán 9 - THCS  Chu Văn AnĐề Thi HK2 Toán 9 - THCS  Chu Văn An
Đề Thi HK2 Toán 9 - THCS Chu Văn An
 
Đề Thi HK2 Toán 9 - THCS Chu Văn An Quận 11
Đề Thi HK2 Toán 9 - THCS  Chu Văn An Quận 11Đề Thi HK2 Toán 9 - THCS  Chu Văn An Quận 11
Đề Thi HK2 Toán 9 - THCS Chu Văn An Quận 11
 
Phu luca ham
Phu luca hamPhu luca ham
Phu luca ham
 
Dap an-de-thi-mon-toan-vao-lop-10-chuyen-nam-2014-tinh-hai-duong
Dap an-de-thi-mon-toan-vao-lop-10-chuyen-nam-2014-tinh-hai-duongDap an-de-thi-mon-toan-vao-lop-10-chuyen-nam-2014-tinh-hai-duong
Dap an-de-thi-mon-toan-vao-lop-10-chuyen-nam-2014-tinh-hai-duong
 
Dap an-de-thi-mon-toan-vao-lop-10-chuyen-nam-2014-tinh-hai-duong
Dap an-de-thi-mon-toan-vao-lop-10-chuyen-nam-2014-tinh-hai-duongDap an-de-thi-mon-toan-vao-lop-10-chuyen-nam-2014-tinh-hai-duong
Dap an-de-thi-mon-toan-vao-lop-10-chuyen-nam-2014-tinh-hai-duong
 
Định lý zsigmondy và Tính chất số học của đa thức.docx
Định lý zsigmondy và Tính chất số học của đa thức.docxĐịnh lý zsigmondy và Tính chất số học của đa thức.docx
Định lý zsigmondy và Tính chất số học của đa thức.docx
 
De thi giua hk1 toan 11
De thi giua hk1 toan 11De thi giua hk1 toan 11
De thi giua hk1 toan 11
 
Mathvn.com 11. toan tran phu lan 12014
Mathvn.com   11. toan tran phu lan 12014Mathvn.com   11. toan tran phu lan 12014
Mathvn.com 11. toan tran phu lan 12014
 
Đề thi thử môn toán tốt nghiệp THPT Quốc Gia 2018 - Đề 14
Đề thi thử môn toán tốt nghiệp THPT Quốc Gia 2018 - Đề 14Đề thi thử môn toán tốt nghiệp THPT Quốc Gia 2018 - Đề 14
Đề thi thử môn toán tốt nghiệp THPT Quốc Gia 2018 - Đề 14
 
Thi hkii lop 6
Thi hkii lop 6Thi hkii lop 6
Thi hkii lop 6
 
Đề thi môn Toán THPT Quốc Gia năm 2017 mã đề 118
Đề thi môn Toán THPT Quốc Gia năm 2017 mã đề 118Đề thi môn Toán THPT Quốc Gia năm 2017 mã đề 118
Đề thi môn Toán THPT Quốc Gia năm 2017 mã đề 118
 
Đề Thi HK2 Toán 9 - THCS Bình Trị Đông A
Đề Thi HK2 Toán 9 - THCS  Bình Trị Đông AĐề Thi HK2 Toán 9 - THCS  Bình Trị Đông A
Đề Thi HK2 Toán 9 - THCS Bình Trị Đông A
 
Thiet Ke Co So Du Lieu2
Thiet Ke Co So Du Lieu2Thiet Ke Co So Du Lieu2
Thiet Ke Co So Du Lieu2
 
TOÁN 9-CHUYÊN ĐỀ HÀM SỐ BẬC NHẤT VÀ PARABOL.pdf
TOÁN 9-CHUYÊN ĐỀ HÀM SỐ BẬC NHẤT VÀ PARABOL.pdfTOÁN 9-CHUYÊN ĐỀ HÀM SỐ BẬC NHẤT VÀ PARABOL.pdf
TOÁN 9-CHUYÊN ĐỀ HÀM SỐ BẬC NHẤT VÀ PARABOL.pdf
 
Đề Thi HK2 Toán 9 - THCS Đống Đa
Đề Thi HK2 Toán 9 - THCS  Đống ĐaĐề Thi HK2 Toán 9 - THCS  Đống Đa
Đề Thi HK2 Toán 9 - THCS Đống Đa
 
Đề thi môn Toán THPT Quốc Gia năm 2017 mã đề 124
Đề thi môn Toán THPT Quốc Gia năm 2017 mã đề 124Đề thi môn Toán THPT Quốc Gia năm 2017 mã đề 124
Đề thi môn Toán THPT Quốc Gia năm 2017 mã đề 124
 
Tom tat-li-thuyet-va-cong-thuc-giai-nhanh-toan-12-tran-quoc-nghia
Tom tat-li-thuyet-va-cong-thuc-giai-nhanh-toan-12-tran-quoc-nghiaTom tat-li-thuyet-va-cong-thuc-giai-nhanh-toan-12-tran-quoc-nghia
Tom tat-li-thuyet-va-cong-thuc-giai-nhanh-toan-12-tran-quoc-nghia
 
De thi thu mon toan 2013
De thi thu mon toan 2013De thi thu mon toan 2013
De thi thu mon toan 2013
 

Recently uploaded

ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...Nguyen Thanh Tu Collection
 
Slide Webinar Hướng dẫn sử dụng ChatGPT cho người mới bắt đầ...
Slide Webinar Hướng dẫn sử dụng ChatGPT cho người mới bắt đầ...Slide Webinar Hướng dẫn sử dụng ChatGPT cho người mới bắt đầ...
Slide Webinar Hướng dẫn sử dụng ChatGPT cho người mới bắt đầ...Học viện Kstudy
 
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoabài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa2353020138
 
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptx
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptxChàm - Bệnh án (da liễu - bvdlct ctump) .pptx
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptxendkay31
 
50 ĐỀ ĐỀ XUẤT THI VÀO 10 THPT SỞ GIÁO DỤC THANH HÓA MÔN TIẾNG ANH 9 CÓ TỰ LUẬ...
50 ĐỀ ĐỀ XUẤT THI VÀO 10 THPT SỞ GIÁO DỤC THANH HÓA MÔN TIẾNG ANH 9 CÓ TỰ LUẬ...50 ĐỀ ĐỀ XUẤT THI VÀO 10 THPT SỞ GIÁO DỤC THANH HÓA MÔN TIẾNG ANH 9 CÓ TỰ LUẬ...
50 ĐỀ ĐỀ XUẤT THI VÀO 10 THPT SỞ GIÁO DỤC THANH HÓA MÔN TIẾNG ANH 9 CÓ TỰ LUẬ...Nguyen Thanh Tu Collection
 
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...Nguyen Thanh Tu Collection
 
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
200 câu hỏi trắc nghiệm ôn tập PLDC.pdf
200 câu hỏi trắc nghiệm ôn tập  PLDC.pdf200 câu hỏi trắc nghiệm ôn tập  PLDC.pdf
200 câu hỏi trắc nghiệm ôn tập PLDC.pdfdong92356
 
Bai 1 cong bo mot cong trinh nghien cuu khoa hoc
Bai 1 cong bo mot cong trinh nghien cuu khoa hocBai 1 cong bo mot cong trinh nghien cuu khoa hoc
Bai 1 cong bo mot cong trinh nghien cuu khoa hocVnPhan58
 
Tư tưởng Hồ Chí Minh về độc lập dân tộc và CNXH
Tư tưởng Hồ Chí Minh về độc lập dân tộc và CNXHTư tưởng Hồ Chí Minh về độc lập dân tộc và CNXH
Tư tưởng Hồ Chí Minh về độc lập dân tộc và CNXHThaoPhuong154017
 
TỔNG HỢP 30 ĐỀ THI CHỌN HSG CÁC TRƯỜNG THPT CHUYÊN VÙNG DUYÊN HẢI & ĐỒNG BẰNG...
TỔNG HỢP 30 ĐỀ THI CHỌN HSG CÁC TRƯỜNG THPT CHUYÊN VÙNG DUYÊN HẢI & ĐỒNG BẰNG...TỔNG HỢP 30 ĐỀ THI CHỌN HSG CÁC TRƯỜNG THPT CHUYÊN VÙNG DUYÊN HẢI & ĐỒNG BẰNG...
TỔNG HỢP 30 ĐỀ THI CHỌN HSG CÁC TRƯỜNG THPT CHUYÊN VÙNG DUYÊN HẢI & ĐỒNG BẰNG...Nguyen Thanh Tu Collection
 
Trích dẫn trắc nghiệm tư tưởng HCM5.docx
Trích dẫn trắc nghiệm tư tưởng HCM5.docxTrích dẫn trắc nghiệm tư tưởng HCM5.docx
Trích dẫn trắc nghiệm tư tưởng HCM5.docxnhungdt08102004
 
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...Nguyen Thanh Tu Collection
 
Nhóm 10-Xác suất và thống kê toán-đại học thương mại
Nhóm 10-Xác suất và thống kê toán-đại học thương mạiNhóm 10-Xác suất và thống kê toán-đại học thương mại
Nhóm 10-Xác suất và thống kê toán-đại học thương mạiTruongThiDiemQuynhQP
 
Hệ phương trình tuyến tính và các ứng dụng trong kinh tế
Hệ phương trình tuyến tính và các ứng dụng trong kinh tếHệ phương trình tuyến tính và các ứng dụng trong kinh tế
Hệ phương trình tuyến tính và các ứng dụng trong kinh tếngTonH1
 
Sơ đồ tư duy môn sinh học bậc THPT.pdf
Sơ đồ tư duy môn sinh học bậc THPT.pdfSơ đồ tư duy môn sinh học bậc THPT.pdf
Sơ đồ tư duy môn sinh học bậc THPT.pdftohoanggiabao81
 
[GIẢI PHẪU BỆNH] Tổn thương cơ bản của tb bào mô
[GIẢI PHẪU BỆNH] Tổn thương cơ bản của tb bào mô[GIẢI PHẪU BỆNH] Tổn thương cơ bản của tb bào mô
[GIẢI PHẪU BỆNH] Tổn thương cơ bản của tb bào môBryan Williams
 
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...Nguyen Thanh Tu Collection
 
ĐẢNG LÃNH ĐẠO HAI CUỘC KHÁNG CHIẾN GIÀNH ĐỘC LẬP HOÀN TOÀN, THỐNG NHẤT ĐẤT NƯ...
ĐẢNG LÃNH ĐẠO HAI CUỘC KHÁNG CHIẾN GIÀNH ĐỘC LẬP HOÀN TOÀN, THỐNG NHẤT ĐẤT NƯ...ĐẢNG LÃNH ĐẠO HAI CUỘC KHÁNG CHIẾN GIÀNH ĐỘC LẬP HOÀN TOÀN, THỐNG NHẤT ĐẤT NƯ...
ĐẢNG LÃNH ĐẠO HAI CUỘC KHÁNG CHIẾN GIÀNH ĐỘC LẬP HOÀN TOÀN, THỐNG NHẤT ĐẤT NƯ...PhcTrn274398
 
Ma trận - định thức và các ứng dụng trong kinh tế
Ma trận - định thức và các ứng dụng trong kinh tếMa trận - định thức và các ứng dụng trong kinh tế
Ma trận - định thức và các ứng dụng trong kinh tếngTonH1
 

Recently uploaded (20)

ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...
 
Slide Webinar Hướng dẫn sử dụng ChatGPT cho người mới bắt đầ...
Slide Webinar Hướng dẫn sử dụng ChatGPT cho người mới bắt đầ...Slide Webinar Hướng dẫn sử dụng ChatGPT cho người mới bắt đầ...
Slide Webinar Hướng dẫn sử dụng ChatGPT cho người mới bắt đầ...
 
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoabài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa
 
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptx
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptxChàm - Bệnh án (da liễu - bvdlct ctump) .pptx
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptx
 
50 ĐỀ ĐỀ XUẤT THI VÀO 10 THPT SỞ GIÁO DỤC THANH HÓA MÔN TIẾNG ANH 9 CÓ TỰ LUẬ...
50 ĐỀ ĐỀ XUẤT THI VÀO 10 THPT SỞ GIÁO DỤC THANH HÓA MÔN TIẾNG ANH 9 CÓ TỰ LUẬ...50 ĐỀ ĐỀ XUẤT THI VÀO 10 THPT SỞ GIÁO DỤC THANH HÓA MÔN TIẾNG ANH 9 CÓ TỰ LUẬ...
50 ĐỀ ĐỀ XUẤT THI VÀO 10 THPT SỞ GIÁO DỤC THANH HÓA MÔN TIẾNG ANH 9 CÓ TỰ LUẬ...
 
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
 
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
200 câu hỏi trắc nghiệm ôn tập PLDC.pdf
200 câu hỏi trắc nghiệm ôn tập  PLDC.pdf200 câu hỏi trắc nghiệm ôn tập  PLDC.pdf
200 câu hỏi trắc nghiệm ôn tập PLDC.pdf
 
Bai 1 cong bo mot cong trinh nghien cuu khoa hoc
Bai 1 cong bo mot cong trinh nghien cuu khoa hocBai 1 cong bo mot cong trinh nghien cuu khoa hoc
Bai 1 cong bo mot cong trinh nghien cuu khoa hoc
 
Tư tưởng Hồ Chí Minh về độc lập dân tộc và CNXH
Tư tưởng Hồ Chí Minh về độc lập dân tộc và CNXHTư tưởng Hồ Chí Minh về độc lập dân tộc và CNXH
Tư tưởng Hồ Chí Minh về độc lập dân tộc và CNXH
 
TỔNG HỢP 30 ĐỀ THI CHỌN HSG CÁC TRƯỜNG THPT CHUYÊN VÙNG DUYÊN HẢI & ĐỒNG BẰNG...
TỔNG HỢP 30 ĐỀ THI CHỌN HSG CÁC TRƯỜNG THPT CHUYÊN VÙNG DUYÊN HẢI & ĐỒNG BẰNG...TỔNG HỢP 30 ĐỀ THI CHỌN HSG CÁC TRƯỜNG THPT CHUYÊN VÙNG DUYÊN HẢI & ĐỒNG BẰNG...
TỔNG HỢP 30 ĐỀ THI CHỌN HSG CÁC TRƯỜNG THPT CHUYÊN VÙNG DUYÊN HẢI & ĐỒNG BẰNG...
 
Trích dẫn trắc nghiệm tư tưởng HCM5.docx
Trích dẫn trắc nghiệm tư tưởng HCM5.docxTrích dẫn trắc nghiệm tư tưởng HCM5.docx
Trích dẫn trắc nghiệm tư tưởng HCM5.docx
 
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
 
Nhóm 10-Xác suất và thống kê toán-đại học thương mại
Nhóm 10-Xác suất và thống kê toán-đại học thương mạiNhóm 10-Xác suất và thống kê toán-đại học thương mại
Nhóm 10-Xác suất và thống kê toán-đại học thương mại
 
Hệ phương trình tuyến tính và các ứng dụng trong kinh tế
Hệ phương trình tuyến tính và các ứng dụng trong kinh tếHệ phương trình tuyến tính và các ứng dụng trong kinh tế
Hệ phương trình tuyến tính và các ứng dụng trong kinh tế
 
Sơ đồ tư duy môn sinh học bậc THPT.pdf
Sơ đồ tư duy môn sinh học bậc THPT.pdfSơ đồ tư duy môn sinh học bậc THPT.pdf
Sơ đồ tư duy môn sinh học bậc THPT.pdf
 
[GIẢI PHẪU BỆNH] Tổn thương cơ bản của tb bào mô
[GIẢI PHẪU BỆNH] Tổn thương cơ bản của tb bào mô[GIẢI PHẪU BỆNH] Tổn thương cơ bản của tb bào mô
[GIẢI PHẪU BỆNH] Tổn thương cơ bản của tb bào mô
 
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...
 
ĐẢNG LÃNH ĐẠO HAI CUỘC KHÁNG CHIẾN GIÀNH ĐỘC LẬP HOÀN TOÀN, THỐNG NHẤT ĐẤT NƯ...
ĐẢNG LÃNH ĐẠO HAI CUỘC KHÁNG CHIẾN GIÀNH ĐỘC LẬP HOÀN TOÀN, THỐNG NHẤT ĐẤT NƯ...ĐẢNG LÃNH ĐẠO HAI CUỘC KHÁNG CHIẾN GIÀNH ĐỘC LẬP HOÀN TOÀN, THỐNG NHẤT ĐẤT NƯ...
ĐẢNG LÃNH ĐẠO HAI CUỘC KHÁNG CHIẾN GIÀNH ĐỘC LẬP HOÀN TOÀN, THỐNG NHẤT ĐẤT NƯ...
 
Ma trận - định thức và các ứng dụng trong kinh tế
Ma trận - định thức và các ứng dụng trong kinh tếMa trận - định thức và các ứng dụng trong kinh tế
Ma trận - định thức và các ứng dụng trong kinh tế
 

Tsch csdl 01 - dhcntt

  • 1. 1 Trường Đại học Công nghệ thông tin Ôn thi cao học năm 2009 Đại số quan hệ và ngôn ngữ SQL Relational Algebra & SQL PGS.TS. Đỗ Phúc Khoa Hệ thống thông tin
  • 2. 2 Năm phép toán cơ bản • Selection ( σ ) : chọn. • Projection ( π ) : chiếu. • Descartes-product ( × ) tích Descartes. • Set-difference ( — ) hiệu • Union ( ∪ ) hợp.
  • 3. 3 sname rating yuppy 9 lubber 8 guppy 5 rusty 10 Chiếu (projection) sid sname rating age 28 yuppy 9 35.0 31 lubber 8 55.5 44 guppy 5 35.0 58 rusty 10 35.0 )2( , S ratingsname π S2 age 35.0 55.5Ví dụ: Chỉ giữ lại các thuộc tính được chỉ định trong danh sách chiếu. πage S( )2
  • 4. 4 Chọn -selection (σ) • Chọn các dòng thỏa điều kiện. σrating S >8 2( ) sname rating yuppy 9 rusty 10 π σsname rating rating S , ( ( )) >8 2 sid sname rating age 28 yuppy 9 35.0 31 lubber 8 55.5 44 guppy 5 35.0 58 rusty 10 35.0
  • 5. 5 Hợp và hiệu • Các phép toán này yêu cầu 2 quan hệ nhập phải tương thích – Cùng số thuộc tính. – Cùng tên và kiểu.
  • 6. 6 Hợp- Union sid sname rating age 22 dustin 7 45.0 31 lubber 8 55.5 58 rusty 10 35.0 44 guppy 5 35.0 28 yuppy 9 35.0 S S1 2∪ sid sname rating age 22 dustin 7 45.0 31 lubber 8 55.5 58 rusty 10 35.0 sid sname rating age 28 yuppy 9 35.0 31 lubber 8 55.5 44 guppy 5 35.0 58 rusty 10 35.0 S1 S2
  • 7. 7 Hiệu- Set Difference sid sname rating age 22 dustin 7 45.0 31 lubber 8 55.5 58 rusty 10 35.0 sid sname rating age 28 yuppy 9 35.0 31 lubber 8 55.5 44 guppy 5 35.0 58 rusty 10 35.0 S1 S2 sid sname rating age 22 dustin 7 45.0 S S1 2− S2 – S1 sid sname rating age 28 yuppy 9 35.0 44 guppy 5 35.0
  • 8. 8 Toán tử giao ( Intersection) • các quan hệ phải tương thích • Có thể biểu diễn qua phép hợp và phép hiệu R ∩ S = R − (R − S)
  • 9. 9 Giao - Intersection sid sname rating age 22 dustin 7 45.0 31 lubber 8 55.5 58 rusty 10 35.0 sid sname rating age 28 yuppy 9 35.0 31 lubber 8 55.5 44 guppy 5 35.0 58 rusty 10 35.0 S1 S2 sid sname rating age 31 lubber 8 55.5 58 rusty 10 35.0 S S1 2∩
  • 10. 10 Tích Descartes • Kết từng dòng của quan hệ đầu ( R ) với từng dòng của quan hệ thứ hai (S): R X S
  • 11. 11 Ví dụ về tích Descartes Students Courses stud# name course course# name 100 Fred PH PH Pharmacy 200 Dave CM CM Computing 300 Bob CM Students X Courses = stud# Students.name course course# Courses.name 100 Fred PH PH Pharmacy 100 Fred PH CM Computing 200 Dave CM PH Pharmacy 200 Dave CM CM Computing 300 Bob CM PH Pharmacy 300 Bob CM CM Computing
  • 12. 12 Theta kết • Tích Descartes có áp dụng điều kiện: R ⋈ <condition> S
  • 13. 13 Ví dụ về Theta kết Students Courses stud# name course course# name 100 Fred PH PH Pharmacy 200 Dave CM CM Computing 300 Bob CM Students ⋈ stud# = 200 Courses stud# Students.name course course# Courses.name 200 Dave CM PH Pharmacy 200 Dave CM CM Computing
  • 14. 14 Phép kết trong :Inner Join (Equijoin) • Phép kết Theta với điều kiện <condition> là bằng nhau (=) giữa khóa chính và khóa ngoại. R ⋈ <R.primary_key = S.foreign_key> S
  • 15. 15 Ví dụ về Inner Join Students Courses stud# name course course# name 100 Fred PH PH Pharmacy 200 Dave CM CM Computing 300 Bob CM Students ⋈ course = course# Courses stud# Students.name course course# Courses.name 100 Fred PH PH Pharmacy 200 Dave CM CM Computing 300 Bob CM CM Computing
  • 16. 16 Phép kết tự nhiên ( natural join) • Phép kết trong (inner join) sinh ra dữ liệu dư (trong ví dụ trước ta có: course và course#). Để loại bỏ trường hợp trùng này, ta dùng: π < stud#, Students.name, course, Courses.name > (Students ⋈ <course = course#> Courses) hay R1= Students ⋈ <course = course#> Courses R2= π < stud#, Students.name, course, Courses.name > R1 Kết quả này được gọi là kết tự nhiên (natural join) giữa Students và Courses
  • 17. 17 Ví dụ về kết tự nhiên (Natural Join) Students Courses stud# name course course# name 100 Fred PH PH Pharmacy 200 Dave CM CM Computing 300 Bob CM R1= Students ⋈ <course = course#> Courses R2= π < stud#, Students.name, course, Courses.name > R1 stud# Students.name course Courses.name 100 Fred PH Pharmacy 200 Dave CM Computing 300 Bob CM Computing
  • 18. 18 Phép kết ngoài (Outer Joins) • Phép kết trong + các dòng của bảng không thỏa <condition>. • Phép kết ngoài trái: R <R.primary_key = S.foreign_key> S Tất cả các dòng trong R được giữ lại và các dòng không thỏa của S được dồn các trị NULL • Phép kết ngoài phải: R <R.primary_key = S.foreign_key> S Tất cả các dòng trong S được giữ lại và các dòng không thỏa của R được dồn các trị NULL
  • 19. 19 Ví dụ về phép kết ngoài trái Left Outer Join Students Courses stud# name course course# name 100 Fred PH PH Pharmacy 200 Dave CM CM Computing 400 Peter EN CH Chemistry Students <course = course#> Courses stud# Students.name course course# Courses.name 100 Fred PH PH Pharmacy 200 Dave CM CM Computing 400 Peter EN NULL NULL
  • 20. 20 Ví dụ về phép kết ngoài phải Right Outer Join Students Courses stud# name course course# name 100 Fred PH PH Pharmacy 200 Dave CM CM Computing 400 Peter EN CH Chemistry Students <course = course#> Courses stud# Students.name course course# Courses.name 100 Fred PH PH Pharmacy 200 Dave CM CM Computing NULL NULL NULL CH Chemistry
  • 21. 21 Phép chia: Division • Dùng cho biểu thức “tất cả ” trong truy vấn sau: Tìm mã thủy thủ (sids) đặt tất cả (all) các thuyền (boats). • Vd: cho A có 2 thuộc tính x và y; B chỉ có một thuộc tính y: A/B (chia) chứa tất cả các bộ (x) sao cho mọi bộ y trong B đều có bộ xy trong A. { }),( AyxByxBA ∈∃∈∀=
  • 22. 22 Ví dụ phép chia A/B sno pno s1 p1 s1 p2 s1 p3 s1 p4 s2 p1 s2 p2 s3 p2 s4 p2 s4 p4 pno p2 pno p2 p4 pno p1 p2 p4 sno s1 s2 s3 s4 sno s1 s4 A B1 B2 A/B1 A/B2 B3 sno s1 A/B3
  • 23. 23 Ví dụ về phép chia • Tìm tất cả khách hàng có tài khoản tại tất cả chi nhánh nằm ở ChVille – Branch (bname, assets, bcity) – Account (bname, acct#, cname, balance)
  • 24. 24 Ví dụ về phép chia R1: Tìm tất cả các chi nhánh tại Chville R2: Tìm cặp (bname, cname) từ Account R3: Các khách của r2 có tài khoản tại tất cả chi nhánh có tên trong r1 123 )(2 )(1 , '' rrr Accountr r cnamebname Branch Chvillebcitybname ÷= = = = π σπ
  • 25. 25 Biểu diễn phép chia A/B dùng các toán tử cơ bản )))((( ABAxx −×ππ
  • 26. 26 Cơ sở dữ liệu • Cho CSDL câu lạc bộ thuyền buồm • Sailors(Sid,Sname, rating, age):thủy thủ • Boat(Bid,color): thuyền • Reserves(Sid,Bid,ReservedDate):đặt chỗ
  • 27. 27 Tìm tên thủy thủ (sailors) đặt thuyền có mã (bid) #103 π σsname bid serves Sailors(( Re ) ) =103 ><• Solution 1: • Solution 2: π σsname bid serves Sailors( (Re )) =103 >< Sailors(Sid,Sname, rating, age):thủy thủ Boat(Bid,color): thuyền Reserves(Sid,Bid,ReservedDate):đặt chỗ
  • 28. 28 Tìm tên thủy thủ (sailors) đặt thuyền màu đỏ ( red boat) • Thông tin về màu đỏ chỉ có trong quan hệ Boats, ta cần thêm một phép kết: π σsname color red Boats serves Sailors(( ' ' ) Re ) = >< >< Giải pháp tốt hơn ( tối ưu truy vấn): π π π σsname sid bid color red Boats s Sailors( (( ' ' ) Re ) ) = >< >< Sailors(Sid,Sname, rating, age):thủy thủ Boat(Bid,color): thuyền Reserves(Sid,Bid,ReservedDate):đặt chỗ
  • 29. 29 Tìm tên thủy thủ (sailors) đặt thuyền màu đỏ và màu xanh lục ρ π σ( , (( ' ' ) Re ))Tempred sid color red Boats serves = >< π sname Tempred Tempgreen Sailors(( ) )∩ >< ρ π σ( , (( ' ' ) Re ))Tempgreen sid color green Boats serves = ><
  • 30. 30 Tìm tên thủy thủ (sailors) đặt tất cả các thuyền • Phép chia: ρ π π( , ( , Re ) / ( ))Tempsids sid bid serves bid Boats π sname Tempsids Sailors( )>< Sailors(Sid,Sname, rating, age):thủy thủ Boat(Bid,color): thuyền Reserves(Sid,Bid,ReservedDate):đặt chỗ
  • 31. 31 Chứng minh biểu thức đại số quan hệ Cho q là quan hệ trên tập thuộc tính RS ( R∪S), chứng minh: q ⊆ ∏R( q) ∏S(q) Chứng minh: Cho t ∈ q, theo đ/n của phép chiếu t[R] ∈ ∏R( q) và t[S] ∈ ∏S(q) Ta có theo định nghĩa của phép kết: t[RS] ∈ ∏R( q) ∏S(q) Do vậy t =t[RS] ∈ ∏R( q) ∏S(q)
  • 32. 32 Chứng minh biểu thức đại số quan hệ • Cho quan hệ r(R) , A và B là hai thuộc tính của quan hệ R, chứng minh: σ A=a (σ B=b(r) ) = σ B=b (σ A=a(r) ) • Chứng minh: σ A=a (σ B=b(r) ) = σ A=a ({t ∈r | t[B]=b})= {t’ ∈ {t ∈ r | t[B]=b}| t’[A]=a }= {t ∈r| t[A]=a ∧ t[B]=b }= {t’ ∈ {t ∈ r | t[A]=a}| t’[B]=b }= σ B=b (σ A=a(r) )
  • 33. 33 Chứng minh biểu thức đại số quan hệ • Cho 2 quan hệ r, s , A là thuộc tính của quan hệ R,S. Chứng minh: σ A=a (r ∩ s) = σ A=a ( r) ∩ σ A=a(s) ) • Chứng minh: σ A=a (r ∩ s) =σ A=a (t ∈ r ∧ t ∈ s) = { t’ ∈ {t|t ∈ r ∧ t ∈ s}| t[A]=a}= {t|t ∈ r và t[A]=a} ∩ {t|t ∈ s và t[A]=a } σ A=a ( r ) ∩ σ A=a ( s )
  • 34. 34 Đại số quan hệ và ngôn ngữ SQL
  • 35. 35 Toán tử một ngôi (unary operations) Selection σ course = ‘Computing’ Students In SQL: Select * From Students Where course = ‘Computing’; Projection π stud#, name Students In SQL: Select stud#, name From Students; Selection & Projection π stud#, name (σ course = ‘Computing’ Students) In SQL: Select stud#, name From students Where course = ‘Computing’;
  • 36. 36 Toán tử hai ngôi/kết Binary Operations/Joins Tích Descartes: Students X Courses In SQL: Select * From Students, Courses; Theta kết: Students ⋈ <stud# =200> Courses In SQL: Select * From Students, Courses Where stud# = 200;
  • 37. 37 Toán tử hai ngôi/kết Inner Join (Equijoin): Students ⋈ <course=course#> Courses In SQL: Select * From Students, Courses Where course=course#; Natural Join: R1= Students ⋈ <course = course#> Courses R2= π < stud#, Students.name, course, Courses.name > R1 In SQL: Select stud#, Students.name, course, Courses.name From Students, Courses Where course=course#;
  • 38. 38 Phép kết ngoài (Outer Joins) Left Outer Join Students <course = course#> Courses In SQL: Select * From Students, Courses Where course = course#(+) Right Outer Join Students <course = course#> Courses In SQL: Select * From Students, Courses Where course(+) = course#
  • 39. 39 Tổ hợp các phép toán một ngôi và hai ngôi R1= Students ⋈ <course=course#> Courses R2= σ <address=“Aberdeen”> R1 R3= π <Students.name, Course.name> R2 In SQL: Select Students.name, Courses.name From Students, Courses Where course=course# AND address=“Aberdeen”;
  • 40. 40 Các toán tử tập hợp Union: R ∪ S In SQL: Select * From R Union Select * From S; Intersection: R ∩ S In SQL: Select * From R Intersect Select * From S; Difference: R - S In SQL: Select * From R Minus Select * From S;
  • 41. 41 Các toán tử trong SQL Between, In, Like, Not
  • 42. 42 Các toán tử SQL SELECT * FROM Book WHERE catno BETWEEN 200 AND 400; SELECT * FROM Product WHERE prod_desc BETWEEN ‘C’ AND ‘S’; SELECT * FROM Book WHERE catno NOT BETWEEN 200 AND 400;
  • 43. 43 Các toán tử SQL SELECT Catno FROM Loan WHERE Date-Returned IS NULL; SELECT Catno FROM Loan WHERE Date-Returned IS NOT NULL;
  • 44. 44 Các toán tử SQL SELECT Name FROM Member WHERE memno IN (100, 200, 300, 400); SELECT Name FROM Member WHERE memno NOT IN (100, 200, 300, 400);
  • 45. 45 Các toán tử SQL SELECT Name FROM Member WHERE address NOT LIKE ‘%Aberdeen%’; SELECT Name FROM Member WHERE Name LIKE ‘_ES%’; Note: In MS Access, use * and # instead of % and _
  • 46. 46 Chọn giá trị phân biệt Student stud# name address 100Fred Aberdeen 200Dave Dundee 300Bob Aberdeen SELECT Distinct address FROM Student; address Aberdeen Dundee
  • 47. 47 Các bài tập về SQL
  • 48. 48 Lược đồ CSDL • Professor(ssn, profname, status, salary) • Course(crscode, crsname, credits) • Taught(crscode, semester, ssn) Giá định (1) Mỗi khóa học chỉ có một giáo sư phụ trách trong trong mỗi học kỳ; (2) tất cả giáo sư đều có lương khác nhau; (3) tất cả giáo sư có tên khác nhau; (4) tất cả khóa học có tên khác nhau; (5) thuộc tính status có thể có các giá trị “Full”, “Associate”, và “Assistant”.
  • 49. 49 Truy vấn 1 Liệt kê tất cả giáo sư đã dạy khóa học có mã ‘CSC6710’ nhưng không dạy khóa học có mã ‘CSC7710’.
  • 51. 51 Lời giải SQL (SELECT ssn From Taught Where crscode = ‘CSC6710’) EXCEPT (SELECT ssn From Taught Where crscode = ‘CSC7710’))
  • 52. 52 Truy vấn 2 Liệt kê các giáo sư đã dạy các khóa học có mã ‘CSC6710’ và ‘CSC7710’.
  • 53. 53 Đại số quan hệ πssn(σcrscode=‘CSC6710’ ∧ crscode=‘CSC7710’ (Taught), SAI! πssn(σcrscode=‘CSC6710’(Taught)) ∩ πssn(σcrscode=‘CSC7710’(Taught)), ĐÚNG!
  • 54. 54 SQL SELECT T1.ssn From Taught T1, Taught T2, Where T1.crscode = ‘CSC6710’ AND T2.crscode=‘CSC7710’ AND T1.ssn=T2.ssn
  • 55. 55 Truy vấn 3 Liệt kê các giáo sư không dạy môn có mã số ‘CSC7710’.
  • 56. 56 Đại số quan hệ πssn(σcrscode<>‘csc7710’(Taught)), SAI! πssn(Professor)-πssn(σcrscode=‘csc7710’(Taught)), ĐÚNG!
  • 57. 57 SQL (SELECT ssn From Professor) EXCEPT (SELECT ssn From Taught T Where T.crscode = ‘CSC7710’)
  • 58. 58 Truy vấn 4 Liệt kê các giáo sư đã dạy môn học có mã ‘CSC6710’ và ‘CSC7710” trong cùng một học kỳ
  • 59. 59 Đại số quan hệ πssn(σcrscode1=‘CSC6710’(Taught[crscode1, ssn, semester]) σcrscode2=‘CSC7710’(Taught[crscode2, ssn, semester]))
  • 60. 60 SQL SELECT T1.ssn From Taught T1, Taught T2, Where T1.crscode = ‘CSC6710’ AND T2.crscode=‘CSC7710’ AND T1.ssn=T2.ssn AND T1.semester=T2.semester
  • 61. 61 Truy vấn 5 Liệt kê các giáo sư đã dạy môn có mã ‘CSC6710’ hay môn học có mã ‘CSC7710” nhưng không dạy cả hai môn.
  • 62. 62 Đại số quan hệ πssn(σcrscode=‘CSC6710’ ∨ crscode=‘CSC7710’(Taught))- (πssn(σcrscode=‘CSC6710’(Taught)) ∩ πssn(σcrscode=‘CSC7710’(Taught)))
  • 63. 63 SQL (SELECT ssn FROM Taught T WHERE T.crscode=‘CSC6710’ OR T.crscode=‘CSC7710’) Except (SELECT T1.ssn From Taught T1, Taught T2, Where T1.crscode = ‘CSC6710’) AND T2.crscode=‘CSC7710’ AND T1.ssn=T2.ssn)
  • 64. 64 Truy vấn 6 Trả về các khóa học không bao giờ mở.
  • 65. 65 Đại số quan hệ πcrscode(Course)-πcrscode(Taught)
  • 67. 67 Truy vấn 7 Liệt kê các khóa học được dạy tối thiểu trong 2 học kỳ.
  • 68. 68 Đại số quan hệ πcrscode(σ semester1 <> semester2( Taught[crscode, ssn1, semester1] Taught[crscode, ssn2, semester2]))
  • 69. 69 SQL SELECT T1.crscode FROM Taught T1, Taught T2 WHERE T1.crscode=T2.crscode AND T1.semester <> T2.semester
  • 70. 70 Truy vấn 8 Liệt kê các khóa học được dạy trong ít nhất là 10 học kỳ.
  • 71. 71 SQL SELECT crscode FROM Taught GROUP BY crscode HAVING COUNT(*) >= 10
  • 72. 72 Truy vấn 9 Liệt kê các khóa học được dạy trong ít nhất là 5 giáo sư khác nhau.
  • 73. 73 SQL SELECT crscode FROM (SELECT DISTINCT crscode, ssn FROM TAUGHT) GROUP BY crscode HAVING COUNT(*) >= 5 SELECT crscode FROM Course C WHERE (SELECT COUNT(DISTINCT *) FROM Taught T WHERE T.crscode = C.crscode ) >=5.
  • 74. 74 Truy vấn 10 Liệt kê tên các giáo sư đã dạy khóa học có mã ‘CSC6710’.
  • 75. 75 Đại số quan hệ πprofname(σcrscode=‘CSC6710’(Taught) Professor)
  • 76. 76 SQL SELECT P.profname FROM Professor P, Taught T WHERE P.ssn = T.ssn AND T.crscode = ‘CSC6710’
  • 77. 77 Truy vấn 11 Liệt kê tên của các full professors đã dạy môn học có mã ‘CSC6710’.
  • 78. 78 Đại số quan hệ πprofname(σcrscode=‘csc6710’(Taught) σstatus=‘full’(Professor))
  • 79. 79 SQL SELECT P.profname FROM Professor P, Taught T WHERE P.status = ‘full’ AND P.ssn = T.ssn AND T.crscode = ‘CSC6710’
  • 80. 80 Truy vấn 12 Liệt kê tên của các full professors đã dãy ít nhất là 2 khóa học trong một học kỳ.
  • 81. 81 Đại số quan hệ πprofname(πssn(σ crscode1 <> crscode2( Taught[crscode1, ssn, semester] Taught[crscode2, ssn, semester]))) σ status=‘full’(Professor))
  • 82. 82 SQL SELECT P.profname FROM Professor P, Taught T1, Taught T2 WHERE P.status = ‘Full’ AND P.ssn = T1.ssn AND T1.ssn = T2.ssn AND T1.crscode <> T2.crscode AND T1.semester = T2.semester
  • 83. 83 SQL SELECT P.profname FROM Professor P WHERE status = ‘Full’ AND ssn IN( SELECT ssn FROM Taught GROUP BY ssn, semester HAVING COUNT(*) >= 2 )
  • 84. 84 Truy vấn 13 Xóa các giáo sư không dạy khóa học nào.
  • 85. 85 SQL DELETE FROM Professor WHERE ssn NOT IN (SELECT ssn FROM Taught )
  • 86. 86 SQL DELETE FROM Professor WHERE ssn IN ( (SELECT ssn FROM Professor) EXCEPT (SELECT ssn FROM Taught) )
  • 87. 87 SQL DELETE FROM Professor P WHERE NOT EXISTS ( SELECT * FROM Taught T WHERE T.ssn = P.ssn )
  • 88. 88 Truy vấn 14 Đổi tất cả tín chỉ (credits) sang 4 cho các khóa học được giảng dạy trong học kỳ mùa thu năm 2006 (f2006 semester).
  • 89. 89 SQL UPDATE Course SET credits = 4 WHERE crscode IN ( SELECT crscode FROM Taught WHERE semester = ‘f2006’ )
  • 90. 90 Truy vấn 15 Liệt kê tên của các giáo sư đã dạy hơn 30 tín chỉ khóa học.
  • 91. 91 SQL SELECT profname FROM Professor WHERE ssn IN ( SELECT T.ssn FROM Taught T, Course C WHERE T.crscode = C.crscode GROUP BY T.ssn HAVING SUM(C.credits) > 30 )
  • 92. 92 Truy vấn 16 Liệt kê tên của các giáo sư đã dạy nhiều khóa học nhất trong học kỳ mùa xuân năm 2006 (S2006).
  • 93. 93 SQL SELECT profname FROM Professor WHERE ssn IN( SELECT ssn FROM Taught WHERE semester = ‘S2006’ GROUP BY ssn HAVING COUNT(*) = (SELECT MAX(Num) FROM (SELECT ssn, COUNT(*) as Num FROM Taught WHERE semester = ‘S2006’ GROUP BY ssn) ) )
  • 94. 94 Truy vấn 17 Liệt kê tên các khóa học mà giáo sư ‘Smith” đã dạy trong học kỳ mùa thu năm 2007.
  • 95. 95 Đại số quan hệ πcrsname(σprofname=‘Smith’(Professor) σsemester=‘f2007’(Taught) Course)
  • 96. 96 SQL SELECT crsname FROM Professor P, Taught T, Course C WHERE P.profname = ‘Smith’ AND P.ssn = T.ssn AND T.semester = ‘F2007’ AND T.crscode = C.crscode
  • 97. 97 Truy vấn 18 Hãy liệt kê theo thứ tự thời gian các khóa học mà giáo sư có mã số ssn = 123456789 đã dạy trong từng học kỳ.
  • 98. 98 SQL SELECT semester, COUNT(*) FROM Taught WHERE ssn = ‘123456789’ GROUP BY semester ORDER BY semester ASC
  • 99. 99 Truy vấn 19 Hãy liệt kê theo thứ tự từ điển tên của từng giáo sư và số các khóa học đã giảng dạy.
  • 100. 100 SQL SELECT P.profname, COUNT(*) FROM Professor P, Taught T WHERE P.ssn = T.ssn GROUP BY P.ssn, P.profname ORDER BY P.profname ASC
  • 101. 101 Truy vấn 20 Xóa các giáo sư đã dạy ít hơn 10 khóa học.
  • 102. 102 SQL DELETE FROM Professor WHERE ssn IN( SELECT ssn FROM Taught GROUP BY ssn HAVING COUNT(*) < 10 )
  • 103. 103 Truy vấn 21 Xóa các giáo sư đã dạy ít hơn 40 tín chỉ.
  • 104. 104 SQL DELETE FROM Professor WHERE ssn IN( SELECT T.ssn FROM Taught T, Course C WHERE T.crscode = C.crscode GROUP BY ssn HAVING SUM(C.credits) < 40 )
  • 105. 105 Truy vấn 22 Liệt kê các giáo sư không dạy bất kỳ khóa học nào trong 3 học kỳ (F2006, W2007, F2007).
  • 106. 106 SQL SELECT * FROM Professor P WHERE NOT EXISTS( SELECT * FROM Taught WHERE P.ssn = T.ssn AND (T.semester = ‘F2006’ OR T.semester = ‘W2007’ OR T.semester=‘F2007’)) )
  • 107. 107 Truy vấn 23 Liệt kê tên các khóa học mà giáo sư Smith không dạy.
  • 108. 108 Đại số quan hệ πcrsname(Course) - πcrsname(σprofname=‘Smith’(Professor) (Taught) Course)
  • 109. 109 SQL SELECT crsname FROM Course C WHERE NOT EXISTS SELECT * FROM Professor P, Taught T WHERE P.profname=‘Smith’ AND P.ssn = T.ssn AND T.crscode = C.crscode )
  • 110. 110 Truy vấn 24 Liệt kê tên các khóa học được giảng dạy bởi tất cả giáo sư.
  • 111. 111 Đại số quan hệ πcrscode, ssn(Taught)/ πssn(Professor)
  • 112. 112 SQL SELECT crscode FROM Taught T1 WHERE NOT EXISTS( (SELECT ssn FROM Professor) EXCEPT (SELECT ssn FROM Taught T2 WHERE T2.crscode = T1.crscode) )
  • 113. 113 Truy vấn 25 Liệt kê tên của các khóa học được giảng dạy trong tất cả các học kỳ.
  • 114. 114 Đại số quan hệ πcrscode, semester(Taught)/ πsemester(Taught)
  • 115. 115 SQL SELECT crscode FROM Taught T1 WHERE NOT EXISTS( (SELECT semester FROM Taught) EXCEPT (SELECT semester FROM Taught T2 WHERE T2.crscode = T1.crscode) )
  • 116. 116 Truy vấn 26 Liệt kê các khóa học CHỈ được giảng dạy bởi các trợ lý giáo sư (assisitant) professors.
  • 117. 117 Đại số quan hệ πcrscode(Course) - πcrscode (σstatus≠‘Assistant’(Professor) Taught)
  • 118. 118 SQL SELECT crscode FROM Course C WHERE c.crscode NOT IN( (SELECT crscode FROM Taught T, Professor P WHERE T.ssn = P.ssn AND P.status=‘Junior’ )
  • 119. 119 Truy vấn 27 Liệt kê tên của các giáo sư giảng dạy nhiều khóa học nhất trong học kỳ Fall 2001.
  • 120. 120 SQL Solution SELECT * FROM Professor P1 WHERE Not EXISTS ( SELECT * FROM Professor P2 WHERE( (SELECT COUNT(*) FROM Taught WHERE Taught.ssn = P2.ssn AND Taught.semester=‘F2001’) > (SELECT COUNT(*) FROM Taught WHERE Taught.ssn = P1.ssn AND Taught.semester=‘F2001’) )
  • 121. 121 Truy vấn 28 Liệt kê tên của giáo sư có lương cao nhất.
  • 122. 122 SQL Solution SELECT * FROM Professor WHERE salary = ( (SELECT MAX(salary) FROM Professor P )
  • 123. 123 Truy vấn 29 Liệt kê tên của giáo sư có lương cao xếp thứ nhì.
  • 124. 124 SQL Solution SELECT * FROM Professor P1 WHERE 1 = ( (SELECT COUNT(*) FROM Professor P2 WHERE P2.salary > P1.salary )