1、简单查询
使用Oracle sql developer使用前,必须开启的服务:
查询emp表上的数据: select * from emp;
Null为空,空不代表等于没有,null!=0.
重新连接后,注意大小写及空格位!
简单查询中,主要有两个子句完成。
1、Select:子句中有如下的内容:
*:表示查询所有数据列
列名称:表示要显示指定的数据列,列可以设置名称
Distinct:表示去除重复数据的显示
2、From:定义要使用的数据表,就可以理解数据来源(来自与什么地方)
一、基础语法:
所有固定语法部分为红色,变动的语法不变色。
1、查询公司的雇员信息:编号,姓名,基本工资。
SELECT empno,ename,sal FROM emp;
执行的顺序问题:
1、form子句:表示数据来源
2、Select子句:要显示的数据列
2、其他查询语法
要查询公司所有雇佣的职员信息
Select job from emp ;
一个职位多个人员,如果要消除重复的职位,可以用: distinct 完成
只局限所有列的全部内容,查询中多增加了一个 empno 字段。
Select distinct empno,job from emp ;
因为有两列内容输出:
只能去除同一列完全心相通的情况下,反之不在同一列,无法相处重叠的情况
在简单的select 语句中也支持四则运算(+ - * /)
查询雇员编号,姓名,年薪,日薪。
Select empno,ename,sal12,sal/30 from emp;
年薪=月薪12个月 , 日薪=月薪/30天,对于小数部分的处理,留给单行函数。
每个雇员年底有5000元的年终奖,查询雇员编号,姓名,增长后的基本工资(不包括佣金)
Select empno,ename,sal12+5000 from emp;
Round( , 2)为保留两位小数
公司每个月为员工增加200的补助金,此时,要求查询每个员工的编号,姓名,基本工资
Select empno,ename,(sal+200)12+5000 from emp;使用(),改变优先级。select empno,ename,sal12,sal/30 from emp;
(sal+200)*12+5000 表示不明确,则加上别名:年薪
如:Select empno,ename,(sal+200)*12+5000 年薪 from emp;
Select empno,ename,(sal+200)*12+5000 as 年薪 from emp;
此处加不加‘as’,对于最终的结果没有区别,如果要进行别名设置,在程序之中没用的,显示中用处也不大,而且要记住,不要使用中文。
Select empno AS 雇员编号,ename AS 雇员姓名,(sal+200)*12+5000 AS 年薪 from emp;
此处给出的年薪是什么类别的货币?所以希望给个可认识的货币标识。如:‘¥’。
Select empno AS 雇员编号,ename AS 雇员姓名,(sal+200)*12+5000 AS 年薪,‘¥’ AS 货币 from emp;
货币的标识,实际上就是一个字符串常量,字符串使用直接输出的方式进行定义
使用‘||’进行字符串及列数据的连接:
select ‘编号是:’ || empno || ‘的雇员姓名是:’ || ename || ‘基本工资是’ || sal AS 雇员信息 from emp ;
添加‘雇员信息’,确保整体信息的完整性。
熟悉 单引号 的使用 如 ‘ ’ 。
单个字符,需要用到单双引号