Oracle基础(第一节)

2019-01-02  本文已影响4人  一条IT
关于注释:

1、--:单行注释;
2、/* */:多行注释;

Oracle的网络连接.png
关于查询语句 DQL:
关键字    select
数据操作语句 DML:
     关键字 
          增加  insert
          修改  update
          删除  delete
数据定义语句 DDL:
     关键字
          新建  create
          修改  alter
          删除  drop
          截断  truncate
数据控制语句 DCL:
    关键字
          授权  grant
          回收  revoke
事务控制语句 TPL:
    关键字
          提交  commit
          回滚  rollback

简单查询语句

1.基本查询

在Oracle数据库中,语法格式为: select A from B (在B中找A)
B:表
A:列,表达式,*(所有的列)

--例:查询emp表中所有的数据

select * from emp;
select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp;

--比较两者:第一种书写简单,第二种写法效率稍高一些。工作中建议使用第二种写法

--例:查询emp表中job列的数据

select job from emp;

--例:查询emp表中员工的名字(ENAME),和员工的月薪(SAL)

select ename,sal from emp;
2.数值运算的查询

--查询emp表中员工的名字,员工的年薪(SAL*12)

select ename, sal, sal*12 from emp;

--列的别名

①:select ename, sal xixi, sal*12 haha, comm  from  emp;

②:select ename, sal as xixi, sal*12 as haha, comm  from  emp;

③:SELECT ename, SAL As xixi, sal*12 as haha, comm  fRoM emp;

--查询员工姓名,月薪(sal),奖金(comm),月收入(sal+comm)

select ename, sal, comm, sal+comm   from emp;

--数值运算中null值的问题
--null值:空 在oracle的数值运算中,任何一个参与运算的值为null,数值表达式的结果一定是null
--利用nvl()函数解决null值
--nvl函数的使用方法 expr:表达式
--nvl(expr1, expr2) 当expr1的值不为null时,使用expr1的结果;当expr1的值为null时,使用expr2的结果

①:select ename, sal, comm, nvl(sal+comm, sal)  from emp;
②:select ename, sal, comm, sal+nvl(comm,0)   from emp;

--查询员工姓名,年收入(月收入*12)

select ename, (sal+nvl(comm,0))*12   from emp;

--3.字符串拼接方式的查询
--查询员工姓名(ename)和职位(job),要求显示的格式是:"XXX的职位是YYY"
--如果文本作为数据出现,使用单引号,如果文本作为别名出现,不使用引号或使用双引号(建议使用双引号)

select ename || '的职位是' || job as "描述"
from emp;

select ename || '的奖金是' || comm
from emp;

null值参与文本拼接,不影响原拼接结果

--总结:null值参与数值运算,数值运算的结果一定是null
-- null值参与文本拼接,对原拼接结果没有影响

--4.去掉重复的数据
--查询emp表中出现的部门编号,去掉其中重复的数据
--distinct关键字
-- select distinct 列名1, 列2 from emp;
-- 例:对列的重复数据进行筛选,只保留一组

select distinct deptno from emp;

--错误示例:distinct只能写在select身后
select deptno, distinct job from emp;
select deptno, job from emp;
-- 以所有列的组合数据进行去重复

select distinct deptno, job from emp;

--课后练习:
--1.查询员工编号,员工姓名,员工的入职日期

select empno, ename, hiredate
from emp;

--2.查询员工姓名,员工职位和员工月薪,以“XXX的职位是YYY,月薪是ZZZ”的格式进行显示

select ename || '的职位是' || job || ',月薪是' || sal
from emp;

--3.查询员工姓名,员工的月薪,奖金,和交税金额(交税金额计算公式为:月收入*0.05)

select ename, sal, comm, (sal+nvl(comm,0))*0.05
from emp;

--4.查询经理编号,并去掉其中重复的数据

select distinct mgr
from emp;

--5.查询经理编号和部门编号,并去掉其中重复的数据

select distinct mgr, deptno
from emp;

--6.查询员工姓名,年收入(公式:(月薪+奖金)*12),并以“XXX的年收入是YYY"进行显示

select ename|| '的年收入是' || ((sal+nvl(comm,0))*12) || '。'
from emp;

--7.查询员工年收入(公式:(月薪+奖金)*12),并去掉其中重复的数据

select distinct (sal+nvl(comm,0))*12
from emp;

--8.查询员工职位,月薪,去掉重复的数据

select distinct job, sal
from emp;

--9.查询员工编号,姓名,入职日期,并以“工号是XXX的员工YYY的入职日期是ZZZ”格式显示

select '工号是' || empno || '的员工' || ename || '的入职日期是' || hiredate
from emp;
上一篇 下一篇

猜你喜欢

热点阅读