基本SELECT语句(一)--学习笔记

  用SELECT语句可以实现数据库的查询操作,同时,它还可以使用各种子句对查询结果进行分组统计、合计、排序等操作。SELECT语句还可以将查询结果生成另一个表(临时表或永久表)。

  SELECT语句的语法格式:

SELECT [ALL|DISTINCT] select_list
[INTO [new_table_name]]
[FROM {table_name,table_name2,...|view_name,view_name2,...}]
[WHERE clause]
[GROUP BY clause(子句)]
[HAVING clause(子句)]
[ORDER BY clause(子句)]
[COMPUTE clause(子句)]
[FOR BROWSE]

在使用中,子句可以省略,但在列出时按以上顺序。

1、简单查询

  简单查询包括SELECT列表、FROM子句和WHERE子句,它们分别指出所查询的列、查询对象(表或视图)、搜索条件等。

如:查询TongFuHotel表中年龄小于30岁的男性

1 SELECT TongFuHotel.Name,TongFuHotel.Job
2 FROM TongFuHotel
3 WHERE TongFuHotel.Age<30 AND TongFuHotel.Sex=''

(1)SELECT列表语句

  SELECT列表语句(select_list)指定所选择的列,它可以为一组列名列表、星号、表达式、变量等构成。当用星号表示则为选择指定表或视图中的所有列。

SELECT *FROM TongFuHotel

使用SELECT列表语句时,多个被指定的列名之间用逗号分隔。SELECT列表还可以对数值列进行算术运算(包括加、减、乘、除、取模等)。其中,加、减、乘、除操作适用于任何数值型(如int、smallint、tinyint、decimal、numeric、float、money、smallmoney等),而取模运算不能用于money和smallmoney数据类型。此外,还可以指定字符串常量或变量改变它们的输出结果。

  在SELECT语句中使用ALL|DISTINCT选项来显示所有行(ALL)或删除重复的行(DISTINCT),缺省时为ALL。使用DISTINCT选项时,对于所有数据重复的SELECT列表数值只显示一次。

SELECT DISTINCT job FROM TongFuHotel

(2)FROM子句

  FROM子句指定SELECT语句查询相关的表或视图。最多可指定16个表或视图,相互之间用逗号分隔。如果这些表或视图属于不同的数据库,可用“数据库.所有者名称.对象”格式指定表或视图。

  在FROM子句中可为每个表或视图指定一个别名,别名紧跟在对象名称之后,用空格分隔,允许使用别名引用表中各列。

1 SELECT Name,Job
2 FROM TongFuHotel t
3 WHERE t.Age<30 AND t.Sex=''

(3)WHERE子句限定搜索条件

①WHERE语句可包含条件运算符

a、比较运算符    >、<、>=、<=、=、<>、!>、!<   (大小比较)

b、范围运算符    BWTWEEN...AND、NOT BETWEEN...AND   (判断表达式值是否在指定范围之内)

c、列表运算符    IN、NOT IN    (判断表达式值是否为列表中的指定项)

d、模式匹配符    LIKE、NOT LIKE    (判断列植是否与指定的字符统配格式相符)

e、空值判断符    IS NULL、NOT IS NULL   (判断表达式值是否为空)

f、逻辑运算符    AND、OR、NOT    (用于多条件的逻辑连接)

②WHERE语句可包含模式匹配符

a、%:可匹配任意类型长度的字符

b、_:匹配单个任意字符,常用于限制表达式的字符长度

c、[]:指定一个字符、字符串或范围,要求所匹配对象为它们中的任一字符

d、[^]:取值与[]相同,但要求所匹配对象为指定字符以外的任一字符

 

参考文献:精通C#数据库编程.王华杰,黄山编著——北京:科学出版社,2003.10

 

posted @ 2016-04-29 10:58  一碗周  阅读(4716)  评论(0编辑  收藏  举报