1. 程式人生 > >SQL資料庫關係運算

SQL資料庫關係運算

設有如下所示的關係S、SC和C, S(sno,sname,ssex,sage,sdept)(學號,姓名,性別,年齡,專業) C(cno,cname,cpno,credit,tname)(課程號,課程名,先行課號,學分,老師姓名) SC(sno,cno,grade) 試用關係代數表示式表示下列查詢語句:

  1. 檢索至少選修”程軍”老師所授全部課程的學生姓名(SNAME)。 ∏sname ( S ∞ ( ∏sno,cno(SC) ≒ ∏cno (σtname=’程軍’© ) ) )

  2. 檢索”李強”同學不學課程的課程號和課名。 ∏cno,cname© - ∏cno,cname(σsname=’李強’(S) ∞ SC)

  3. 檢索至少選修兩門課程的的學生的學號。 ∏sno(σsno1=sno2 ∧ cno1≠cno2(SC ∞SC))

  4. 檢索沒有間接先行課的課程的課號和課名。(包括沒有直接先行課的) (∏cno,cname© - ∏cno,cname ( S1 ∞ S2 ))∪ ∏cno,cname(σcpno =null© S1.cpno=S2.cname

  5. 檢索選修課程包含”程軍”老師所授課程之一的學生學號。 ∏sno(SC ∞ ∏cno(σtname=’程軍’© )

  6. 檢索計算機系沒有選修”程軍”老師所教課程的學生的學號和姓名。 ∏sno,sname(σsdept=’計算機’(S) ) – ∏sno,sname( (SC∞(σsdept=’計算機’(S) ) ) ∞ ∏cno(σtname=’程軍’© )

  7. 檢索選修課程包含計算機系學生所選修全部課程的學生學號和姓名。 ∏sno,sname ( (SC ≒ ∏cno(σsdept=’計算機’(S) ∞ SC)) ∞ S )

  8. 檢索沒有選修課程名為”C語言”的學生學號和姓名。 ∏sno,sname(S) - ∏sno,sname( S ∞ (SC∞(σcname=’C語言’© )))

  9. 檢索沒有一門課程成績不及格的學生學號,姓名。

∏sno,sname ( ( ∏sno(S) - ∏sno(σgrade<60 (SC))∞ S )

  1. 檢索選修了資料庫和資料結構的學生的學號和姓名。 ∏sno,sname (σcname=’資料庫’(SC∞C) ∞ σcname=’資料結構’(SC’∞C’) ) sno=sno’