[TOC]code
--並集it
SELECT *
基礎
FROM Student
數據
WHERE Sdept='計算機系'
查詢
UNION
計算機
SELECT *
集合
FROM Student
di
WHERE Sex='男'
co
--交集計算機基礎
SELECT *
FROM Student
WHERE Sdept='計算機系'
INTERSECT
SELECT *
FROM Student
WHERE Sex='男'
--差集
SELECT *
FROM Student
WHERE Sdept='計算機系'
EXCEPT
SELECT *
FROM Student
WHERE Sex='男'
SELECT Sno
FROM SC
WHERE Cno='10001'
UNION
SELECT Sno
FROM SC
WHERE Cno='10005'
SELECT Sno
FROM SC
WHERE Cno='10001'
INTERSECT
SELECT Sno
FROM SC
WHERE Cno='10005'
SELECT Sno
FROM SC
WHERE Cno='10001'
EXCEPT
SELECT Sno
FROM SC
WHERE Cno='10005'
Ø *維護操做*
INSERT INTO Student
VALUES('20030101','王芳','女',19 ,'計算機系')
INSERT INTO SC(Sno,Cno)
VALUES('10010118','20008')
不能,錯誤提示:NSERT 語句與 FOREIGN KEY 約束"FK_Sno"衝突。Cno是外鍵,參照Course中Cno的數值,Course中不存在課程號爲「20008」的課程記錄。
--建立表
CREATE TABLE Sdept_Count(
Sdept varchar(50),
SNum int
)
--插入操做
INSERT INTO Sdept_Count(Sdept,SNum)
SELECT Sdept,COUNT(Sno)
FROM Student
GROUP BY Sdept
UPDATE Student
SET Sdept='計算機系'
WHERE Sname='徐慶'
UPDATE Course
SET Credit=Credit+1
UPDATE Student
SET Sno='19010101'
WHERE Sname='徐慶'
不能修改爲功,由於該生在SC表中存在選課記錄。
UPDATE SC
SET Score=Score*1.2
WHERE Sno IN(SELECT SNO
FROM SC
WHERE Cno=(SELECT Cno
FROM Course
WHERE Cname='計算機基礎'))
不能刪除,緣由是SC表中還存在外鍵的約束,即「10010118」的選課記錄。若是要成功刪除學生「10010118」,須要先刪除其全部選課記錄。
DELETE FROM SC
WHERE Sno='10010118'
``
DELETE FROM Student
WHERE Sno='10010118'
DELETE FROM SC
WHERE Score<60 AND Cno=
(SELECT Cno
FROM Course
WHERE Cname='計算機基礎')
DELETE FROM SC