实验环境为Linux下的Oracle 11g

001 概要

SQL是关系型数据库管理系统的标准语言。SQL全称是:structured query language,意为结构化查询语言。结构化查询语言最基本的语句就是数据查询语句,数据查询语言的关键字就是select,select语句又被归类为SQL语句中的DQL,即data query language,意为数据查询语言(实际上,DQL中的关键字就select一个)。

002
      在sql*plus中,SQL语句对大小写不敏感,字符和日期列标题位置居左,梳子列标题居右,默认列标题显示为大写:

HR@orcl> select last_name,hire_date,salary2  from employees;LAST_NAME         HIRE_DATE       SALARY
------------------------- --------------- ----------
OConnell          21-JUN-07     2600
Grant             13-JAN-08     2600
Whalen            17-SEP-03     4400
Hartstein         17-FEB-04        13000
Fay           17-AUG-05     6000
Mavris            07-JUN-02     6500
Baer              07-JUN-02        10000
Higgins           07-JUN-02        12008
Gietz             07-JUN-02     8300
King              17-JUN-03        24000
Kochhar           21-SEP-05        17000
......

003 算术运算
       SQL提供+、-、*、/四种运算符,除了FROM子句,可以在任何一个SQL语句的子句中使用算术运算符;只能对DATE和TIMESTAMP数据类型使用加和减操作。

HR@orcl> select last_name,salary,salary+5002  from employees;LAST_NAME             SALARY SALARY+500
------------------------- ---------- ----------
OConnell            2600       3100
Grant               2600       3100
Whalen              4400       4900
Hartstein              13000      13500
Fay             6000       6500
Mavris              6500       7000
Baer                   10000      10500
Higgins                12008      12508
Gietz               8300       8800
King                   24000      24500
Kochhar                17000      17500
......

注:合成的计算列SALARY+500不是employees:显示的新列来自产生它的计算,此处是SALARY+500。

004 关于null
     任何数据类型的列都可以包含null值。如果一个算术表达式中的列值为空,例如,用0做除数,会出错。如果除数为null,计算结果也为空或未知。

HR@orcl> select 100/02  from dual;
select 100/0*
ERROR at line 1:
ORA-01476: divisor is equal to zero报错,除数不能为0
HR@orcl> select 100/null 2  from dual; 100/NULL
----------没有报错,抛出一个null。

005 列别名
       在select列表中的列名后面指定别名,列名和别名之间用空格分开。默认情况下,别名标题用大写字母显示。如果别名中包含空格或者特殊字符,或者大小写敏感,将别名放在双引号  “ ” 中。在列名和别名之间可以有选项AS关键字,主要是为增强可读性。
        在一个SQL语句中,一个列别名既能用在select子句也能用在order by子句中,在ANSI SQL 92标准中,where子句中不能使用列别名。

HR@orcl> select last_name as name,commission_pct comm 2  from employees;NAME                COMM
------------------------- ----------
OConnell
Grant
Whalen
Hartstein
Fay
Mavris
Baer
Higgins
Gietz
King
Kochha<pre name="code" class="sql">NAME             COMM
------------------------- ----------
Partners              .3
Errazuriz             .3
Cambrault             .3
Zlotkey               .2
Tucker                .3
Bernstein            .25
Hall                 .25
Olsen                 .2
Cambrault             .2
Tuvault              .15
King                 .35
......

在这个查询中,没有commission_pct的以null值表示。查询结果与是否使用as关键字无关。

HR@orcl> select  last_name "Name",salary*12 "Annual Salary"2  from employees;Name             Annual Salary
------------------------- -------------
OConnell              31200
Grant                 31200
Whalen                52800
Hartstein            156000
Fay               72000
Mavris                78000
Baer                 120000
Higgins              144096
Gietz                 99600
King                 288000
Kochhar              204000
<pre name="code" class="sql">HR@orcl> select last_name "Name",salary*12 Annual Salary 2  from employees;
select last_name "Name",salary*12 Annual Salary*
ERROR at line 1:
ORA-00923: FROM keyword not found where expected
该语句显示所有的雇员的名字和年薪,因为Annual Salary中包含一个空格,所以必须放在双引号中,可以看出,输出的列标题与列名的定义完全相同。

