Oracle-简单的查询语句

涎涎原创约 1351 字大约 5 分钟...OracleOracle

Oracle-简单的查询语句

注意

本博文仅供学术研究和交流参考,严禁将其用于商业用途。如因违规使用产生的任何法律问题,使用者需自行负责。

  • 在启动oracl之前确定这两服务已经打开
sys/xxx as sysdba
oracle在安装的时候默认把scott账号锁住了,所以需要解锁
conn 用户名/密码
  • 解锁:登录管理员sys账号

    alter user scott account unlock;
    

    如果忘记了scott的密码 修改密码:登录管理员sys账号

     alter user scott identified by 新密码;
    

    dept:部门表 deptno部门编号 dname 部门名字 loc部门的地点 emp员工表
    empno 员工编号 ename 员工名字 job 岗位 mgr 上级经理的员工编号 hiredate 员工入职日期 sal 工资 comm 奖金 deptno 员工所在的部门编号 salgrade 工资等级表; grade 工资等级表; losal 对应等级的最低工资 hisal 对应等级的最高工资

--------------------------第二章 简单的查询语句--------------

------查询语句 (DQL) 作用:投影数据表的列 ------查询语句的关键字 SELECT -----找出emp表中的全部数据 ----- * 是一个通配符,表示全部了 ----- 想运行某个sql语句,可以选中该语句,点击运行(F8)

select * from emp;

----关键字;以后可能会自定义一些数据库的对象, ------这些对象的名字不能使用关键字 --子句 关键字后面带着的一个句子叫做子句 --语句 一个可以执行的句子叫做语句

--sql语句不区分大小写 --语句可以分行,但是分行的时候不能把单词隔开

--选择全部列

select * from emp;

--选择全部列 --选择多个列的时候多个列用,来隔开

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

--选择指定列 --查出emp表中的员工 编号跟员工 姓名

select empno,ename from emp;

--1.使用两种方式查询所有员工(EMP)信息

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

--2.查询(EMP)员工编号、员工姓名、员工职位、员工月薪、工作部门编号。

SELECT empno,ename,job,sal,deptno 
from emp;

--算术运算符 --在查询语句中,可以在列中带上运算符 --emp表中全部员工都加了500块工资,查出加了工资之后的每个员工的工资

select empno,ename,sal+50 from emp;

--1.员工转正后,月薪上调20%,请查询出所有员工转正后的月薪。

 select empno,ename,sal*1.2 from emp;

--2.员工试用期6个月,转正后月薪上调20%, --请查询出所有员工工作第一年的年薪所得 --(不考虑奖金部分,年薪的试用期6个月的月薪+转正后6个月的月薪)

select empno,ename,sal*6+sal*1.2*6 年薪 from emp;
select empno,ename,sal*6+sal*1.2*6 as 年薪 from emp;
select empno,ename,sal*6+sal*1.2*6 as "年 薪" from emp;

---给列取别名的两种方式 --1.列名 "别名" --2.列名 as "别名" --- 三种情况一定要加列别名两侧需要添加双引号 --1.别名中有空格 --2.别名中的字母需要区分大小写 --3.别名中有特殊 字符

---空值 null --空值不带表0或者空格,它表示什么都没有 --查出员工的年薪,要算上comm奖金 --任何包含空值算术表达式运算后的结果都为空值NULL。 --规避null带来的问题,引入nvl(parms1,parms2) --nvl(param1,param2)作用:如果参数一不为空,返回 参数一,否则返回参数二

select empno,ename,sal*6+sal*1.2*6+nvl(comm,0) 年薪 from emp;

--1.员工试用期6个月,转正后月薪上调20%, --请查询出所有员工工作第一年的所有收入(需考虑奖金部分), --要求显示列标题为员工姓名,工资收入,奖金收入,总收入。

select ename,
sal*6+sal*1.2*6 as 工资,
nvl(comm,0) as 奖金,
sal*6+sal*1.2*6+nvl(comm,0) 年薪
from emp;

--连接操作符 用||来表示 连接操作符 --连接列与列,列与字符 --这里的字符称为原义字符串 用单引号括起来 --以后oracle的学习中除咯列别名之外,其它用引号的地方都用单引号 --empno的对应的名字为ename 在同一个列中展示出来 select empno || '对应的名字为' || ename as 员工的信息 from emp;

--消除重复行 distinct --找出有员工的部门是哪几个

select distinct deptno from emp;

--1.员工试用期6个月,转正后月薪上调20%, --请查询出所有员工工作第一年的所有收入(需考虑奖金部分), --要求显示格式为:XXX的第一年总收入为XXX。

select ename || '第一年总收入为' ||
(sal*6+sal*1.2*6+nvl(comm,0)) as 年薪 
from emp;

--2.查询员工表中一共有哪几种岗位类型。

select job from emp;
select distinct job from emp;

分割线


相关信息

以上就是我关于 Oracle-简单的查询语句 知识点的整理与总结的全部内容,希望对你有帮助。。。。。。。

上次编辑于:
贡献者: 涎涎
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.15.4