Oracle系列:(5)select子句

使用scott用户下emp表进行测试

0、环境设置

--以下代码是对emp表进行显示做设置

col empno for 9999;
col ename for a10;
col job for a10;
col mgr for 9999;   
col hiredate for a12;
col sal for 9999;
col comm for 9999;
col deptno for 99;
set pagesize 20;
col tname for a20;

1、查询

查询emp表的所有内容,*号表示通配符,表示该表中的所有字段,但*号不能和具体字段一起使用

select * from emp;

select empno,ename,sal,deptno from emp;

查询emp表的员工编号,姓名,工资,部门号,列名,大小写不敏感,但提倡大写

select empno "编号",ename "姓名",sal "工资",deptNO "部门号" FROM Emp;

查询emp表的不重复的工作【distinct

select distinct job from emp;

查询员工的编号,姓名,月薪,年薪(月薪*12)

select empno,ename,sal,sal*12 "年薪" from emp;

查询员工的编号,姓名,入职时间,月薪,年薪,年收入(年薪+奖金) 【NULL值判断和使用

select empno "编号",ename"姓名",hiredate "入职时间",sal "月薪",sal*12 "年薪",sal*12+comm "年收入" from emp;

如果结果为null,在sqlplus客户端工具中,是不显示null这个值的

注意:null与具体数字运算时,结果为null。

解决null的问题,使用NVL()函数,NVL(a,b):如果a是NULL,用b替代;如果a是非NULL,就不用b替代,直接返回a的值。

select NVL(null,10) from emp;结果有14行记录

select NVL(null,10) from dual;结果有1行记录

select empno "编号",ename"姓名",hiredate "入职时间",sal "月薪",sal*12 "年薪",sal*12+NVL(comm,0) "年收入" from emp;

使用列别名,查询员工的编号,姓名,月薪,年薪,年收入(年薪+奖金),AS大小写都可,且可以省略AS,别名用双引号 【别名和引号

select empno AS "编号",ename as "姓名",sal "月薪" from emp;

select empno AS 编号,ename as 姓名,sal 月薪 from emp;

区别

select empno AS "编号",ename as 姓名,sal "月    薪" from emp;

不加双引号的别名不能有空格;加了双引号的别名可以有空格

要加只能加双引号,不能加单引号,因为在oracle中单引号表示字符串类型或者是日期类型

列名不能使用单引号,因为oracle认为单引号是字符串型或日期型

dual哑表、字符串连接符号||

使用dual哑表或者伪表,使用字符串连接符号||,输出"hello world",在oracle中from是必须写的

select ‘hello‘ || ‘ world‘ "结果" from dual;

使用字符串连接符号||,显示如下格式信息:****的薪水是****美元

select ename || ‘的薪水是‘ || sal || ‘美元‘ from emp;

系统时间sysdate

使用sysdate,显示系统当前时间,在默认情况下,oracle只显示日期,而不显示时间,格式:26-4月-15

select sysdate from dual;


SQL语句的特点

1)是SQL92/99的ANSI官方标准,只要按照该标准来写,在任何的关系型数据库中都可以直接执行

2)SQL语句的关健字不能简写,例如:select,where,from

3)大小写不敏感,提倡大写

4)能够对表数据进行增删改查操作

5)必须以分号结束

6)通常称做语句

SQLPLUS命令的特点

1)是oracle自带的一款工具,在该工具中执行的命令叫SQLPLUS命令

2)SQLPLUS工具的命令中的关健字可以简写,也可以不简写,例如:col ename for a10;

3)大小写不敏感,提倡大写

4)不能够对表数据进行增删改查操作,只能完成显示格式控制,例如:设置显示列宽,清屏,记录执行结果

5)可以不用分号结束,也可以用分号结束,个人提倡不管SQL或SQLPLUS,都以分号结束

6)通常称做命令,是SQLPLUS工具中的命令

注意:SQLPLUS命令是SQLPLUS工具中特有的语句


单引号出现的地方如下:

1)字符串型,例如:‘hello‘ || ‘ world‘

2)日期型,例如‘25-4月-15‘

双引号出现的地方如下:

1)列别名,例如:sal*12 "年 薪",或 sal*12 年薪,个人提倡用""双引号作列别名

时间: 2024-10-11 06:51:30

Oracle系列:(5)select子句的相关文章

Oracle系列:(7)order by子句

查询员工信息(编号,姓名,月薪,年薪),按月薪升序排序,默认升序,如果月薪相同,按oracle内置的校验规则排序 select empno,ename,sal,sal*12  from emp  order by sal asc; 查询员工信息(编号,姓名,月薪,年薪),按月薪降序排序 select empno,ename,sal,sal*12  from emp  order by sal desc; 查询员工信息,按入职日期降序排序,使用列名 select empno,ename,sal,h

Oracle系列二 基本的SQL SELECT语句

