从数据库中检索行,并允许从一个或多个表中选择一个或多个行或列。虽然 SELECT 语句的完整语法较复杂,但是其主要的子句可归纳如下:
  

SELECT select_list
[ INTO new_table ]
FROM table_source
[ WHERE search_condition ]
[ GROUP BY group_by_expression ]
[ HAVING search_condition ]
[ ORDER BY order_expression [ ASC | DESC ] ]

  SELECT 子句

    指定由查询返回的列。
    语法
SELECT [ ALL | DISTINCT ]
[ TOP n [ PERCENT ] ]

  ALL 指定在结果集中可以显示重复行。ALL 是默认设置。DISTINCT 指定在结果集中只能显示唯一行。为了 DISTINCT 关键字的用途,空值被认为相等。TOP n [PERCENT] 指定只从查询结果集中输出前 n 行。

select * from emp;

  INTO 子句

    创建新表并将结果行从查询插入新表中。
    用户若要执行带 INTO 子句的 SELECT 语句,必须在目的数据库内具有 CREATE TABLE 权限。
    语法
[ INTO new_table ]

  FROM 子句

    指定从其中检索行的表。需要 FROM 子句,除非选择列表只包含常量、变量和算术表达式(没有列名)。
    语法
[ FROM { < table_source > } [ ,...n ] ]
    table_source 根据选择列表中的列和 WHERE 子句选择的行,指定要创建的新表名。new_table 的格式通过对选择列表中的表达式进行取值来确定。new_table 中的列按选择列表指定的顺序创建。new_table 中的每列有与选择列表中的相应表达式相同的名称、数据类型和值。

  WHERE 子句

    指定用于限制返回的行的搜索条件。
    语法
[ WHERE < search_condition > | < old_outer_join > ]

  GROUP BY 子句

    指定用来放置输出行的组,并且如果 SELECT 子句 <select list> 中包含聚合函数,则计算每组的汇总 值。指定 GROUP BY 时,选择列表中任一非聚合表达式内的所有列都应包含在 GROUP BY 列表中,或者 GROUP BY 表达式必须与选择列表表达式完全匹配。
    说明  如果未指定 ORDER BY 子句,则使用 GROUP BY 子句不按任何特定的顺序返回组。建议始终使用 ORDER BY 子句指定具体的数据顺序。
    语法
[ GROUP BY group_by_expression [ ,...n ]]

    例子:

    1. 统计各个部门的员工的工资的总和

      select deptno ,sum(sal)
      from emp
      group by deptno;
    2. 统计各个部门各个职业的员工的工资的总和 
      select deptno,job,sum(sal)
      from emp
      group by(deptno,job)
      order by deptno;
 select job from emp group by job;

  HAVING 子句

    指定组或聚合的搜索条件。HAVING 通常与 GROUP BY 子句一起使用。如果不使用 GROUP BY 子句,HAVING 的行为与 WHERE 子句一样。
    语法
[HAVING <search_condition>]
    search_condition 指定组或聚合应满足的搜索条件。当 HAVING 与 GROUP BY ALL 一起使用时,HAVING 子句替代 ALL。HAVING 子句与组有关,WHERE 子句与单个列有关。
    例子:
    统计各个部门的员工的工资的总和,且工资总和必须在10000以上
    

select deptno ,sum(sal)
from emp
group by deptno
having sum(sal)>10000;

  ORDER BY 子句

    指定结果集的排序。除非同时指定了 TOP,否则 ORDER BY 子句在视图、内嵌函数、派生表和子查询中无效。
    语法
[ ORDER BY { order_by_expression [ ASC | DESC ] }    [ ,...n ] ]
    order_by_expression 指定要排序的列。可以将排序列指定为列名或列的别名(可由表名或视图名限定)和表达式,或者指定为代表选择列表内的名称、别名或表达式的位置的负整数。
    可指定多个排序列。ORDER BY 子句中的排序列序列定义排序结果集的结构。