select语句一些要点(一)相关推荐

  1. 编写SQL语句,检索Customers表中所有的列,再编写另外的SELECT语句,仅检索顾客的ID

    问题: 编写SQL语句,检索Customers表中所有的列,再编写另外的SELECT语句,仅检索顾客的ID.使用注释,注释掉一条SELECT语句,以便运行另一条SELECT语句.(当然,要测试这两个语 ...

  2. SQL基础学习总结:3(select语句基础算术运算符比较运算符)

    select语句基础 列的查询 从表中选取数据时需要使用select语句,通过select语句查询并选取出必要数据的过程称为匹配查询或查询. 语法结构如下: select <列名1>,&l ...

  3. SQL 查询总是先执行SELECT语句吗?你们都错了!

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 译者:无明 链接:infoq.cn/article/Oke8hgi ...

  4. SELECT 语句与其子句的详解

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

  5. 一文搞懂select语句在MySQL中的执行流程!

    MySQL作为互联网行业使用最多的关系型数据库之一,与其免费.开源的特性是密不可分的.然而,很多小伙伴工作了很多年,只知道使用MySQL进行CRUD操作,这也导致很多小伙伴工作多年后,想跳槽进入大厂, ...

  6. 因用了Insert into select语句,同事被开除了!

    " Insert into select 请慎用,同事因为使用了 Insert into select 语句引发了重大生产事故,最后被开除. 作者:不一样的科技宅 https://jueji ...

  7. MySQL导出到excle显示不了_mysql导出select语句结果到excel文件遇到问题及解决方法_MySQL...

    一.导出数据外部 1)mysql连接+将查询结果输出到文件.在命令行中执行(windows的cmd命令行,mac的终端) mysql -hxx -uxx -pxx -e "query sta ...

  8. mysql select语句详解_mysql学习笔记之完整的select语句用法实例详解

    本文实例讲述了mysql学习笔记之完整的select语句用法.分享给大家供大家参考,具体如下: 本文内容: 完整语法 去重选项 字段别名 数据源 where group by having order ...

  9. 【SQL学习笔记】一、select语句

    SQL有别于其他的编程语言的一点在于首先处理的并不是写在第一行的语句(select),而是from字句. 为了更详细的了解select语句的每个部分,举例如下: 该语句返回的结果是下订单超过4次的女顾 ...

最新文章

  1. 比特币与企业级区块链的区别
  2. 发改委最新《产业结构调整目录》公布!数据中心列入鼓励产业条目
  3. 设计模式十三:proxy(代理)——对象结构型模式
  4. Vux+Cordova打包的安卓App实现微信分享朋友和朋友圈
  5. Apache Superset从入门到放弃(基于python3.6.9)
  6. 消息称苹果下代iPhone、iPad产品都将采用钛合金
  7. 构建安全的Xml Web Service系列之如何察看SoapMessage
  8. ftb测试软件,EXFO推出FTB-2光纤测试平台
  9. leetcode 349. Intersection of Two Arrays 1
  10. 头像裁剪框html css,CSS3 clip-path实现的用户头像裁剪效果
  11. 时间复杂度o(n^0.5)_算法基础1.1:算法复杂度计算(二)
  12. 人工智能、机器学习、深度学习、神经网络的区别
  13. Python 矩形法求sin(x)的定积分(完美实现)
  14. 基于微信小程序的物流仓储系统
  15. vuecli打包后html文件没有压缩的问题
  16. Git拉分支及合并分支
  17. 台式计算机硬件办公配置清单,颜值满分的办公台式电脑,分享配置清单
  18. 最详细最简单:最大公因数求法、辗转相除法、更相减损法,入门ACM,杭电水题,算法递归,初级算法题一看就懂
  19. 我现在也晕菜了(二)
  20. 刷脸签到python代码_背景提升 | “刷脸”时代,如何运用Python实现人脸识别?

热门文章

  1. zemax设计35mm镜头_1650万像素的手机镜头设计
  2. bundle 安装_centos6.7安装zabbix4
  3. 201904:Action recognition based on 2D skeletons extracted from RGB videos
  4. bzoj 1151: [CTSC2007]动物园zoo
  5. 常用SQL语句大全总结
  6. webservice CXF入门服务端
  7. 关于eclipse环境启动不成功的问题解决方法
  8. 浅谈ARMv7-A协处理器CP15
  9. (77)FPGA面试题-Verilog实现二分频
  10. (64)FPGA模块例化(generate)