SQL的基本操作(4.数据的检索)

2016-02-19 12:27 8 1 收藏

想不想get新技能酷炫一下,今天图老师小编就跟大家分享个简单的SQL的基本操作(4.数据的检索)教程,一起来看看吧!超容易上手~

【 tulaoshi.com - 编程语言 】

1.用Select子句检索记录
  Select子句是每一个检索数据的查询核心。它告诉数据库引擎返回什么字段。
  Select子句的常见形式是:
  Select*
  该子句的意思是“返回在所指定的记录源中能找到的所有字段”。这种命令形式很方便,因为你无需知道从表中检索的字段名称。然而,检索表中的所有列是低效的。因此,因该只检索需要的字段,这样可以大大的提高查询的效率。
  2.使用From子句指定记录源
  From子句说明的是查询检索记录的记录源;该记录源可以是一个表或另一个存储查询。
  你还能从多个表中检索记录,这在后面的章节中将介绍。
  例子:
  Select*Fromstudents检索students表中的所有记录
  3.用Where子句说明条件
  Where子句告诉数据库引擎根据所提供的一个或多个条件限定其检索的记录。条件是一个表达式,可具有真假两种判断。
  例子:
  Select*FromstudentsWherename="影子"
  返回students中name字段为影子的列表,这次所返回的结果没有特定顺序,除非你使用了OrderBy子句。该子句将在后面的章节介绍。
  注意:Where子句中的文本字符串界限符是双引号,在VB中因改为单引号,因为在VB中字符串的界定符是双引号。
  补充:
  使用And和Or逻辑可以将两个或更多的条件链接到一起以创建更高级的Where子句。
  例子:
  Select*FromstudentsWherename="影子"Andnumber100
  返回name为影子number大于100的列表。
  例子:
  Select*FromstudentsWherename="影子"And(number100Ornumber50)
  返回name为影子,number大于100或者小于50的列表。
  
  Where子句中用到的操作符
  操作符功能
  小于
  =小于或等于
  大于
  =大于或等于
  =等于
  不等于
  Between在某个取值范围内
  Like匹配某个模式
  In包含在某个值列表中
  SQL中的等于和不等于等操作符与VB中的意义和使用相同
  
  例子:
  (1).Between操作符
  Usecust
  Select*Fromstudents
  WherenumberBetween1and100
  Between操作符返回的是位于所说明的界限之内的所有记录值。这个例子就返回number字段1到100之间的全部记录。
  
  (2).Like操作符和通配符
  Usecust
  Select*Fromstudents
  WherenameLike"影"
  Like操作符把记录匹配到你说明的某个模式。这个例子是返回含“影”的任意字符串。
  
  四种通配符的含义
  通配符描述
  代表零个或者多个任意字符
  _(下划线)代表一个任意字符
  []指定范围内的任意单个字符
  [^]不在指定范围内的任意单个字符
  
  全部示例子如下:
  Like"BR"返回以"BR"开始的任意字符串
  Like"br"返回以"Br"开始的任意字符串
  Like"頽"返回以"een"结束的任意字符串
  Like"en"返回包含"en"的任意字符串
  Like"_en"返回以"en"结束的三个字符串
  Like"[CK]"返回以"C"或者"K"开始的任意字符串
  Like"[S-V]ing"返回长为四个字符的字符串,结尾是"ing",开始是从S到V。
  Like"M[^c]"返回以"M"开始且第二个字符不是"c"的任意字符串。
  
  4.使用OrderBy对结果排序
  OrderBy子句告诉数据库引擎对其检索的记录进行排序。可以对任何字段排序,或者对多个字段排序,并且可以以升序或隆序进行排序。
  在一个正式的Select查询之后包含一个OrderBy子句,后跟想排序的字段(可以有多个)便可以说明一个排序顺序。
  例子:
  Usecust
  Select*Fromstudents
  WherenameLike"影"
  OrderBynumber
  对返回的结果按number进行排序。
  
  以降序排序
  如要以隆序排序,只需在排序的字段之后使用Desc关键字。
  例子:
  Usecust
  Select*Fromstudents
  WherenameLike"影"
  OrderBynumberDesc
  
  5.使用Top显示某个范围的第一个记录或最后一个记录。
  使用Top关键字可以只显示一个大记录前面或后面的少数几个记录。在查询中,Top关键字与排序子句一起把结果集限制为少数几个记录或按某个百分比显示整个结果记录集合中的一部分。
  例子:
  SelectTop3*Fromstudents返回students表中的前3条记录
  SelectTop10Percent*Fromstudents返回students表中前面的10个记录
  SelectTop3*FromstudentsOrderBynumberdesc返回students表中number最大的(最后)的3条记录
  
  6.用As对字段名进行别名化
  为什么在查询中对字段命以别名,或重新命名,这样做的原因有两个:
  ☆所涉及的表的字段名很长,想使字段在结果集中更易处理一些。
  ☆创建的查询产生了某些计算或合计列,需要对之进行命名。
  不管是什么原因对字段命以别名,在SQL中都可以容易地使用As子句做得。
  例子:
  SelectnumberAs学号,nameAs姓名Fromstudents
  
  7.合并查询
  合并查询(UnionQuery)用于合并具有相同字段结构的两个表的内容,如果想在一个结果集中显示多个记录源中的不相关的记录时,这十分有用。
  例子:
  Select*
  Fromstudents
  Union
  Select*
  Fromstudents1
  该查询结果集把students和students1中的记录合并到一个结果中,其输出就和原表归档之前一模一样。
  注意:缺省情况下,合并查询不会返回重复记录(如果记录归档系统在把记录拷到归档表中后不将相应的记录删除,这时该功能就有用了),可以加上All关键字而让合并查询显示重复记录。
  例子:
  Select*
  Fromstudents
  UnionAll
  Select*
  Fromstudents1
  该合并查询显示students表和students1表的内容时,没有对重复记录进行处理
  补充:
  Union运算符允许把两个或者多个查询结果合并到一个查询结果集中。如果比较Union和Join两咱运算符,那么Union运算符增加行的数量,而Join运算符增加列的数量。使用Union时应该注意,两个结果中的列的结构必须匹配,数据类型必须兼容等等。
  Union运算符的语法形式如下:
  Selectselect_list
  Fromclause
  Whereclause
  GroupByclause
  Havingclause
  Union[All]
  Selectselect_list
  Fromclause
  Whereclause
  GroupByclause
  Havingclause
  OrderByclause
  Computeclause
  对于Union运算符,有下列几点需要说明:
  ·在默认情况下,Union运算符删除全部冗余行。如果使用All选项,那么冗余行不删除。
  ·在Union语句中的全部select_list必须有相同数量的列、兼容的数据类型并且按照同样的顺序出现。
  ·在结果集中,列名来自第一个Select语句。
  
  
  8.连接查询
  在实际使用过程中经常需要同时从两个表或者两个以上表中检索数据。连接就是允许同时从两个表或者两个以上表中检索数据,指定这些表中某个或者某些列作为连接条件。在SQLServer中,可以使用两种连接语法形式,一种是Ansi连接语法形式,这是连接用在From子句中,另外一种是SQLServer连接语句形式,这是连接用在Where子句中。
  Ansi连接语法形式如下:
  Selecttable_name.column_name,table_name.column_name,...
  From{table_name[join_type]Jointable_nameOnsearch_conditions}
  Where[search_conditions]
  在Ansi语法形式中,可以Ansi连接关键字来确定使用的连接形式。例如:
  ☆使用InnerJoin关键字,结果集中仅包含满足条件的行。
  ☆使用CrossJoin关键字,结果集中包含两个表中所有行的组合。
  ☆使用OuterJoin关键字,结果集中既包含那些满足条件的行,还包含那些其中某个表的全部行。
  SQLServer连接语法形式如下所示:
  Selecttable_name.column_name,table_name.column_name,...
  From[table_name,tab->

来源:http://www.tulaoshi.com/n/20160219/1600934.html

延伸阅读
标签: SQLServer
  转换数据 SQL Sever足够强大,可以在需要的时候把大部分数值从一种类型转换为另一种类型。例如,要比较SMALLINT型和INT型数据的大小,你不需要进行显式的类型转换。SQL Sever会为你完成这项工作。但是,当你想在字符型数据和其它类型的数据之间进行转换时,你的确需要自己进行转换操作。例如,假设你想从一个MONEY型字段中取出所有的值...
标签: SQLServer
  使用ISQL执行SELECT查询 当你安装SQL Sever时,你同时安装了一个叫作ISQL/w的应用程序。ISQL/w允许你执行交互的SQL查询。在把查询包括到你的ASP网页中之前,用ISQL/w对其进行测试是非常有用的。 注意: 在这本书的第一部份,你学习了怎样安装和配置Microsoft SQL Sever 。如果没有安装SQL Sever或者SQL Sever不能运行,请参阅第三章...
标签: SQLServer
  全文索引和全文检索是sql server 7.0的新增功能,它能够对数据中的字符类型列(如varchar、text等类型列)进行索 引,并通过索引实现全文搜索查询。sql server常规索引与全文检索相比,二者的区别如下: 常规索引                   ...
标签: ASP
  第十章“SQL基础”向你初步介绍了SQL。你学会了如何用SELECT语句进行查询,你还学会了如何建立自己的表。在这一章里,你将加深你的SQL知识。你将学习如何建立索引来加快查询速度。你还将学会如果用更多的SQL语句和函数来操作表中的数据。 建立索引 假设你想找到本书中的某一个句子。你可以一页一页地逐页搜索,但这会花很多时间。而通...
标签: ASP
  用SQL建立索引 为了给一个表建立索引,启动任务栏SQL Sever程序组中的ISQL/w程序。进入查询窗口后,输入下面的语句: CREATE INDEX mycolumn_index ON mytable (myclumn) 这个语句建立了一个名为mycolumn_index的索引。你可以给一个索引起任何名字,但你应该在索引名中包含所索引的字段名,这对你将来弄清楚建立该索引的意图是有帮助...

经验教程

637

收藏

23
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部