×

ASP入门(十九)- SELECT 语句

lixiaoyao lixiaoyao 发表于2016-09-17 14:42:34 浏览2106 评论0

抢沙发发表评论

 

SELECT 语法

Access 中 SELECT 完整语法如下:

SELECT [predicate] { * | table.* | [table.]field1 [AS alias1] [, [table.]field2 [AS alias2] [, ...]]}      
FROM tableexpression [, ...] [IN externaldatabase]      
[WHERE... ]      
[GROUP BY... ]      
[HAVING... ]      
[ORDER BY... ]      
[WITH OWNERACCESS OPTION]

  • predicate 谓词,用于限制返回的记录数,可以是ALL(默认)、DISTINCTDISTINCTROWTOP

  • *,指定表中所有字段

  • table,表的名称

  • field1, field2,字段名称

  • alias1, alias2,用作列标题的名称,也就是别名

  • tableexpression,表的名称

  • externaldatabase,外部数据库

SELECT 基本结构

SELECT 语句中有几个要素是必须要书写的,它的基本结构是

 字段  表名

字段和表名是必须要指定的。

例1、我们也可以使用 AS 关键字为字段起一个别名,如下查询

 联系人姓名  姓名  客户

查询结果如下:

20150820008

 

例2,我们需要从客户表中选取“联系人姓名”字段,同时从产品表中选取“产品名称”,SQL 语句如下:

 客户,产品

查询结果,上面查询两个表没有任何限制,产生结果供 M * N 条组合的数据结果(客户表中M条数据,产品表中N条数据)如下:

20150820009

 

例3、查询客户表中公司地址为“石家庄”的公司,这里就需要用到 WHERE 语句了,如下:

   城市

城市 字段为文本类型,因此查询时用单引号来表示字符串内容,查询结果如下:

20150820010

 

例4、查询客户表中,联系人字段包含“经理”字样的记录,查询如下:

   联系人职务

查询结果如下:

20150820011

我们使用了 LIKE 关键字来进行模糊匹配,在模糊匹配中可以使用以下的通配符:

  • ?_ 表示单一字符

  • *% 表示任意数量字符

  • # 表示单一数字

  • [charlist] 任何在字符表的单一字符

  • [!charlist] 任何不在字符表中的单一字符

例5、我们希望得到一个价格从大到小排序的产品列表,那么此时可以使用这样的 SQL 语句:

    单价

查询结果如下:

20150820012

 

例6、选取产品表前10行记录,SQL 语句如下:

     产品

选取产品表前10%的记录,SQL 语句如下:

      产品

选取订单表中货主地区字段内容,去除重复项, SQL 语句如下:

  货主地区  订单;

 

例7、我们想根据订单明细表来计算每种商品的销售额,SQL 语句如下:

 产品ID, (单价  数量  (折扣))   产品ID

查询结果如下:

20150820013

 

例8、在上面的分组统计中,我们要选取销售额大于 15000 元的统计记录,那么要用到 HAVING 子句,具体 SQL 如下:

 产品ID, (单价  数量  (折扣))   (单价  数量  (折扣))  ;

查询结果如下:

20150820014

访客