Bootstrap

Oracle查询练习

我的Oracle数据库学习笔记

Day 6 查询练习


文章目录


查询20号部门中工资低于1500的员工(编号,姓名,职位,工资,部门编号)
 select empno,ename,job,sal,deptno
 from emp
 where deptno=20 and sal<1500;
查询10号和20号部门中工资高于1000的员工信息(编号,姓名,职位,工资,部门编号)
 select empno,ename,job,sal,deptno
 from emp
 where deptno=20 or deptno=10 and sal>1000; --(20部门中所有员工及10号部门中工资高于1000的员工)
 where (deptno=20 or deptno=10) and sal>1000; --条件正确
-- where deptno=20 and sal>1000 or deptno=10 and sal>1000; --条件正确
查询员工姓名以’A’开头或以‘M’开头的员工信息(编号,姓名,职位,工资,部门编号)
 select empno,ename,job,sal,deptno
 from emp
 where ename like 'A%' or ename like 'M%';
查询员工姓名不以’A’开头同时不以‘M’开头的员工信息(编号,姓名,职位,工资,部门编号)
select empno,ename,job,sal,deptno
from emp
where ename not like 'A%' and ename not like 'M%';
--
select empno,ename,job,sal,deptno
from emp
where not (ename like 'A%' or ename like 'M%');
查询10部门和20部门中职位为‘CLERK’的员工信息(编号,姓名,职位,部门编号)
 select empno,ename,job,deptno
 from emp
 where deptno in(10,20)and job ='CLERK';
查询职位为’CLERK’的员工信息,同时此员工不是10号也不是20部门的员工(编号,姓名,职位,部门编号)
 select empno,ename,job,deptno
 from emp
 where deptno not in(10,20)and job ='CLERK';
 --
 select empno,ename,job,deptno
 from emp
 where not (deptno =10 or deptno=20) and job='CLERK';
 --
 select empno,ename,job,deptno
 from emp
 where deptno !=10 and deptno!=20 and job='CLERK';
查询10部门中没有奖金的员工信息(编号,姓名,职位,工资,奖金,部门编号)
select empno,ename,job,sal,comm,deptno
from emp
where deptno=10 and comm is null;

Scott用户下的表:
1 emp 员工表
字段:empno (员工编号) ,ename(员工姓名),job(职位),mgr(上级编号),hiredate(入
职日期)
sal(月工资),comm(奖金),deptno(部门编号)
2 dept 部门表
字段: deptno(部门编号) ,dnanme(部门名称), loc(部门地址)
3 salgrade 工资等级表
grade (工资等级) ,losal(最低工资) ,hisal(最高工资)

查询语句

语法:

select 列名列表 from 表名

查询的结果以表的方式 ,称为:结果集。

查询所有行所有列的数据 :select * from 表名;

查询所有员工的信息
 select * from emp;
查询所有部门的信息
 select * from dept;
查询所有工资等级
 select * from salgrade;
投影查询 select 列名列表 from 表名; --列名列表部分使用逗号分隔
查询所有员工的信息 (编号,姓名,职位,工资,所在部门编号)
 select empno,ename,job,sal,deptno
 from emp;
查询所有员工的信息(编号,姓名,职位,上级编号,工资)
select empno,ename,job,mgr,sal
 from emp;
给查询的列名起 “别名”,以别名显示在结果集中 : 列名 [as] 别名
查询所有员工的信息 (编号,姓名,职位,工资,所在部门编号)
 select empno as 员工编号, ename as 姓名, job as 职位, sal as 工资, deptno as 部门编
号
 from emp;
 -- 与上面效果相同
 select empno 员工编号, ename 姓名, job 职位, sal 工资, deptno 部门编号
 from emp;
可以在查询语句中使用表达式
查询员的的年薪(编号,姓名,年薪)
 select empno ,ename , sal *12 yearSal
 from emp;
查询员的信息,(编号,姓名,年薪,公司名称【‘ORACLE公司’】)
 select empno,ename,sal*12 yearsal, 'ORACLE公司' 公司名称
 from emp;
;