SELECT语句 SELECT语句的基本语法形式 SELECT目标表达式列表FROM表名 [NHERE查询条件] [GROUP BY分组字段HAVING分组条件] [ORDER BY排序关键字段[ASCIDESC]] 它包含4部分,其中SELECT和FROM子句是必须的,通 过使用SELECT语句返回一个记录集 例在学生基本情况表中查询物理系的学生情况: SELECT*FROM基本情况VHERE专业="物 理” VB.NET程序设计教程 本书目录 本章目录
VB.NET程序设计教程 本书目录 9 SELECT语句 SELECT语句的基本语法形式 SELECT 目标表达式列表 FROM 表名 [ WHERE 查询条件 ] [ GROUP BY 分组字段 HAVING 分组条件 ] [ ORDER BY 排序关键字段 [ASC|DESC] ] 它包含4部分,其中SELECT和FROM子句是必须的,通 过使用SELECT语句返回一个记录集。 例 在学生基本情况表中查询物理系的学生情况: SELECT * FROM 基本情况 WHERE专业= "物 理" 本章目录
SELECT语句-输出表达式 目标表达式为查询结果要显示的字段清单(字段 间用逗号分开)。数据的显示顺序由字段清单的 顺序决定。 可用星号*代表所有字段; 可用AS短语指定字段别名 可通过构造表达式对原始数据进行复杂的运算 处理,产生查询结果 。 例如,根据出生年月计算每个学生的年龄 SELECT姓名,(Year(Date())-Year(出生年月) AS年龄FROM基本情况 VB.NET程序设计教程 本书目录 本章目录
VB.NET程序设计教程 本书目录 10 SELECT语句-输出表达式 目标表达式为查询结果要显示的字段清单(字段 间用逗号分开)。数据的显示顺序由字段清单的 顺序决定。 可用星号*代表所有字段; 可用AS短语指定字段别名; 可通过构造表达式对原始数据进行复杂的运算 处理,产生查询结果。 例如,根据出生年月计算每个学生的年龄 SELECT 姓名, (Year(Date())-Year(出生年月)) AS 年龄 FROM 基本情况 本章目录
SELECT语句-查询条件 NHERE子句用于限制记录的选择 例如,查询1985-01-01到1986-12-31之间出生的学生: SELECT*FROM基本情况VHERE出生年月 BETWEEN#1985-01-01#AND#1986-12-31# 要枚举出若干项进行查询,使用运算符N 例如,查询物理系和数学系的学生数据: SELECT*FROM基本情况WHERE专业 ("物理","数学") 等价于: SELECT*FROM基本情况VHERE专业="物理"OR 专业="数学" VB.NET程序设计教程 本书目录 本章目录 11
VB.NET程序设计教程 本书目录 11 SELECT语句-查询条件 WHERE子句用于限制记录的选择 例如,查询1985-01-01到1986-12-31之间出生的学生: SELECT * FROM 基本情况 WHERE 出生年月 BETWEEN #1985-01-01# AND #1986-12-31# 要枚举出若干项进行查询,使用运算符IN 例如,查询物理系和数学系的学生数据: SELECT * FROM 基本情况 WHERE 专业 IN ("物理", "数学") 等价于: SELECT * FROM 基本情况 WHERE专业= "物理" OR 专业 = "数学" 本章目录
SELECT语句-合计函数 合计函数用于对记录集进行统计 合计函数 描述 AVG 获得特定字段中的值的平均数 COUNT 返回选定记录的个数 SUM 返回特定字段中所有值的总和 MAX 返回指定字段中的最大值 MIN 返回指定字段中的最小值 例如,统计物理系学生的人数: SELECT COUNT()AS学生人数FROM基本情况 NHERE专业=“物理” COUNT(*)在统计时包含值为空值的记录 COUNT(表达式)统计时忽略表达式值为空值的记录 VB.NET程序设计教程 本书目录 本章目录 12
VB.NET程序设计教程 本书目录 12 SELECT语句-合计函数 合计函数用于对记录集进行统计 MIN 返回指定字段中的最小值 MAX 返回指定字段中的最大值 SUM 返回特定字段中所有值的总和 COUNT 返回选定记录的个数 AVG 获得特定字段中的值的平均数 合计函数 描 述 例如,统计物理系学生的人数: SELECT COUNT(*) AS 学生人数 FROM 基本情况 WHERE专业= “物理” COUNT(*) 在统计时包含值为空值的记录 COUNT(表达式) 统计时忽略表达式值为空值的记录 本章目录
SELECT语句-分组 GROUP BY子句将指定字段列表中有相同值的 记录合并成一条记录。 例如,计算每个学生各门课程平均分: SELECT学号,AVG(成绩)AS平均分FROM成绩表 GROUP BY学号 要对分组后的数据进行过滤,可在GROUP BY 子句后结合HAVING子句在分组中选择。 例如,查询平均分在80分以上的学生: SELECT学号,AVG(成绩)AS平均分FROM成绩表 GROUP BY学号HAVING AVG(成绩)>=80 VB.NET程序设计教程 本书目录 本章目录 13
VB.NET程序设计教程 本书目录 13 SELECT语句-分组 GROUP BY子句将指定字段列表中有相同值的 记录合并成一条记录。 例如,计算每个学生各门课程平均分: SELECT 学号, AVG(成绩) AS 平均分FROM 成绩表 GROUP BY 学号 要对分组后的数据进行过滤,可在GROUP BY 子句后结合HAVING子句在分组中选择。 例如,查询平均分在80分以上的学生: SELECT 学号, AVG(成绩) AS 平均分FROM 成绩表 GROUP BY 学号HAVING AVG(成绩)>=80 本章目录