剖析Select语句检索

 下面就SELECT语句做一比较全面的阐述。

  1.简单SELECT语句

  “SELECT *” 的意思是:返回在所指定的记录源中能找到的所有字段。这种命令形式很方便,因为你无需知道从表中检索的字段名称。然而,检索表中的所有列是低效的。因此,因该只检索需要的字段,这样可以大大的提高查询的效率。

  2.使用 From 子句指定记录源

  From 子句说明的是查询检索记录的记录源;该记录源可以是一个表或另一个存储查询。

  例:Select * From students 检索students表中的所有记录

  3.用 Where 子句说明条件

  Where 子句告诉数据库引擎根据所提供的一个或多个条件限定其检索的记录。条件是一个表达式,可具有真假两种判断。

  例:Select * From USERS Where ID='123' (注:标准的SQL语句使用单引号作为字符的定界符)

  返回USERS表中ID字段为"123"的所有记录。

  使用 And 和 Or 逻辑可以将两个或更多的条件链接到一起以创建更高级的 Where 子句。

  例:Select * From USERS Where ID = '123' And PWD <> ''
返回ID为“123”PWD不为空的记录。

SQL语句中的比较运算符

操作符
功能操作符功能
>大于Between在某个取值范围内
>=大于或等于Like匹配某个模式
<小于In包含在某个值列表中
<=小于或等于  
=等于  
<>不等于  


   (1)Between 操作符

Select * From USERS Where ID Between 1 And 100

Between 操作符返回的是位于所说明的界限之内的所有记录值。这个例子就返回ID字段从1到100之间的全部记录。

  (2)Like 操作符和通配符

Select * From USERS Where ID Like "%3%"

Like 操作符把记录匹配到你说明的某个模式。这个例子是返回ID中含“3”的所有记录。

四种通配符的含义

通配符描述通配符描述
%代表零个或者多个任意字符[ ]指定范围内的任意单个字符
_代表一个任意字符[^]不在指定范围内的任意单个字符


全部示例子如下:

Like "BR%" 返回以"BR"开始的任意字符串

Like "br%" 返回以"br"开始的任意字符串

Like "%een" 返回以"een"结束的任意字符串

Like "%en%" 返回包含"en"的任意字符串

Like "_en" 返回以"en"结束的三个字符串

Like "[CK]%" 返回以"C"或者"K"开始的任意字符串

Like "[S-V]ing" 返回长为四个字符的字符串,结尾是"ing",开始是从S到V

Like "M[^c]%" 返回以"M"开始且第二个字符不是"c"的任意字符串

  4.使用Order By排序

  在一个正式的 Select 查询之后包含一个 Order By 子句,后跟想排序的字段(可以有多个)便可以说明一个排序顺序。

例:Select * From USERS Where ID Like '%3%' Order By ID

  对返回的记录按ID进行排序。

  以降序排序(默认按升序),只需在排序的字段之后使用 Desc 关键字。

例:Select * From USERS Where ID Like '%3%' Order By ID Desc

  5.使用 Top 显示某个范围的第一个记录或最后一个记录

  使用 Top 关键字可以只显示一个大记录前面或后面的少数几个记录。在查询中,Top 关键字与排序子句一起把结果集限制为少数几个记录或按某个百分比显示整个结果记录集合中的一部分。

例:Select Top 3 * From USERS 返回USERS表中的前3条记录

Select Top 10 Percent * From USERS 返回USERS表中前面的10%个记录

Select Top 3 * From USERS Order By ID Desc 返回USERS表中ID最大的的3条记录

  6.用 As 对字段名进行别名化

  为什么在查询中对字段命以别名,或重新命名,这样做的原因有两个:

  (1)所涉及的表的字段名很长,想使字段在结果集中更易处理一些。

  (2)创建的查询产生了某些计算或合计列,需要对之进行命名。

例:Select ID As 用户号 ,PAS As 密码 From USERS

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值