oracle學習篇三:SQL查詢

來源:互聯網
上載者:User

標籤:


select * from emp;

 

--1.找出部門30的員工
select * from emp where deptno = 30;

 

--2.列出所有辦事員(CLERK)的姓名,變化和部門編號
select * from emp where job = upper(‘clerk‘);

 

--3.找出傭金高於薪金的員工。
select * from emp where comm > sal;

 

--4.找出傭金高於薪金60%的員工。
select *
from emp
where comm > sal * 0.6

 

--5.找出部門10中所有的經理(MANAGER)和部門20中所有的辦事員(CLERK)的詳細資料
select *
from emp
where (deptno = 10 and job = upper(‘manager‘))
or (deptno = 20 and job = upper(‘clerk‘));

 


--6.找出部門10中所有的經理(MANAGER)和部門20中所有的辦事員(CLERK)的詳細資料,既不是經理又不是辦事員,但薪資大於等於2000的所有員工地詳細資料
select *
from emp
where (deptno = 10 and job = upper(‘manager‘))
or (deptno = 20 and job = upper(‘clerk‘))
or (job not in (‘MANAGER‘, ‘CLERK‘) and sal >= 2000);

 

 

--7.找出收取傭金的員工地不同工作
select distinct job from emp where comm is not null;

 

--8.找出不收取傭金或收取傭金低於100的員工.
select *
from emp
where comm is null
or comm < 100;

 

--9.找出各個月倒數第3天受雇的員工
select LAST_DAY(HIREDATE)
from emp
select * from emp where LAST_DAY(HIREDATE) - 2 = HIREDATE;

 


--10.找出早於12年前受雇的員工.
select * from emp where months_between(sysdate, hiredate) / 12 > 12;

 

--11.以首字母大寫的方式顯示所有員工姓名
select initcap(ename) from emp;

 

--12.顯示正好為5個字元的員工姓名.
select * from emp where length(ename) = 5;

 

--13.顯示不帶“R”的員工姓名.
select * from emp where ename not like ‘%R%‘;

 

--14.顯示所有員工共姓名前三個字元.
select substr(ename, 0, 3) from emp;

 

--15.顯示所有員工,用“a"替換"A"
select replace(ename, ‘A‘, ‘a‘) from emp;

 

--16.顯示滿10年的員工姓名和授雇日期
select ename, hiredate
from emp
where months_between(sysdate, hiredate) / 12 > 10;

 

--17.顯示員工的詳細資料,按姓名排序
select * from emp order by ename;

 

--18.顯示員工姓名和授雇日期,根據其服務年限,將最老的員工牌在最前面
select ename, hiredate from emp order by hiredate;

 

--19.顯示所有員工的姓名/工作和薪資,按工作的降序排序,若共工作相同則按薪資排序
select ename, job, sal from emp order by job desc, sal;

 

--20.顯示所有員工的姓名/加入公司的年份和月份,安排受雇日前所作的月排序,若月份相同則將最早年份的員工排在最前面。
select ename, to_char(hiredate, ‘yyyy‘) y, to_char(hiredate, ‘mm‘) m
from emp
order by m, y;

 

--21.顯示在一個月為30天的情況,所有員工日薪資,忽略餘數。
select ename, round(sal / 30) from emp;

 

--22.找出在(任何年份的)2月份受雇的員工。
select * from emp where to_char(hiredate, ‘mm‘) = ‘02‘;

 

--23.對於每個員工顯示其加入公司的天數。
select ename, trunc(sysdate - hiredate) from emp;

 

--24.顯示姓名欄位的任何位置包含“A”的所有員工地姓名。
select ename from emp where ename like ‘%A%‘;

 

--25.以年月日的方式顯示所有員工的服務年限(大概)
select ename,
hiredate,
trunc(months_between(sysdate, hiredate) / 12) y,
trunc(mod(months_between(sysdate, hiredate), 12)) m,
trunc(mod(sysdate - hiredate, 30)) d
from emp;

 

 

oracle學習篇三:SQL查詢

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.