试读部分
基本SELECT语句
SELECT 内容 FROM 表、集合 WHERE 条件
- *表示所有字段
- 多个字段之间可以用逗号隔开
- *不能与其他字段混用,如果需要同时使用则需要
表名.*
的方式
虚列
Oracle数据库中存在虚列的概念
- 虚列本身不是表中的字段,但是可以当成字段来使用
- 表示某个集合结果中的行序
ROWNUM
的初始值为0,每SELECT一行加1,然后进行WHERE匹配,若匹配成功则进入最终结果缓存,若匹配不成功则减1ROWNUM
只和当前执行的SELECT有关
SELECT ROWNUM,EMP.* FROM EMP WHERE ROWNUM = 1;
//上述sql语句会显示在表中第一行数据
//如果写成
SELECT ROWNUM,EMP.* FROM EMP WHERE ROWNUM = 2;
//上述语句是错误的,因为ROWNUM是从0开始累加的,当ROWNUM等于1时
//进行条件判断,不等于2,则根据规则减1,所以输出的结果为空
//如果想要显示第2条,可以使用
SELECT ROWNUM,EMP.* FROM EMP WHERE ROWNUM <= 2;
//上述语句会显示两条
计算列
- 每SELECT一次,计算一次
- +-*/
- NULL在参与算数预算时结果仍然为NULL
- 可以使用
NVL(V1,V2)
进行转换,如果V1为NULL则返回V2,否则返回V1
SELECT NVL(COMM,0)+2000 FROM EMP;
//这样如果COMM为NULL,也能正常进行加2000的操作了
字符串连接列
SELECT EMPNO||'=='||ENAME FROM EMP;
//实现使用==连接
符号使用单引号,如果想要使用的连接内容存在单引号则使用''
两个单引号表示
给字段起别名
- 字段名 AS 别名
- 字段名 别名
- 字段名 “别名”
- 字段名 AS “别名”
AS有与没有无本质区别
消除重复行(去重)
DISTINCT COL1,COL2
- DISTINCT 一定要放在所有字段的最前端.
- 表示对由”COL1,COL2….”所组成的缓存结果进行消重. 如果结果集合中有完全相同的行,则只保留一行.
虚表
SELECT 365*225 FROM DUAL;
DUAL虚表,用于在Oracle中进行单独的算数运算
Oracle的sql语句必须存在FROM,所以无法直接进行算数运算,所以DUAL虚表应运而生,用于单独的算数运算。
当在sql语句中发现DUAL表时,则表示该语句仅进行算数运算。
© 版权声明
- 本博客所拥有的文章除特别声明外,均默认采用 CC BY 4.0 许可协议。
- 文章部分内容可能来源于公共网络,如有侵权,请联系博主在核实后进行修改或删除。
THE END
暂无评论内容