千家信息网

Oracle系列:(5)select子句

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,使用scott用户下emp表进行测试0、环境设置--以下代码是对emp表进行显示做设置col empno for 9999;col ename for a10;col job for a10;col
千家信息网最后更新 2026年11月01日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;col tname for a20;set pagesize 80;


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 年薪,个人提倡用""双引号作列别名







引号 姓名 年薪 月薪 别名 命令 查询 字符 字符串 工具 时间 结果 分号 员工 大小 年收入 日期 语句 大写 数据 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技图片 互联网科技巨头监管 互联网科技财经 重庆互联网络科技 互联网科技公司发展 广州宏创互联网科技 互联网高科技股票 互联网科技有限公司 翻译 太原新华互联网科技学校怎么样 互联网之后的科技是什么 承德科技产业互联网发展 常德市电业局互联网科技部 栖莱科技互联网股份有限公司 宁夏科技产业互联网案例 互联网公司黑科技创始人 广州新华互联网科技学校电竞方面 朱啸虎曾投资哪些互联网科技企业 烟台灵鸽互联网科技有限公司 众安科技工业互联网合作 上海京穆互联网科技有限公司 科技互联网 互联网科技工作委员会副主任毛军 齐家互联网科技 汇久创客互联网科技 上海亿帐通互联网科技 重庆科技学院互联网 广西拼得多互联网科技有限公司 互联网金融科技公司干啥的 元气玛特互联网科技公司是外包吗 广东工业互联网大赛深圳学泰科技
0