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

2016-02-19 12:27 4 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->

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

延伸阅读
标签: ASP
  使用ISQL执行SELECT查询 当你安装SQL Sever时,你同时安装了一个叫作ISQL/w的应用程序。ISQL/w允许你执行交互的SQL查询。在把查询包括到你的ASP网 页中之前,用ISQL/w对其进行测试是非常有用的。 注意: 在这本书的第一部份,你学习了怎样安装和配置Microsoft SQL Sever 。如果没有安装SQL Sever或者SQL Sever不能运行,请参 阅第三...
标签: SQLServer
  用SQL建立索引 为了给一个表建立索引,启动任务栏SQL Sever程序组中的ISQL/w程序。进入查询窗口后,输入下面的语句: CREATE INDEX mycolumn_index ON mytable (myclumn) 这个语句建立了一个名为mycolumn_index的索引。你可以给一个索引起任何名字,但你应该在索引名中包含所索引的字段名,这对你将来弄清楚建立该索引的意图是有帮助...
标签: SQLServer
  操作字段 通常,当你从一个表中取出字段值时,该值与创建该表时所定义的字段名联系在一起。如果你从表authors中选择所有的作者名字,所有的值将会与字段名au_lname相联系。但是在某些情况下,你需要对字段名进行操作。在SELECT语句中,你可以在缺省字段名后面仅跟一个新名字来取代它。例如,可以用一个更直观易读的名字Author Last Nam...
标签: ASP
  操作日期和时间 日期和时间函数对建立一个站点是非常有用的。站点的主人往往对一个表中的数据何时被更新感兴趣。通过日期和时间函数,你可以在毫秒级跟踪一个表的改变。 返回当前日期和时间 通过函数GETDATE(),你可以获得当前的日期和时间。例如,语句SELECT GETDATE()返回如下的结果: …………………………….. NOV 30 1997 3...
标签: SQLServer
  本章内容 SQL介绍 使用SELECT 语句从表中取数据 创建新表 字段属性 向表中添加数据 删除和修改表 为了建立交互站点,你需要使用数据库来存储来自访问者的信息。例如,你要建立一个职业介绍服务的站点,你就需要存储诸如个人简历,所感兴趣的工作等等这样的信息。创建动态网叶也需要使用数据库,如果你想显示符合来访者要求的...

经验教程

577

收藏

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