度量快速开发平台-专业、快速的软件定制快开平台

标题: SELECT语句的基础语法 [打印本页]

作者: fteair    时间: 2020-2-28 17:38
标题: SELECT语句的基础语法
SELECT语句就像叠加在数据库表上的过滤器,即选择查询用于定位数据库特定的列和行。下面是SELECT语句的基础语法。
  1. SELECT [ALL|DISTINCT SELECT_LIST
  2. FROM {table_name|view_name}
  3. [WHERE search_condition]
  4. [GROUP BY group_by_expression]
  5. [HAVING search_condition]
  6. [ORDER BY order_by_expression [ASC|DESC]]
复制代码
用中括号[]括起来的表示可选的,用大括号{}括起来的表示必须从中选择其中的一个。下面我们对SELECT语句的每个子句进行详细的解析。
       1.SELECT子句
       (1)SELECT子句:指定由查询返回的列,可以一次返回多个列,用“,”分开即可。可用空格或关键字AS定义列别名。
       (2)SELECT子句中,应避免使用通配符 *,尽可能查询符合某条件的数据,以提高查询效率。
       (3)关键字DISTINCT的作用为去重,默认为ALL,既显示所有数据。
       2.FROM子句
       (1)FROM子句:用于指定所要查询的表或视图,用“,”分隔不同的表或视图,空格或关键字AS定义列别名。
       (2)FROM子句完整格式:FROM user_name.table.name;(用户名.表名)
       3.WHERE子句
       (1)WHERE子句:指定被检索表中返回行的搜索条件,若无此子句,则默认所有行都满足条件。
       (2)比较运算符:>、<、>=、<=、=、<>、!=、BETWEEN...AND...
       (3)逻辑运算符:AND、OR、NOT
       (4)多行运算符:IN(set)、ANY(condition)、ALL(conditon)
       (4)除了上述运算符,还有IS NULL/IS NOT NULL 条件,LIKE条件(% 通配所有字符,_ 配一个字符)
       4.GROUP BY子句
       (1)GROUP BY子句:把表中的行划分为组,然后你可以用组函数返回每一组的摘要信息。
       (2)GROUP BY子句中可以包含多个列,不能使用列别名,不能使用WHERE来约束分组结果。
       (3)组函数:AVG、SUM、MAX、MIN、COUNT、STDDEV(标准差)、VARIANCE(方差)。
       5.HAVING子句
       (1)HAVING子句:指定组或聚合的筛选条件,通常与GROUP BY子句混合使用。
       (2)HAVING筛选器可以使用和WHERE相同的运算符,用于约束GROUP BY创建的分组。
       6.ORDER BY子句
       (1)ORDER BY子句:指定排序显示返回的行,ASC以升序排序(默认),DESC以降序排序。
       (2)除非使用FOR UPDATE子句,ORDER BY子句应该放最后。
       (3)ORDER BY子句可以指定一个表达式,一个别名作为排序条件,也可进行多列排序。


作者: 张兴康    时间: 2020-2-28 18:00

作者: fteair    时间: 2020-2-28 18:01
张兴康 发表于 2017-3-30 18:00


作者: 张兴康    时间: 2020-3-1 18:15

作者: fteair    时间: 2020-3-1 18:45
张兴康 发表于 2017-4-1 18:15


作者: 张兴康    时间: 2020-3-5 18:01
fteair 发表于 2017-4-1 18:45


作者: fteair    时间: 2020-3-5 18:39





欢迎光临 度量快速开发平台-专业、快速的软件定制快开平台 (http://bbs.delit.cn/) Powered by Discuz! X3.2