数据库-查询语句

-- 查询10部门的员工信息

select * from emp where deptno=10;

-- 查询10部门岗位是MANAGER的员工信息

select * from emp where job='MANAGER' and deptno=10;

-- 查询10部门的员工和20部门的员工信息

select * from emp where deptno in (10,20);

-- 查询10部门岗位是MANAGER的员工和20部门岗位是CLERK的员工,要求显示员工编号、员工姓名、岗位、部门编号。

select empno,ename,job,deptno from emp where deptno=10 and job='MANAGER' or deptno=20 and job='CLERK';

-- 查询10部门和20部门中,岗位是CLERK的员工信息

select * from emp where deptno in(10,20) and job='CLERK';

-- 查询不是10部门的员工信息

select * from emp where deptno !=10;

-- 查询除去 10部门岗位是MANAGER的员工和20部门岗位是CLERK的员工 以外,其它的员工信息

select empno,ename,job,deptno from emp where not (deptno=10 and job='MANAGER' or deptno=20 and job='CLERK');

-- 查询工资在1100-1600之间的员工信息

select * from emp where sal between 1100 and 1600;

-- 查询员工编号与领导编号差距在100以内的员工信息

select * from emp where empno-mgr between -100 and 100;

-- 查询编号在7369,7499,7698,7902,7934中的员工,哪些人的20部门的

select * from emp where empno in(7369,7499,7698,7902,7934) and deptno=20;

-- 查询姓名在SMITH,ALLEN,WARD,CLARK,JAMES中的员工,哪人的工资在1100-1600之间

select * from emp where ename('SMITH','ALLEN','WARD','CLARK','JAMES') and sal between 1100 and 1600;

-- 查询名字是A开头的员工

select * from emp where ename like 'A%';

-- 查询名字是R结尾的员工

select * from emp where ename like '%R';

-- 查询名字中有K的员工

select * from emp where ename like '%K%';

-- 查询名字倒数第2个字母是E的员工

select * from emp where ename like '%E_';

-- 查询名字由4个字母组成的员工

select * from emp where ename like '____';

-- 查询名字中即有A又有M的员工

select * from emp where ename like '%a%' and ename like '%M%';

-- 找出奖金高于薪水60%的员工信息。

select * from emp where comm > sal*0.6;

-- 找出部门10中所有经理(MANAGER)和部门20中所有办事员(CLERK)的详细资料。

select * from where deptno=10 and job='MANAGER' or deptno=20 and job='CLERK';

-- 找出不收取奖金或收取的奖金小于等于300的员工。

select * from emp where comm is null and comm<=300;

-- 显示正好为5个字符的员工的姓名。

select * from emp where ename like '_____';

-- 显示不带有“R”的员工姓名。

select * from emp where ename  not like '%R%';

-- 查询Smith、Allen、ward、Martin、Turner这些人中,哪位的岗位不是salesman;

select * from emp where ename in ('SMITH','ALLEN','WARD','MAARTIN','TURNER') and job !='SALESMAN';

-- 查询工号比领导工号大50以上的员工

select * from emp where (empno-mgr)>50;

-- 查询名字由5个字组成并且不包含'E'的员工

select * from emp where ename like '_____' and ename not like '%E%';

-- 查询除掉工作为'CLERK'的员工和名字由6个字组成的员工后,公司哪些人工资在1000-3000之间

select * from emp not (job ='CLERK' and ename like '______') and sal between 1000 and 3000;

-- 查询名字是Smith、Allen、ward、Martin、Turner和工号是7654,7782,7839,7521,7902,7756的员工中,哪些人的名字里倒数第二个字符是'E'

select * from emp where ename in (('SMITH','ALLEN','WARD','MAARTIN','TURNER') or deptno in(7654,7782,7839,7521,7902,7756) ) and ename like '%E_';

猜你喜欢

转载自www.cnblogs.com/1218-mzc/p/12693852.html