[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