例1:SELECT * FROM grade
功能说明:将grade表中的所有字段取出来。
例2:SELECT 学号,姓名 FROM grade
功能说明:将grade表中学号和姓名字段取出来。
例3:SELECT学号,姓名,语文+数学+英语 as 总成绩 FROM grade
功能说明:将grade表中的学号和姓名取出来,并将语文、数学和英语成绩相加产生虚拟列总成绩。
例1: SELECT * FROM grade WHERE数学>60功能说明:把所有数学成绩大于60分的记录选出来。
例2: SELECT * FROM grade WHERE数学=300 OR 语文=300
功能说明:把数学成绩等于300分或者语文成绩等于300分的人选出来。
例3:Like子句基本格式一:“_”匹配。
功能说明:每个下划线匹配一个任意字符,注意只匹配一个字符。比如:姓名 like '_敏',匹配姓名以“敏”字结尾且字数等于二的所有数据记录,如:“张敏”。
例4:Like子句基本格式二:“%”匹配。
比如:姓名 Like '%敏%',匹配姓名中出现“敏”的所有数据记录,如:“周惠敏”,“于敏”、“敏大”、“敏二”等。比如要在数据库中查询姓江的人,只要利用一条SQL语句就可以, SELECT * FROM 数据库表 WHERE 姓名 Like '江%'。
例1: SELECT * FROM grade ORDER BY数学 注:从低到高排序
功能说明:从grade表中取出所有字段,并按数学成绩排序。
例2: SELECT * FROM grade ORDER BY数学,语文
功能说明:从grade表中取出所有字段,并按数学成绩排序,如果数学成绩相同则按照语文成绩排序。
例3: SELECT * FROM grade ORDER BY数学 DESC 注:从高到低排序
功能说明:从grade表中取出所有字段,并按数学成绩倒序。
例4: SELECT TOP 5 * FROM grade
功能说明:从grade表中取出前五条记录的所有字段。
DML包括三种基本格式:
数据添加(INSERT INTO)、数据修改(UPDATE)和数据删除(DELETE)。
基本语法:DELETE FROM 数据表 WHERE 条件
例: DELETE FROM grade WHERE数学=0
功能说明:删除所有数学成绩为零的记录,如果没有WHERE子句,则删除所有记录。
基本语法:UPDATE 数据表 SET 字段名1=新值, 字段名2=新值 … WHERE条件
例1: UPDATE grade SET 数学 =数学+10 说明:将grade表中所有人的成绩加10分
例2: UPDATE grade SET 数学 =100 WHERE 姓名 like '%敏%'
功能说明:将姓名中含有敏的人的数学成绩更新为100分
基本格式1:INSERT INTO 数据表VALUES (字段新值)
基本格式2:INSERT INTO 数据表(字段一,字段二,……) VALUES (字段新值)
其中关键字两种格式的区别是:当VALUES含有数据库表所有字段的值,并且顺序和数据库字段一致时,就可以省略数据库表后面的字段名称。
例1: INSERT INTO grade(学号, 姓名, 数学) VALUES (1234, '小周',70)
例2: INSERT INTO grade VALUES (5678, '小周',70,80,90)
其中,例2等价于:
INSERT INTO grade(学号, 姓名, 语文, 数学, 英语) VALUES (5678, '小周',70,80,90)
因为包含数据库所有字段,而且顺序和数据库一致,所以字段列表可以省略。
聚合函数在信息管理系统经常使用,功能是做一些基本的统计和计算。
聚合函数有5个,分别是SUM函数、AVG函数、COUNT函数、MAX函数和MIN函数。
(1)SUN函数,功能是算出某个字段的总值。
例. SELECT SUM(数学) AS Total FROM grade
功能说明:求出所有学生数学成绩总和,这个数值的列名为Total。
(2)AVG函数,功能是算出某个字段的平均值。
例. SELECT AVG(数学) AS Average FROM grade
功能说明:求出所有学生数学成绩平均分,这个数值的列名为Average。
(3)COUNT函数,功能是算出返回记录的行数。
例. SELECT COUNT(*) AS Counts FROM grade
功能说明:求出满足条件的记录总数。
(4)MAX函数,功能是算出某个字段的最大值。
例. SELECT MAX(数学) AS First FROM grade
功能说明:求出所有学生数学成绩的最高分,这个数值的列名为First。
(5)MIN函数,功能是算出某个字段的总值。
例. SELECT MIN(数学) AS Last FROM grade
功能说明:求出所有学生数学成绩的最低分,这个数值的列名为Last。
分组查询包括GROUP BY和HAVING关键字。比如计算某班男生女生的数学平均分,利用可以利用分组查询完成。
可以使用“SELECT 性别, AVG(数学) AS 平均分 FROM grade GROUP BY 性别”得到男生和女生的平均分
在使用分组查询的时候,有4点需要注意。
(1)WHERE子句必须放在GROUP BY子句之前。
(2)HAVING子句中只能包含分组字段或者聚合函数。
(3)SELECT语句选择的列只能是分组字段或者聚合函数。
(4)HAVING必须放在GROUP BY子句之后。
查找选择课程为“软件工程”的所有同学姓名?可以利用如下的SQL语句。
SELECT b.sname FROM sc a, student b, course c
WHERE a.cno=c.cno
AND a.sno=b.sno and c.cname=‘软件工程’
其中“sc a”表示给表sc起的别名为a,同样“student b”是给student表起的别名b。该查询实现了三个表之间的交叉查询。
在ASP程序中,可以执行各种SQL语句。通常情况下分成两大类:执行SQL查询语句和执行SQL操作语句。
其中SQL查询语句包括SELECT语句,SQL操作语句包括:INSERT语句、UPDATE语句和DELETE语句。