加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Oracle系列:(5)select子句

发布时间:2020-12-12 16:01:10 所属栏目:百科 来源:网络整理
导读:使用scott用户下emp表进行测试 0、环境设置 --以下代码是对emp表进行显示做设置colempnofor9999;colenamefora10;coljobfora10;colmgrfor9999;colhiredatefora12;colsalfor9999;colcommfor9999;coldeptnofor99;setpagesize20;coltnamefora20; 1、查询 查询emp


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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!


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


0、环境设置

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

colempnofor9999;
colenamefora10;
coljobfora10;
colmgrfor9999;
colhiredatefora12;
colsalfor9999;
colcommfor9999;
coldeptnofor99;
setpagesize20;
coltnamefora20;


1、查询


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

select*fromemp;

selectempno,ename,sal,deptnofromemp;


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

selectempno"编号",ename"姓名",sal"工资",deptNO"部门号"FROMEmp;


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

selectdistinctjobfromemp;


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

selectempno,sal*12"年薪"fromemp;

wKioL1fO-HSh9jcoAAAmoPOQ40E691.png


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

selectempno"编号",hiredate"入职时间",sal"月薪",sal*12"年薪",sal*12+comm"年收入"fromemp;

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

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

wKioL1fO-Q-zz7PSAABH16__B80197.png


解决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行记录

selectempno"编号",sal*12+NVL(comm,0)"年收入"fromemp;

wKioL1fO-k7xLsK_AABBMOJlMRI902.png


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

selectempnoAS"编号",enameas"姓名",sal"月薪"fromemp;

selectempnoAS编号,enameas姓名,sal月薪fromemp;

区别

selectempnoAS"编号",sal"月薪"fromemp;

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

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

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


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

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

select'hello'||'world'"结果"fromdual;

wKiom1fO_B3CvKksAAAHXJ7HxJk361.png


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

selectename||'的薪水是'||sal||'美元'fromemp;

wKioL1fO_U-i3n2nAAAxuoDq0yE675.png


系统时间sysdate

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

selectsysdatefromdual;

wKiom1fO_OHyBIYMAAAFhjueayI378.png




    推荐文章
      热点阅读