SQL的意思是结构化查询语言,其主要功能是同各种数据库建立联系,进行沟通.查询指的是对存储于SQL的数据的请求。查询要完成的任务是:将Select语句的结果集提供给用户。Select语句从SQL中检索出数据,然后以一个或多个结果集的形式将其返回给用户。 ========================================================== Select基本语法结构 ========================================================== Select[predicate]{|table.|[table.]]field[,[table.]field2[,...]} [ASalias1[,alias2[,...]]] [INTOnew_table_name] FROMtableexpression[,...] [Where...] [GROUPBY...] [ORDERBY...][ASC|DESC]] predicate-->指定返回记录(行)的数量,可选:ALL,TOP --------->指定表中所有字段(列). table----->指定表的名称. field----->指定表中字段(列)的名称 [ASalias]-替代表中实际字段(列)名称的化名. [INTOnew_table_name]-->创建新表及名称. tableexpression---->表的名称. [GROUPBY...]表示以该字段的值分组 [ORDERBY...]表示按升序排列,降序选DESC; ------------------------------------------------------------ 1选择列 ------------------------------------------------------------ sql语句在access中的输入方法 (1)选择"查询"-->新建-->默认设计视图-->点击确定 (2)关闭"显示表对话框" (3)在菜单拦选择"视图"--->SQL视图,就可以输入SQL语句了 示例1_1_选择所有字段 Select FROMuseres; 示例1_2_选择部分字段 Selectuser_name,real_name,submit_date FROMuseres; 示例1_3查询两个表中的字段 Select图书信息表.图书条码,借书信息表.图书条码 FROM图书信息表,借书信息表; 示例解读: 通过上面简单示例我们体会到 (1)Select子句选择列表,它指出查询结果集所包含的字段(列)及其属性,选择所有列时用通配府,选择部分列时要用逗号隔开 (2)FROM子句指出查询的表名,要指定多个表时中间用逗号隔开 ------------------------------------------------------------ 2TOP指定返回记录数量 ------------------------------------------------------------ 示例1_4_返回记录数量 SelectTOP3 FROMuseres; ------------------------------------------------------------- 3AS派生新字段 ------------------------------------------------------------- 示例1_5_派生新字段 Selectuser_name,(submit_date+30)ASnew_date FROMuseres; ------------------------------------------------------------ 4Where指定条件进行筛选 ------------------------------------------------------------ 示例1_6等号查找指定记录 Select FROMuseres Whereuseres.real_name="红红"; 示例1_7年龄大于30的人 Select FROMuseres Whereage>30 从上面可以看出,在根据条件进行筛选时,要用到运算符,常见的运算符如下所示: 1比较运算符 =等于 <>不等于 >大于 <小于 <=小于等于 >=大于等于 2逻辑运算符 ALL所有条件都为true则返回true AND两个条件都为true则返回true OR有一个条件为true则返回true NOT对值取反 ANY所有条件中只要有一个为true则返回true BETWEEN只要操作数在指定的范围内,则返回true IN只要操作数等于表达式中的一个,则返回true LIKE如果操作数与模式相匹配,则返回true SOME在一系列的比较中,有些为true则返回true 示例1_8_某日以前注册用户 Select FROMuseres Wheresubmit_date<#2004-12-30# 示例1_9_某时间段注册用户 Select FROMuseres Wheresubmit_dateBETWEEN#2004-1-1#AND#2005-5-1# 示例1_10_按关键字查找 Select FROMuseres Whereuseres.real_nameLIKE"李" ------------------ IN与OR的区别 ----------------- 示例_IN筛选字段中的记录 Selectreal_name,submit_date FROMuseres Wherereal_nameIn("小李","小张") 示例_OR筛选字段中的记录 Selectreal_name,submit_date FROMuseres Wherereal_name="小李"orreal_name="小张" ------------------------------------------------------------ 5GROUPBY分组结果集 ------------------------------------------------------------ 示例1_12_GROUPBY分组结果集 Selectsex,SUM(age)ASage之SUM FROMuseres GROUPBYuseres.sex ORDERBYSUM(age)DESC; 示例解读: 按字段"sex"下的记录对新"字段"age之SUM"进行分组. ORDERBY...DESC用来指定按降序排列 本例中的sum为SQL中的聚合函数(对一组值进行操作,返回单一的汇总值),下面是常用的几个聚合函数: 1SUM求总和函数 格式: SUM([ALL|DISTINCT]expression) 参数: ALL对所有值求总和,默认为ALL DISTINCT求总和时排除重复项 expression值或表达式,可以是变量,字段,函数等 2AVG求平均值函数 格式: AVG([ALL|DISTINCT]expression) 参数: ALL对所有值求平均,默认为ALL DISTINCT求平均时排除重复项 expression值或表达式,函数等 3MIN和MAX函数分别为求最小值和最大值,格式和上面类似. 4COUNT行计数函数 格式: COUNT({[ALL|DISTINCT]expression|}) ALL表示计算除了NULL以外的其他项,为默认选项 DISTINCT表示COUNT返回唯一非空值的数量 expression为表达式,不能是txte,image,ntxt和uniqueidentifier类型的数据. 示例1_13_AVG求平均值函数 Selectsex,AVG(age)ASage之AVG FROMuseres GROUPBYuseres.sex ORDERBYAVG(age)DESC; 示例1_14_COUNT返回记录数量 SelectCOUNT() FROMuseres 示例1_15_按性别分组记录数量 Selectsex,COUNT() FROMuseres GROUPBYsex; ------------------------------------------------------------ 6DISTINCT从尾部除去重复记录 ------------------------------------------------------------ SelectDISTINCTreal_name FROMuseres ------------------------------------------------------------ 7组合查询 ------------------------------------------------------------ 当需要从多个表中查询时,可以使用组合查询 Selectuseres.real_name,logtime.log_time FROMuseres,logtime Where(((useres.real_name)=[logtime].[real_name])); (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|