1.查询表中全部数据 示例: SELECT * FROM employees; 说明: SELECT   标识 选择哪些列. FROM      标识从哪个表中选择. *           选择全部列 2.查询表中特定列数据 示例: SELECT department_id, location_id FROM departments; 注意: SQL 语言大小写不敏感. SQL 可以写在一行或者多行 关键字不能被缩写也不能分行 各子句一般要分行写. 使用缩进提高语句的可读性. 算术运算符 数字

Oracle系列:记录Record

Oracle系列:记录Record 分类: [Oracle] (15) 版权声明:本文为博主原创文章,未经博主允许不得转载. Oracle系列:记录(Record) 一,什么是记录(Record)? 由单行多列的标量构成的复合结构.可以看做是一种用户自定义数据类型.组成类似于多维数组.将一个或多个标量封装成一个对象进行操作.是一种临时复合对象类型.  记录可以直接赋值.RECORD1 :=RECORD2: 记录不可以整体比较. 记录不可以整体判断为空. 二,%ROWTYPE和记录(Record)

Oracle系列:(12)多行函数

函数:oracle服务器先事写好的一段具有一定功能的程序片段,内置于oracle服务器,供用户调用 单行函数:输入一个参数,输出一个结果,例如:upper('baidu.com')->BAIDU.COM 多行函数:输入多个参数,或者是内部扫描多次,输出一个结果,例如:count(*)->14 统计emp表中员工总人数 select count(*) from emp; *号适用于表字段较少的情况下,如果字段较多,扫描时间多,效率低,项目中提倡使用某一个非null唯一的字段,通常是主键 统计公司

Oracle系列:(16)分页

回顾mysql分页 用limit关键字 查询users表中前二条记录 select * from users limit 0,2 或 select * from users limit 2; 0表示第一条记录的索引号,索引号从0开始 2表示最多选取二个记录 查询出users前三条记录 select * from users limit 0,3 或 select * from users limit 3 查询出users第2条到第4条记录 select * from users limit 1,3

Oracle 基本SQL SELECT语句

SELECT  *  |    {   [ DISTINCT  ]    column   |    expression   [   alias   ]  ,   ...    } FROM  table; ?SELECT  标识 选择哪些列. ?FROM    标识从哪个表中选择. column后面加上空格,同时跟上别名(alias),或者 as 别名,到下一行的内容时,要用逗号隔开, 默认的别名是小写的,如果想要让它是大写的,使用 "别名" 如果别名有多个单词的时候,用双引号别名

[Oracle系列整理01]PL/SQL 基本查询与排序

本课重点:    1.写SELECT语句进行数据库查询    2.进行数学运算    3.处理空值    4.使用别名ALIASES    5.连接列    6.在SQL PLUS中编辑缓冲,修改SQL SCRIPTS    7.ORDER BY进行排序输出.    8.使用WHERE 字段. 一.写SQL 命令:      不区分大小写.      SQL 语句用数字分行,在SQL PLUS中被称为缓冲区.      最后以:或 / 结束语句.      也可以用RUN来执行语句 二.例1:

Oracle系列:(31)Oracle SQL语句优化

(01)选择最有效率的表名顺序(笔试常考) ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名, FROM子句中写在最后的表将被最先处理, 在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表放在最后, 如果有3个以上的表连接查询,那就需要选择那个被其他表所引用的表放在最后. 例如:查询员工的编号,姓名,工资,工资等级,部门名       select emp.empno,emp.ename,emp.sal,salgrade.grade,dept.dname       f

oracle系列(六)OEM与常见故障处理

博主QQ:819594300 博客地址:http://zpf666.blog.51cto.com/ 有什么疑问的朋友可以联系博主,博主会帮你们解答,谢谢支持! 前言:oracle除了使用命令操作以外,还可以使用OEM图形化管理,日常的管理工作都可以通过OEM操作,包括数据库对象的创建,用户权限的管理,数据文件和参数的配置.备份和恢复操作等. 一.OEM知识点 1.OEM简介 OEM是采用直观而且方便的图像化界面来控制和管理ORACLE数据库的工具集,它包含大量对DBA有用的工具.在oracle中

足球与oracle系列(1):32路诸侯点兵,oracle32进程联盟 之A组巴西SMON进程的大局观

声明:        这不是技术文档,既然学来几招oracle简单招式,就忍不了在人前卖弄几下.纯为茶余饭后与数朋库友的插科打诨,只为轻松中带有一丝的诙谐,IT技术也能用来调侃一番,还蛮耐人寻味.        同时近来数月oracle知识点忘记了不少,为了把知识点重现,点滴间偶出灵感乍现,以一种自由的形式将其发布,由于本人学艺不精,文中列举的例子或故事,其中必然会有与技术联系牵强之处,望大家海涵.只当是一部小菜鸟的杂记,不要把这当做技术文章喔,亲!看过.笑过,就好.        欢迎拍砖,这