SQL資料庫關係運算
設有如下所示的關係S、SC和C, S(sno,sname,ssex,sage,sdept)(學號,姓名,性別,年齡,專業) C(cno,cname,cpno,credit,tname)(課程號,課程名,先行課號,學分,老師姓名) SC(sno,cno,grade) 試用關係代數表示式表示下列查詢語句:
-
檢索至少選修”程軍”老師所授全部課程的學生姓名(SNAME)。 ∏sname ( S ∞ ( ∏sno,cno(SC) ≒ ∏cno (σtname=’程軍’© ) ) )
-
檢索”李強”同學不學課程的課程號和課名。 ∏cno,cname© - ∏cno,cname(σsname=’李強’(S) ∞ SC)
-
檢索至少選修兩門課程的的學生的學號。 ∏sno(σsno1=sno2 ∧ cno1≠cno2(SC ∞SC))
-
檢索沒有間接先行課的課程的課號和課名。(包括沒有直接先行課的) (∏cno,cname© - ∏cno,cname ( S1 ∞ S2 ))∪ ∏cno,cname(σcpno =null© S1.cpno=S2.cname
-
檢索選修課程包含”程軍”老師所授課程之一的學生學號。 ∏sno(SC ∞ ∏cno(σtname=’程軍’© )
-
檢索計算機系沒有選修”程軍”老師所教課程的學生的學號和姓名。 ∏sno,sname(σsdept=’計算機’(S) ) – ∏sno,sname( (SC∞(σsdept=’計算機’(S) ) ) ∞ ∏cno(σtname=’程軍’© )
-
檢索選修課程包含計算機系學生所選修全部課程的學生學號和姓名。 ∏sno,sname ( (SC ≒ ∏cno(σsdept=’計算機’(S) ∞ SC)) ∞ S )
-
檢索沒有選修課程名為”C語言”的學生學號和姓名。 ∏sno,sname(S) - ∏sno,sname( S ∞ (SC∞(σcname=’C語言’© )))
-
檢索沒有一門課程成績不及格的學生學號,姓名。
∏sno,sname ( ( ∏sno(S) - ∏sno(σgrade<60 (SC))∞ S )
- 檢索選修了資料庫和資料結構的學生的學號和姓名。 ∏sno,sname (σcname=’資料庫’(SC∞C) ∞ σcname=’資料結構’(SC’∞C’) ) sno=sno’