SQL 百分网手机站

SQL语句结构示例

时间:2018-04-27 20:22:44 SQL 我要投稿

SQL语句结构示例

  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]));

【SQL语句结构示例】相关文章:

1.修改表结构sql语句两篇

2.oracle的sql语句

3.sql语句的使用

4.SQL语句的功能

5.SQL语句优化的经验

6.经典SQL语句大全

7.SQL基本语句大全

8.SQL查询语句大全