Oracle練習題及答案(一)____Oracle

來源:互聯網
上載者:User
--1 、選擇部門 30 中的僱員

select * from emp where deptno=30;

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

select ename,empno,dname from emp e inner join dept d on e.deptno = d.deptno 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<add_months(sysdate,-12*25);

--11、顯示只有首字母大寫的所有僱員的姓名

select ename from emp where ename=initcap(ename);

--12、顯示正好為6個字元的僱員姓名

select ename from emp where length(ename)=6

--13、顯示不帶有'R'的僱員姓名

Select ename from emp where ename not like ‘%R%’;

Select ename from emp where instr(ename,’R’)=0;

--14、顯示所有僱員的姓名的前三個字元

select substr(ename,1,3) from emp

--15、顯示所有僱員的姓名,用a替換所有'A'

Select replace(ename,’A’,’a’) from emp

--16、顯示所有僱員的姓名以及滿10年服務年限的日期

Select ename,add_months(hiredate,12*10) ‘服務年限的日期’ from emp

--17、顯示僱員的詳細資料,按姓名排序

Select * from emp order by ename

--18、顯示僱員姓名,根據其服務年限,將最老的僱員排在最前面

Select ename from emp order by hiredate

--19、顯示所有僱員的姓名、工作和薪金,按工作的降序順序排序,而工作相同時按薪金升序

Select ename,job,sal from emp order by job desc ,sal asc

--20、顯示所有僱員的姓名和加入公司的年份和月份,按僱員受雇日所在月排序,將最早年份的項目排在最前面

select ename,to_char(hiredate,'yyyy'),to_char(hiredate,'mm') from emp order by hiredate asc

--21、顯示在一個月為30天的情況下所有僱員的日薪金

select ename,sal/30 from emp;

--22、找出在(任何年份的)2月受聘的所有僱員

select * from emp where to_char(hiredate,'mm')='02';

--23、對於每個僱員,顯示其加入公司的天數

select ename,sysdate-hiredate from emp

--24、顯示姓名欄位的任何位置,包含 "A" 的所有僱員的姓名

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

select ename from emp where instr(ename,’A’,1)>0;

--25、以年、月和日顯示所有僱員的服務年限

Select months_between(sysdate,hiredate)/12 as “年”, months_between(sysdate,hiredate) as “月”, sysdate-hiredate as “日” from emp

 

   

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.