当前位置:文档之家› 第5章 SQL查询语句基础

第5章 SQL查询语句基础

SQL Server 2000 网络数据库教程
第5章 SQL查询语句基础
5.1 SELECT 条件列表
一、基本结构 SELECT [记录显示范围] 字段列表 [ INTO 新表名] [ FROM 表名或表名列表及其连接方式] [ WHERE 条件表达式] [ GROUP BY 分组字段名列表 [HAVING 分组条件表达式] ] [ ORDER BY 排序字段名列表 [ASC | DESC] ] [ { COMPUTE 集合函数(列名1) [ BY 列名2] } [ …n ] ] 说明: SELECT语句中各子句的顺序: SELECT → [记录范围] → 字段列表 → [INTO] → [FROM] → [WHERE] → [GROUP BY → [HAVING] ] → [ORDER BY → [COMPUTE] ] l FROM用于指定数据来源: 单表查询简单格式:FROM 表名 多表查询时的格式:FROM 表名列表及其连接方式 lCOMPUTE子句不能与INTO子句或GROUP BY子句同时使用。
第5章 SQL查询语句基础
消除取值重复的行
Select 子句的缺省情况是保留重复元组 – ( ALL ),可用 Distinct 去除重复元组 SELECT 出版社 From 图书 SELECT DISTINCT 出版社 From 图书
一些关键字
*:取全部字段。格式为: * 或〈表名〉.* ALL:全部。保留重复值(有统计函数时要求计算重 复值)。 格式为: ALL〈字段〉或 ALL〈字段组〉 DISTINCT:去掉重复值。在结果集中去掉重复值,或 在统计函数中不计重复值。
– 格式为: DISTINCT〈字段〉或 DISTINCT〈字段组〉
SQL Server 2000 SELECT语句的操作符
(1) 算术操作符 +(加号)、-(减号)、*(乘号)和 /(除号)。
(2) 比较操作符
=(等于)、>(大于)、<(小于)、<=(小于等于)、>= (大于等于)、!=(不等于)、<>(小于大于)、!>(不大
〈字段〉〈比较符〉ANY (数据表|子查询) 〈字段〉〈比较符〉ALL (数据表|子查询)
EXISTS (〈子查询〉) 〈字段〉 BETWEEN 小值 AND 大值 〈字段〉 IS [NOT] NULL 〈字段〉 LIKE 〈字符常数〉 其中, “_” 单字符通配符和 “%” 多字符通配 符 〈条件1〉AND〈条件2〉 〈条件1〉OR〈条件2〉 NOT〈条件〉

SELECT * from 图书 SELECT 书号,书名 From 图书
SQL Server 2000 网络数据库教程
第5章 SQL查询语句基础
数据查询实例
【例5-9】求数学系学生的学号和姓名。 SELECT 学号,姓名 FROM 学生 WHERE 所在系=‘数学系’; 【例5-10】求选修了课程的学生学号。 SELECT DISTINCT 学号 FROM 选课;
第5章 SQL查询语句基础

5_2
章 SQL查询语句基础
● 本章要点:
• 掌握简单的Transact-SQL查询语句。
• 学会对查询结果进行分组统计、合计和排序等复杂的SELECT语句操作。
5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 SELECT 条件列表 FROM子句 WHERE子句 统计 利用查询结果创建新表 使用UNION运算符实现多查询联合 连接 子查询
SQL Server 2000 网络数据库教程
第5章 SQL查询语句基础
组合查询操作符
查询1〉〈组合操作符〉〈查询2〉 1) UNION:并查询,并在结果集中去掉重复行。 2) MINUS:差查询操作。 3) INTERSECT:交查询操作。
SQL Server 2000 网络数据库教程
第5章 SQL查询语句基础
于)和 !<(不小于),共9种操作符。
SQL Server 2000 网络数据库教程
第5章 SQL查询语句基础
(3) 逻辑操作符
语义 在[不在]其中 任何一个 全部(每个) [不]存在 在[不在]范围 是[不是]空值 模式比较 与运算 或运算 非运算 操作符 [NOT] IN ANY ALL EXISTS BETWEEN…AND… IS [NOT] NULL [NOT] LIKE AND OR NOT 使用格式或示例 〈字段〉 IN (〈数据表|子查询〉)
SQL Server 2000 网络数据库教程
第5章 SQL查询语句基础
选择表中的若干列
更名 – 为结果集中的某个属性改名 – 使结果集更具可读性 其格式为; 列标题=列名 或者: 列名 AS 列标题 SELECT 类别=书目分类 ,作者 AS 姓名 From 图书
SQL Server 2000 网络数据库教程
(3) WHERE子句:元组选择条件。 (4) GROUP BY子句:结果集分组。当目标列中有统计函数,则统计 为分组统计,否则为对整个结果集统计。子句后带上HAVING子 句表达组选择条件(带函数的表达式)。
(5) ORDER BY子句:排序。当排序要求为ASC时升序排序;排序要 求为DESC时降序排列。
SQL Server 2000 网络数据库教程
第5章 SQL查询语句基础
SELECT 条件列表—选择表中的若干列
– 查询全部列
• • • 星号 * :按关系模式中属性的顺序排列。 显式列出属性名:按用户顺序排列。 显示雇员表中所有列的数据。 – SELECT * from 学生 显示雇员表中的雇员ID和姓名列的内容 – SELECT 学号, 姓名 From 学生
SQL Server 2000 网络数据库教程
第5章 SQL查询语句基础
SELECT 条件列表
(1) SELECT 子句:指明目标列(字段、表达式、函数表达式、常 量)。基本表中相同的列名表示为:〈表名〉.〈列名〉
(2) FROM子句:指明数据源。表间用“,”分割。数据源不在当前 数据库中,使用“〈数据库名〉.〈表名〉”表示。一表多用,用 别名标识。定义表别名:〈表名〉〈别名〉
相关主题