Oracle的sql語句練習題

才智咖 人氣:2.85W

        -1、選擇部門30中的僱員

Oracle的sql語句練習題

select * from emp where deptno=30;

--2、列出所有辦事員的姓名編號和部門

select ename,empno,dname from emp e inner join dept d on no = no where job=upper('clerk’);

--3、找出佣金高於薪金的'僱員

select * from emp where comm>sal;

--4、找出佣金高於薪金60%的僱員

select * from emp where comm>sal*0.6

--5、找出部門10中所有經理和部門20中的所有辦事員的詳細資料

select * from emp where (deptno=10 and job=upper('manager')) or (deptno=20 and job=upper('clerk '));

--6、找出部門10中所有經理、部門20中所有辦事員,既不是經理又不是辦事員但其薪金>=2000的所有僱員的詳細資料

select * from emp where (deptno=10 and job=upper('manager')) or (deptno=20 and job=upper('clerk ')) or (job<>upper(‘manager’) and job<>upper(‘clerk’) and sal>=2000)

--7、找出收取佣金的僱員的不同工作

select distinct job from emp where comm>0;

--8、找出不收取佣金或收取的佣金低於100的僱員

select * from emp where nvl(comm,0)<100;

--9、找出各月最後一天受僱的所有僱員

select * from emp where hiredate= last_day(hiredate);

--10、找出早於25年之前受僱的僱員

select * from emp where months_between(sysdate,hiredate)/12>25;

select * from emp where hiredate