创建表的时候添加约束
CREATE TABLE Test(
id uniqueidentifier NOT NULL DEFAULT (newid()),
num int,
CONSTRAINT P_K_C PRIMARY KEY (id),
CONSTRAINT NUM_CHECK CHECK (num BETWEEN 0 and 10)
)
创建表之后添加约束
ALTER TABLE Test
--删除约束
--DROP CONSTRAINT P_K_ID
--添加主键约束
ADD CONSTRAINT P_K_ID PRIMARY KEY(id)
--OR
ADD PRIMARY KEY(id)
添加外键依赖
/*create table test1 (
id int primary key not null
)*/
ALTER TABLE Test
ADD CONSTRAINT FK_NUM FOREIGN KEY (num) REFERENCES test1(id)
外键必须是另一个表的主键或后选键
添加约束默认值
ALTER TABLE test
ADD CONSTRAINT add_C_auto_id DEFAULT (newid()) for ID
[添加约束 约束名 约束语句 for 哪个字段]
清空表 TRUNCATE
TRUNCATE TABLE test
查询学生的课程的平均分
SELECT
AVG(GRADE) 平均成绩
FROM CourseSelection cs
WHERE SID = (SELECT ID
FROM Student s
Where NAME = N'宏斌')
查询男同学和女同学的平局分
两个表等值连接然后按性别分组,avg求平均值
SELECT
s.SEX ,
AVG(cs.GRADE) 平均分
FROM Student s
INNER JOIN CourseSelection cs
ON s.ID = cs.SID
GROUP BY s.SEX
课程的学习人数,平均成绩
SELECT
c.ID ,
COUNT(c.ID) AS 课程人数,
AVG(cs.GRADE) 平均成绩
FROM Course c ,Student s ,CourseSelection cs
where c.ID = cs.CourseID AND s.ID = cs.SID
GROUP BY c.ID
关系代数表达
检索年龄大于20的女性的S#和SNAME
∏S#, SNAME (δAGE >20∧ SEX=’女’(S))
SELECT S#,SNAME FROM S WHERE AGE > 20 AND SEX = '女'
∏ 相当于 select xxx
δ 的结果是完整的元素是行,符合δ条件的 ∏ 从中筛选要的列