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 语句中有几个要素是必须要书写的,它的基本结构是

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入门(十九)- SELECT 语句的更多相关文章

  1. mysql进阶(十九)SQL语句如何精准查找某一时间段的数据

    SQL语句如何精准查找某一时间段的数据 在项目开发过程中,自己需要查询出一定时间段内的交易.故需要在sql查询语句中加入日期时间要素,sql语句如何实现? SELECT * FROM lmapp.lm ...

  2. ASP入门(九)-Request对象小案例

    我们将制作一个能够记住访问者姓名的页面,在这个小案例中,你将学会如何使用Request对象的Cookies.Form以及ServerVariables集合的值,还可以学习到如何使用Response对象 ...

  3. Kinect for Windows SDK开发入门(十九):Kinect Fusion

        Kinect for Windows SDK1.7中引入了Kinect Fusion功能.在1.8的SDK中对该功能进行了改进和强化,Kinect Fusion能够使得我们使用Kinect f ...

  4. Android入门(十九)WebView

    原文链接:http://www.orlion.ga/676/ WebView可以在自己的应用程序中嵌入一个浏览器来展示网页. 创建一个项目WebViewDemo,修改activity_main.xml ...

  5. [WebGL入门]十九,遮挡剔除和深度測试

    注:文章译自http://wgld.org/,原作者杉本雅広(doxas),文章中假设有我的额外说明,我会加上[lufy:],另外.鄙人webgl研究还不够深入,一些专业词语,假设翻译有误.欢迎大家指 ...

  6. ASP入门(二十二)-连接数据库

    ADO 简介 在 ASP 中访问数据库使用的 ADO 组件. ADO 是一项微软的技术. ADO 指 ActiveX 数据对象(ActiveX Data Objects). ADO 是微软的 Acti ...

  7. 无废话ExtJs 入门教程十九[API的使用]

    无废话ExtJs 入门教程十九[API的使用] extjs技术交流,欢迎加群(201926085) 首先解释什么是 API 来自百度百科的官方解释:API(Application Programmin ...

  8. Bootstrap入门(二十九)JS插件6:弹出框

    Bootstrap入门(二十九)JS插件6:弹出框 加入小覆盖的内容,像在iPad上,用于存放非主要信息 弹出框是依赖于工具提示插件的,那它也和工具提示是一样的,是需要初始化才能够使用的 首先我们引入 ...

  9. Bootstrap入门(十九)组件13:页头与缩略图

    Bootstrap入门(十九)组件13:页头与缩略 1.页头 2.默认的缩略图 3.自定义缩略图 页头组件能够为 h1 标签增加适当的空间,并且与页面的其他部分形成一定的分隔.它支持 h1 标签内内嵌 ...

随机推荐

  1. C# MD5 32位加密 UTF-8编码

    项目开发过程中需要用到MD5加密,最开始的使用使用加密方法: public static string GetMD5(string str)        {            byte[] b ...

  2. Linux/CentOS服务器 一个网卡绑定多IP地址(永久设置)

    有时我们在使用 Linux 服务器时需要配置多个IP地址.如果要配置多个IP地址是否需要多块网卡呢?答案是否定的.以 CentOS 系统为例,多个 IP 地址是可以共享一块物理网卡的. 如何永久为单网 ...

  3. Revit Family API 添加材质参数设置可见性

    start //添加类型 void AddType(FamilyManager familyMgr, string name, double w, double d) {     FamilyType ...

  4. delphi project of object

    http://www.cnblogs.com/ywangzi/archive/2012/08/28/2659811.html 其实要了解这些东西,适当的学些反汇编,WINDOWS内存管理机制,PE结构 ...

  5. delphi 使用工控机控件 iThreadTimes 出现问题, 导致主程序创建页面的时候, 阻塞消息, 不能正常执行。

    delphi  使用工控机控件 iThreadTimes 出现问题, 导致主程序创建页面的时候, 阻塞消息, 不能正常执行. 使用这个控件需要小心 function Tfrm_MainIPC.Open ...

  6. TFS 2015 Build Agent failing syncing the repository 获取源码 不全 失败

    当我们使用TFS2015d的生成代理时,我们将生成定义加入代理池队列中,但是代理可能无法完全下载我们在TFS代码浏览器中看到的所有目录,这肯定会导致编译失败呀!为什么呢? 原因在于tfscompile ...

  7. win10镜像重装,快速设置之后无限重启怎么办?

    我得操作过程: 1.下载老毛桃最win8pe装机版 2.安装老毛桃到U盘, 3.格式化U盘,用extFat格式,拷贝win10镜像文件(你也可以拷贝到硬盘上) 4.插入电脑,通过U盘启动,进入PE 5 ...

  8. 电子书下载:Delphi XE 5 移动开发入门手册(完整版)

    更多电子书请到: http://maxwoods.400gb.com 下载:Delphi XE5移动开发入门手册(完整版)

  9. 跟踪EBS客户端的IP地址

    Meterlink参考文档: How to Track IP Address of the Form Session in Oracle application 11i (文档 ID 878931.1 ...

  10. C#使用ProtocolBuffer(ProtoBuf)进行Unity中的Socket通信

    首先来说一下本文中例子所要实现的功能: 基于ProtoBuf序列化对象 使用Socket实现时时通信 数据包的编码和解码 下面来看具体的步骤: 一.Unity中使用ProtoBuf 导入DLL到Uni ...