ASP入门(十九)- SELECT 语句
2015-08-21 00:22
543 查看
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(默认)、DISTINCT、DISTINCTROW 或 TOP。FROM tableexpression [, ...] [IN externaldatabase]
[WHERE... ]
[GROUP BY... ]
[HAVING... ]
[ORDER BY... ]
[WITH OWNERACCESS OPTION]
*,指定表中所有字段
table,表的名称
field1, field2,字段名称
alias1, alias2,用作列标题的名称,也就是别名
tableexpression,表的名称
externaldatabase,外部数据库
SELECT 基本结构
SELECT 语句中有几个要素是必须要书写的,它的基本结构是SELECT 字段 FROM 表名
字段和表名是必须要指定的。
例1、我们也可以使用 AS 关键字为字段起一个别名,如下查询
SELECT 联系人姓名 AS 姓名 FROM 客户
查询结果如下:
例2,我们需要从客户表中选取“联系人姓名”字段,同时从产品表中选取“产品名称”,SQL 语句如下:
SELECT 客户.联系人姓名, 产品.产品名称 FROM 客户,产品
查询结果,上面查询两个表没有任何限制,产生结果供 M * N 条组合的数据结果(客户表中M条数据,产品表中N条数据)如下:
例3、查询客户表中公司地址为“石家庄”的公司,这里就需要用到 WHERE 语句了,如下:
SELECT * FROM 客户 WHERE 城市='石家庄'
城市 字段为文本类型,因此查询时用单引号来表示字符串内容,查询结果如下:
例4、查询客户表中,联系人字段包含“经理”字样的记录,查询如下:
SELECT * FROM 客户 WHERE 联系人职务 LIKE '*经理*'
查询结果如下:
我们使用了 LIKE 关键字来进行模糊匹配,在模糊匹配中可以使用以下的通配符:
?_ 表示单一字符
*% 表示任意数量字符
# 表示单一数字
[charlist] 任何在字符表的单一字符
[!charlist] 任何不在字符表中的单一字符
例5、我们希望得到一个价格从大到小排序的产品列表,那么此时可以使用这样的 SQL 语句:
SELECT * FROM 产品 ORDER BY 单价 DESC
查询结果如下:
例6、选取产品表前10行记录,SQL 语句如下:
SELECT TOP 10 * FROM 产品
选取产品表前10%的记录,SQL 语句如下:
SELECT TOP 10 PERCENT * FROM 产品
选取订单表中货主地区字段内容,去除重复项, SQL 语句如下:
SELECT DISTINCT 货主地区 FROM 订单;
例7、我们想根据订单明细表来计算每种商品的销售额,SQL 语句如下:
SELECT 产品ID, SUM(单价 * 数量 * (1-折扣)) AS 销售额 FROM 订单明细 GROUP BY 产品ID
查询结果如下:
例8、在上面的分组统计中,我们要选取销售额大于 15000 元的统计记录,那么要用到 HAVING 子句,具体 SQL 如下:
SELECT 产品ID, SUM(单价 * 数量 * (1-折扣)) AS 销售额 FROM 订单明细 GROUP BY 产品ID
HAVING SUM(单价 * 数量 * (1-折扣)) > 15000;
查询结果如下:
相关文章推荐
- ASP入门(十八)-访问Access中的数据库
- IIS网站或系统验证码不显示问题——"使用了托管的处理程序,但是未安装或未完整安装 ASP.NET"
- Phantomjs 根据Casperjs源码拓展download方法
- ASP.Net零碎
- Asp.net+MVC
- 简单记录在Visual Studio 2013中创建ASP.NET Web API 2
- Win10 兼容性 Visual studio web应用程序 ASP.NET 4.0 尚未在 Web 服务器上注册
- asp网站后台里嵌入kindeditor在线编辑器问题
- NET/ASP.NETMVC 深入剖析 Model元数据、HtmlHelper、自定义模板、模板的装饰者模式
- Aspose.Words使用教程之插入文档元素(三)
- Aspose.Words使用教程之插入文档元素(三)【连载】
- 关于ASP网页无法打开的解决方案
- asp.net mvc 删除栏目、栏目下又有子栏目的处理方式
- metasploit 中文系统安装失败问题
- ASP.NET-get与post模式的区别
- ASP.NET学习笔记01
- asp.net mvc中的拦截器
- jsp与php、asp的区别
- (转)Aspone.Cells设置Cell数据格式 Setting Display Formats of Numbers and Dates
- 【工作笔记0010】asp.net后台Request.QueryString获取的url中文参数乱码解决方案