orcale 之 SQL 数据查询的更多相关文章

  1. SQL数据查询之——单表查询

    一.SQL数据查询的一般格式 数据查询是数据库的核心操作.SQL提供了SELECT语句进行数据查询,其一般格式为: SELECT [ALL | DISTINCT]<目标列表达式>[,< ...

  2. SQL - 数据查询

    数据查询是数据库的核心操作.SQL 提供了 select 语句进行数据查询,该语句的一般格式为: select  [ ALL | distinct ] <目标列表达式>  [ ,<目 ...

  3. sql数据查询基础笔记

    使用SELETE语句进行查询 语法 SELECT<列名> FROM<表名>  [ORDER BY <排序的列名>[ASC或DESC]] 1.查询所有的数据和列 SE ...

  4. SQL数据查询之——嵌套查询

    一.概念描述 在SQL语言中,一个 SELECT-FROM-WHERE 语句称为一个查询块.将一个查询块嵌套在另一个查询块的 WHERE 子句或 HAVING 短语的条件中的查询称为 嵌套查询.例如: ...

  5. Orcale 之 SQL 数据定义

    SQL 的数据定义功能主要是针对数据对象进行定义的,这些数据对象主要包括:表,视图以及索引. 注意:由于视图是基于表的虚表,而索引是依附在基表上的,所以视图和索引均不提供修改视图和索引定义的操作.如果 ...

  6. sql数据查询,在程序中较慢,在MS SQL2005 Management Studio中速度快,情况分析及解决

    这两天遇到一个问题,在.net开发的网站,执行sql查询,从sql profiler中监控卡看,执行时间22s. 但是拷出的sql在Management Studio中直接执行,时间仅4ms. 解决方 ...

  7. SQL数据查询语句(一)

    本文所用数据库为db_Test,数据表为Employee 一.SELECT语句基本结构 语句语法简单归纳为: SELECT select_list [INTO new_table_name] [FRO ...

  8. 面试题:sql数据查询

    前几天参加一个面试,面试公司让做一套题,sql题不是很难,但是我第一次还是写错了,回来后,重新写了下.简单记录下吧, 1.题目: 2.测试数据 select * from student ; inse ...

  9. SQL数据查询

    CREATE TABLE class0328( id INT, cname ), sex ), age INT, birthday DATE, html DOUBLE, js DOUBLE, scor ...

随机推荐

  1. mysql转ElasticSearch的分析 及JAVA API 初探

    前言 最近工作中在进行一些技术优化,为了减少对数据库的压力,对于只读操作,在程序与db之间加了一层-ElasticSearch.具体实现是db与es通过bin-log进行同步,保证数据一致性,代码调用 ...

  2. delphi将工程文件转成dll

    1.点击[File]—>[New]—>[Other]菜单项,打开[New Items],选择[New]: 2.选择[Dll Wizard]选项卡,点击ok,DLL工程创建成功. 3.点击[ ...

  3. ifstat命令行统计网络流量

      下载 ifstat ,  http://gael.roualland.free.fr/ifstat/ifstat-1.1.tar.gz   tar xzvf ifstat-1.1.tar.gz   ...

  4. 提示缺少python.h解决办法

    在安装uwsgi时,提示缺少python.h In file included :: plugins/python/uwsgi_python.h::: fatal error: Python.h: N ...

  5. openedx使用中可能用到的一些资源

    这几天一直在弄openedx,你会发现安装好只是第一步,后面还有很多东西在等着你,那么哪里可以看到较新的资料了,分享几个站点: 1.https://readthedocs.org/projects/e ...

  6. 用Docker自动构建纸壳CMS

    纸壳CMS可以运行在Docker上,接下来看看如何自动构建纸壳CMS的Docker Image.我们希望的是在代码提交到GitHub以后,容器镜像服务可以自动构建Docker Image,构建好以后, ...

  7. zTree动态加载

    @{ Layout = null;} <!DOCTYPE html> <html><head> <meta name="viewport" ...

  8. 陌上花开(三维偏序)(cdq分治)

    题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=3262 其实就是三位偏序的模板,cdq分治入门题. 学习cdq分治请看__stdcall大 ...

  9. OCP2018最新题库,052新题库及答案整理-25题

    25.Which is true about logical and physical database structures? (Choose the best answer) A. An undo ...

  10. Zabbix监控详解

    Zabbix是什么 Zabbix 是由Alexei Vladishev创建,目前由Zabbix SIA在持续开发和支持. Zabbix 是一个企业级的分布式开源监控方案. Zabbix是一款能够监控各 ...