1)掌握运用Transact-SQL语句实现表的更新操作。 2)掌握运用Transact-SQL语句实现表的查询操作。 包括: (1)掌握SELECT子句以及WHERE子句的使用方法。 (2)学会应用ORDER BY子句。 (3)掌握5种基本的聚合函数。 (4)学会分组统计。
1)熟悉SQL Server 2005查询分析器环境。 2)运用T-SQL语句对表中的数据进行插入、修改和删除操作。 3)运用Transact-SQL语句实现: (1)SELECT子句的应用。 (2)WHERE子句的应用。 (3)ORDER BY子句的应用。 (4)聚合函数的应用。 (5)聚合操作与分组统计的应用。 3. 实验过程 3.1表的更新 (1)插入
create table XS_KC1 ( 学号 char(6) not null foreign key references XSQK(学号), 课程号 char(3) not null foreign key references KC(课程号), 成绩 tinyint ) insert into XS_KC1(学号,课程号,成绩) values ('020101','101','85'), ('020101','102','87'), ('020101','107','88'), ('020102','101','58'), ('020102','102','63'), ('020104','107','76'), ('020202','103','55'), ('020202','108','80'), ('020203','103','57'), ('020204','103','71') ALTER TABLE XS_KC1 ADD CONSTRAINT 成绩_chk check (成绩 BETWEEN 0 AND 100)(2)删除
(2) ALTER TABLE XS_KC1 ADD CONSTRAINT 成绩_chk1 check (成绩 BETWEEN 0 AND 100) ALTER TABLE XS_KC1 DROP CONSTRAINT 成绩_chk1(3)修改
ALTER TABLE XSQK1 ALTER COLUMN 姓名 char(10)3.2表的查询 (1)SELECT子句的应用。
SELECT 学号,姓名,出生日期 FROM XSQK例1:插入
ALTER TABLE KC ADD 教师性别 int, 教师年龄 int例2:修改
ALTER TABLE KC ALTER COLUMN 课程名 char(30)例3:删除
ALTER TABLE XS_KC1 ADD CONSTRAINT 成绩_chk1 check (成绩 BETWEEN 0 AND 100) ALTER TABLE XS_KC1 DROP CONSTRAINT 成绩_chk1(2)WHERE子句的应用。
SELECT 学号,姓名,出生日期 FROM XSQK WHERE 性别='1'(3)ORDER BY子句的应用。
SELECT 学号,姓名,出生日期 FROM XSQK WHERE 性别='1' ORDER BY 出生日期 DESC(4)聚合函数的应用。
SELECT SUM(成绩) AS Tolalscore,AVG(成绩) AS Avgscore FROM XS_KC WHERE 学号='020101' SELECT MAX(成绩) AS Maxscore,MIN(成绩) AS Minscore,MAX(成绩)-MIN(成绩) AS Diff FROM XS_KC WHERE 学号='020101'(5)聚合操作与分组统计的应用。 例1:
SELECT 学号,COUNT(*) AS 课数 FROM XS_KC GROUP BY 学号例2:
SELECT 学号,COUNT(*) AS 课数 FROM XS_KC GROUP BY 学号 HAVING(COUNT(*)>=2)此次上机实验进行的练习为数据更新和简单查询,通过回顾之前课堂中老师讲授的知识以及自己翻看课本进行实验,使得我对使用SQL语言对表的各类操作有了熟练而又清晰的条理与思路,且对于五种基本的聚合函数也熟悉了其基本的使用方法。在以后的学习中我会更加熟练运用库函数以及分组统计的。
WHERE子句与HAVING子句有何不同? 答:WHERE子句与HAVING子句的根本区别在于作用对象不同。WHERE子句作用于基本表或视图,从中选择满足条件的元组;HAVING子句作用于组,选择满足条件的组,且必须用在GROUP BY 子句之后,但GROUP BY子句可没有HAVING子句。