当前位置:首页 >> 计算机软件及应用 >>

SELECT的使用方法


SQL 查询就是利用 SQL 语句创建的查询。SQL 语言由若干语句组成,每个语句都遵守特 定的语法和约定。SQL 语言即结构化查询语言(Structured Query Language),在各种 关系型数据库中有着广泛的应用 SELECT 是任何 SQL 语言中使用频率最高的语句,它是 SQL 语言的灵魂。SELECT 语句可 以使数据库服务器根据客户的要求搜索所需要的信息,

并按规定的格式返回给客户。使 用 SELECT 语句, 不仅可以查询普通数据库中的表格和视图信息, 还可以查询 SQL Server 的系统信息。 SELECT 语句是最经常使用的 SQL 命令, 具有强大的查询功能。 在 SQL Server 数据库中,数据查询是通过使用 SELECT 语句来完成的。SELECT 语句可以从数据库中按 用户的要求查询行, 而且允许从一个表或多个表中选择满足给定条件的一个或多个行或 列,并将数据以用户规定的格式进行整理后返回给客户端。 SELECT 语句可以精确地对数据库进行查找,并且 SELECT 语句的 SQL 语法显得直观、结 构化。由于 SELECT 语句的完整语句比较复杂,所以在这里只列举它的主要子句。 【基本格式】 SELECT [ ALL | DISTICT|TOP n ] <*|<字段名列表>|[[表名.]字段 1 AS 别名 1 , [[表名.]字段 2 [AS 别名 2][?]]> FROM <表名 1>,<表名 2>[,?] [WHERE <筛选择条件表达式>] [GROUP BY <分组表达式> [HAVING<分组条件表达式>]] [ORDER BY <字段>[ASC | DESC]] 语句说明: [ ]表示可选项,>表示必选项,︱表示只能选一项,[,?]表示前面的项可重复 [GROUP BY <分组表达式> [HAVING<分组条件表达式>]] 指将结果按<分组表达式>的值进行分组,该值相等的记录为一组,带【HAVING】 短语则只有满足指定条件的组才会输出。 [ORDER BY <字段>[ASC | DESC]] “SELECT”就是“选取”的意思, ALL 表示在查询结果数据集中显示查询到的全部行。 DISTINCT 从 SELECT 语句的结果中除去重复的行,若此项为空,则默认为 ALL,即显 示查询到的所有行。 TOP n 用于在查询结果数据集中显示查询到的前 n 行数据(n 为整数)。
* 表示表中所有的列。 字段 AS 别名 为表中的列名取一个别名,在显示查询结果时,别名将代替列名。 FROM 子句 用来指定从中查询行的源表。可以指定多个源表,各个源表之间用“,”分割;若数据源 不在当前数据库中,则用“〈数据库名〉 . 〈表名〉”表示;还可以在该子句中指定表的别名,定义别

名表示为:〈表名〉as〈别名〉 。 WHERE 子句 用来指定限定返回的行的搜索条件。 GROUP BY 子句 用来指定查询结果的分组条件,即归纳信息类型。 HAVING 子句 用来指定组或聚合的搜索条件。 ORDER BY 子句 用来指定结果集的排序方式。显示结果要按<字段>值升序或降序进行排序

姓名 王志宇 王开甲 王陈 唐荣 汤伍祺 任子灏 彭小雪 倪梓翔 栾峰 刘明彬 顾杨春 陈星羽 王杰 钟贵婷 袁霞飞

学号 20061015 20061014 20061013 20061012 20061011 20061010 20061009 20061008 20061007 20061006 20061005 20061004 20061003 20061002 20061001

专业 机械 机械 机械 机械 机械 热能 热能 热能 热能 热能 冶金 冶金 冶金 冶金 冶金

性别 男 男 女 男 男 女 女 女 男 男 男 女 女 男 男

语文 83 81 90 92 69 83 89 70 76 85 91 79 97 85 88

数学 91 92 80 70 84 91 93 80 86 73 99 69 90 79 87

英语 74 88 83 77 71 85 84 80 59 66 69 83 70 72 78

体育 65 62 76 60 70 89 90 84 74 69 81 78 89 74 98

总分 313 323 329 299 294 348 356 314 295 293 340 309 346 310 351

1.查询表中所有的列 星号(*)在选择列表中由特殊含义,它代表列表中的所有行,它的使用格式如下: 因为 SELECT *查找当前表中的所有列,所以表结构的改变(添加、删除或重命名列) 会自动地改变 SELECT *的查询结果。SELECT *只对含有很少列的表来说很重要,因为如 果对于一个含有很多列的表来说,表中全部数据显示很容易混淆。 下面通过具体例子来了解 SELECT * 的用法。 例如,从数据库“图书管理系统”中查询“出版社信息表”的所有行。 也可以在关键字 SELECT 后,按创建表时各列在表中的顺序列出所有的列名,将会 得到与用 SELECT * 完全相同的结果。 在 SQL 查询分析器中输入下面的语句:

2.查询表中指定的列 有时候在对一个表进行查询时, 并不需要列出表中所有的列, 所以在进行这样的查询时, 只需列出那些可能用到的列,即采用指定列的形式。它的使用格式为: 3.为列取别名并只返回前 n 行 例如,从数据库“图书管理系统”的“出版社信息表”中查询列“出版社名称”,“出 版社所在城市”,“出版社电话”的相关数据,并且为这些列取别名,同时只返回前 5 条记录。 6.1.3 使用算术运算符 在 SELECT 语句中列的位置上, 可以使用 expression 表达式。 expression 表达式可以是 列名、常量、函数,以及由运算符连接的列名、常量和函数的任意组合。所以,可以用 +(加)、– (减)、*(乘)、/(除)和%(取模)这些算术运算符对查询结果进行计算。 例如,从数据库“图书管理系统”的“图书明细表”中,查询列“图书名称”和“定 价”为八折后的“新价格”的图书信息。 USE 图书管理系统 SELECT 图书名称,定价*0.8 AS 新价格 FROM 图书明细表

在查询结果窗口中显示“图书名称”以及图书在打折后的“新价格”,如图 6-7 所 示。 @ 实际演练:利用算术运算符+(加)对查询结果进行计算

查询数据库“图书管理系统”的“借出信息”表中的“图书编号”、“借书证号”和 “应还日期”和“应还日期”推迟 31 天后“新应还日期”的相关信息。 USE 图书管理系统 SELECT 图书编号,借书证号,应还日期,应还日期+31 as 新应还日期 FROM 借出信息

执行以上命令后,在查询结果窗口中显示“新应还日期”,新的应还日期延长了一 个月,。 用户在查询数据库时往往不需要检索全部的数据,而只需要查询其中一部分满足给 定条件的信息,此时需要在 SELECT 语句中加入条件,以选择其中的部分记录。这就要

用到 WHERE 子句来指定查询返回行的条件。带 WHERE 子句的 SELECT 语句的基本格式如 下: SELECT select_list FROM table_source WHERE search_condition

下面介绍该语句的命令说明。WHERE 子句必须紧跟在 FROM 子句的后面。 search_condition 为指定查询时要返回的行记录所应满足的条件, 该条件由表达式及逻 辑运算符等组成,并且 SQL Server 对 search_condition 中的查询条件数目没有限制。 SQL Server 为 search_condition 提供各种各样的运算符和关键字作为搜索条件,如表 6-1 所示。 我们将在下面各小节逐个介绍上述运算符的用法。 6.2.1 比较运算符 在运用 WHERE 子句来限定查询条件时,可以使用=、>、<、>=、<=、<>、!=、!>、!<等 比较运算符对两个表达式进行比较,并且以比较的结果作为查询的条件。它的语法格式 为: SELECT select_list FROM table_source WHERE expression1 comparison_operator expression2

其中,comparison_operator 是比较运算符。 例如,从数据库“图书管理系统”的“图书明细表”中,查询“定价”大于 50 的所有 图书, 并在查询结果中显示列“图书编号”、 “图书名称”、 “出版日期”和“定价”。 USE 图书管理系统 SELECT 图书编号,图书名称,出版日期,定价 FROM 图书明细表 WHERE 定价>50

在查询结果窗口中显示“定价”大于 50 的图书信息,如图 6-9 所示。 @ 实际演练:利用比较运算符“=”限定查询条件 从数据库“图书管理系统”的“作者表”中,查询“籍贯”是“北京”的所有作者,并 在查询结果中显示列“作者姓名”和“籍贯”。 USE 图书管理系统 SELECT 作者姓名,籍贯 FROM 作者表 WHERE 籍贯='北京'

在查询结果窗口中显示籍贯是北京的作者,如图 6-10 所示。

@ 实际演练:利用比较运算符“<”限定查询条件 从数据库“图书管理系统”的“学生表”中,查询“出生日期”在 1988 年 7 月 1 日以 前的学生,并返回这些学生的所有信息。 在查询分析器的命令窗口中输入以下语句: USE 图书管理系统 SELECT * FROM 学生信息表 WHERE 出生日期<'1988-7-1'

在查询结果窗口中显示出生在 1988 年 7 月 1 日之前的学生的所有信息,如图 6-11 所示。 实际演练:利用比较运算符“!=”限定查询条件 从数据库“图书管理系统”的“作者表”中,查询“籍贯”不是“北京”的作者信息, 并返回列“作者姓名”、“性别”、“家庭住址”和“籍贯”。 USE 图书管理系统 SELECT 作者姓名,性别,家庭住址,籍贯 FROM 作者表 WHERE 籍贯!='北京'

在查询结果窗口中显示籍贯不是北京的作者信息,如图 6-12 所示。 6.2.2 逻辑运算符 当用 WHERE 语句处理多于一个条件的查询时,要用到逻辑运算符 AND、OR 和 NOT,逻辑 运算符也称做 Boolean 运算符。利用逻辑运算符可以连接两个或两个以上的条件,并且 在所有条件或某些条件成立时返回结果。例如,逻辑运算符 AND,只有在所有条件都成 立时才返回结果;逻辑运算符 OR,只要其中一个条件成立即可返回结果;逻辑运算符 NOT 表示否认一个表达式,表达式成立时不返回结果,只有当表达式不成立时才返回结 果。这些逻辑表达式可以混和运用。利用逻辑表达式来限定查询条件的基本语法格式如 下所示: SELECT select_list FROM table_source WHERE {NOT expression︱expression1 logical_operator expression2}[,?n]

其中,logical_operator 表示逻辑运算符,[,?n]表示前面的项可重复 n 次,语句 中的 logical_operator 可以是 AND、OR 两个逻辑表达式中的任意一个,用到 NOT 时, 要将 NOT 放在表达式的前面。

例如,从数据库“图书管理系统”的“作者表”中,查询“性别”为“男”,并且“籍 贯”是“北京”的作者信息。 USE 图书管理系统 SELECT * FROM 作者表 WHERE 性别='男' AND 籍贯='北京'

在查询结果窗口中显示“性别”为“男”, 并且“籍贯”是“北京”的作者的信息, 如图 6-13 所示。 @ 实际演练:利用逻辑运算符“OR”限定查询条件 从数据库“图书管理系统”的“作者表”中, 查询“籍贯”是“河南郑州”或“河北石 家庄”的作者信息。 在查询结果窗口中显示籍贯是河南郑州或河北石家庄的作者信息,如图 6-14 所示。 @ 实际演练:利用逻辑运算符“NOT”限定查询条件 从数据库“图书管理系统”的“学生信息表”中, 查询“政治面貌”不是“中国共产党 员”的学生信息,并且返回列“姓名”、“性别”、“出生日期”、“系别”和“政治 面貌”。 在查询结果窗口中显示政治面貌不是中国共产党的学生信息,如图 6-15 所示。 6.2.3 BETWEEN 关键字 在 WHERE 子句中,当需要确定表达式的取值是否在一定的范围之内时,可以使用 BETWEEN、NOT BETWEEN 运算符来限定查询条件。利用 BEWEEN 关键字来限定查询条件的 基本语法格式如下所示: 其中,[NOT]为可选项。例如,从数据库“图书管理系统”的“图书明细表”中,查 询“定价”在 50~100 之间的图书信息,并且返回列“图书名称”、“出版社编号”、 “出版日期”和“定价”。 该查询结果窗口显示中显示定价在 50~100 之间的图书信息,如图 6-16 所示。 @ 实际演练:利用 NOT BETWEEN 限定查询条件 从数据库“图书管理系统”的“作者表”中, 查询“作者编号”不在 10010~10020 范围之内的作者信息,并且返回所有列。

在查询结果窗口中显示作者编号不在 10010~10020 之内的作者信息,如图 6-17 所 示。 @ 实际演练:利用 BETWEEN 和 NOT BETWEEN 联合限定查询条件 从数据库“图书管理系统”的“图书明细表”中,查询“作者编号”在 10011~10020 之间且“定价”不在 30~150 之间的图书信息,并且返回列“图书名称”、“作者编 号”、“出版日期”和“定价”。 在查询结果窗口中显示作者编号在 10011~10020 之间并且定价不在 30~150 之间的 图书信息,如图 6-18 所示。 6.2.4 IN 关键字 在 WHERE 子句中,当需要确定表达式的取值是否属于某一列表值之一时,可以使用 IN 或 NOT IN 运算符来限定查询条件。利用 IN 关键字来限定查询条件的基本语法格式如下 所示: SELECT select_list FROM table_source WHERE expression[NOT] IN (value_list)

其中,[NOT]为可选项,value_list 表示值列表。 例如,从数据库“图书管理系统”的“学生信息表”中,查询“系别”是“工业工 程”和“机械自动化”的学生信息, 并返回列“学号”、 “班号”、 “姓名”、 “性别”、 “出生日期”、“系别和家庭住址”。 在查询结果窗口中显示系别是工业工程和机械自动化的学生信息,如图 6-19 所示。 @ 实际演练:利用 NOT IN 限定查询条件 从数据库“图书管理系统”的“出版社信息表”中, 查询“出版社所在城市”不是“北 京”的出版社信息,并且返回所有列。 USE 图书管理系统 SELECT * FROM 出版社信息表 WHERE 出版社所在城市 NOT IN ('北 京')

在查询结果窗口中显示地理位置不在北京的出版社信息,如图 6-20 所示。 @ 实际演练:利用 IN 和 NOT IN 联合限定查询条件 从数据库“图书管理系统”的“图书明细表”中,查询“作者编号”是 10007、10008、 10021 之一且“出版社编号”不是 1001、1005、1008 的图书信息,并返回列“图书名 称”、“作者编号”、“出版社编号”、“出版日期”和“定价”。

在查询结果窗口中显示作者是作者编号为 10007、 10008 和 10021 之一, 并且出版社 不是出版社编号 1001、1005 和 1008 之一的图书信息,如图 6-21 所示。 6.2.5 LIKE 关键字 在 WHERE 子句中,当需要把表达式与字符串进行比较时,可以使用 LIKE 或 NOT LIKE 运 算符来表示查询条件。利用 LIKE 关键字来表示查询条件的基本语法格式如下所示: SELECT select_list FROM table_source WHERE expression [NOT] LIKE 'string'

其中,[NOT]为可选项,string 表示用来进行比较的字符串。 利用 WHERE 子句进行查询的过程中,为了实现对字符串的模糊匹配,可以在 string 字符串中使用通配符。SQL Server 为用户提供了四个通配符,它们分别是:%、[ ]、[^]、 _(下划线)。其中,%表示任意多个字符,[ ]表示指定范围内的单个字符,[^]表示不在 指定范围内的单个字符,_(下划线)表示单个字符。 例如,从数据库“图书管理系统”的“作者表”中,查询姓王的作者信息,并返回所有 列。 USE 图书管理系统 SELECT * FROM 作者表 WHERE 作者姓名 LIKE '王%'

在查询结果窗口中显示姓王的作者信息,如图 6-22 所示。 @ 实际演练:利用'N[xy]%' 限定查询条件 从数据库“图书管理系统”的“图书明细表”中,查询“图书名称”以 A 开头,第二个 字符是 S 或 c 的图书信息,并返回列“图书名称”、“出版社编号”、“出版日期”和 “定价”。 USE 图书管理系统 SELECT 图书名称,出版社编号,出版日期,定价 FROM 图书明细表 WHERE 图书名称 LIKE 'A[Sc]%'

在查询结果窗口中显示图书名称以 A 开头,第二个字符是 S 或 c 的图书信息,如图 6-23 所示。 @ 实际演练:利用'N[^xy]% ' 限定查询条件 从数据库“图书管理系统”的“图书明细表”中,查询“图书名称”以 A 开头,第二个 字符不是 c 或 u 的图书信息,并返回列“图书名称”、“出版社编号”、“出版日期” 和“定价”。 USE 图书管理系统 SELECT 图书名称,出版社编号,出版日期,定价 FROM 图书明细表 WHERE 图书名称 LIKE 'A[^cu]%'

在查询结果窗口中显示图书名称以 A 开头,第二个字符不是 c 或 u 的图书信息,如 图 6-24 所示。 @ 实际演练:利用'N_M%'限定 查询条件 从数据库“图书管理系统”的“图书明细表”中,查询“图书名称”以 A 开头,第二个 为任意字符, 且第三个字符是 t 的图书信息, 并返回列“图书名称”、 “出版社编号”、 “出版日期”和“定价”。 6.2.6 选择空值 NULL(即空值)的属性通常表示未知、不可用或将在以后添加的数据,而并不表示 0 或 空白。在对数据库进行操作的过程中,当需要查看值为 NULL 的数据库表信息时,就可 以利用含有 NULL 关键字的 WHERE 子句。它的基本语法格式如下: SELECT select_list FROM table_source WHERE column_name IS [NOT] NULL

其中,column_name 表示列名,[NOT]为可选项。 例如,从数据库“图书管理系统”的“图书明细表”中,查询“出版日期”未添加(即 为空值)的图书信息,并返回列“图书编号”、“图书名称”、“作者编号”、“出版 社编号”、“出版日期”和“定价”。 USE 图书管理系统 SELECT 图书编号,图书名称,作者编号,出版社编号,出版 日期,定价 FROM 图书明细表

WHERE 出版日期 IS NULL

在查询结果窗口中显示出版日期未添加的图书信息,如图 6-26 所示


相关文章:
s-select标签的用法
<s:select />标签的用法 struts2 中 s:select 标签的使用 1.第一个例子: ...id 是调用对象 中 getId 方法,value 类似,主要是这里的 value 值,它采用 ...
Update、select使用方法
Update、select使用方法_IT/计算机_专业资料。Update、select 使用方法 、最常用的 update 语法是: UPDATE <table_name> SET <column_name1> = <value>, SET ...
SELECT用法小结
SELECT用法小结_计算机软件及应用_IT/计算机_专业资料。SELECT 用法小结 1 Individual...2页 1下载券©2015 Baidu 使用百度前必读 | 文库协议 | 网站地图...
select查询语句用法
select查询语句用法_计算机软件及应用_IT/计算机_专业资料。select查询语句的各种可用...©2014 Baidu 使用百度前必读 | 文库协议 | 网站地图...
quotename的用法
我举个例子: 你有个表名字叫做 aa[]bb 当某些应用动态语句查询时 你如何写...使用{}那么必须对}进行转义:}} 那么结果为:{abc{}}def} 示例: select ...
SELECT语句使用大全(二)
SELECT语句使用大全(二)_计算机软件及应用_IT/计算机_专业资料。SELECT 语句使用大全(二) 三、使用 WHERE 和 HAVING 筛选行 WHERE 和 HAVING 子句可以控制用于生成...
SELECT语句高级用法
SELECT语句高级用法_计算机软件及应用_IT/计算机_专业资料。SELECT 语句高级用法 1, 使用 group by 子句 group by 子句将表分为几组,此子句通常与为每个这样的组...
Oracle数据库Select函数基本用法
1、当使用聚集函数时,SELECT 中的列不出现在聚集函数中就必须出现在 GROUP BY 中,否则会出现语法错误;例如下列语句是非法的: SELECT department_id, COUNT(last_...
绝对新手学的SQL-select用法
5.多个条件的查询 5.多个条件的查询函数 in or and 的使用 当我们知道很多...='10' 这说明没有不等于 10 的那么我试下他的用处 select count(boxnum) ...
DNASTAR使用说明
PrimerSelect的使用方法……….….……….28 创建PrimerSelect文件 定义引物特点 查找引物对 浏览其他的引物信息 按特征对引物分类 引物长度改变 在引物中引入突变 ...
更多相关标签: