oracle中scott用戶下四個基本表SQL語句練習


--選擇部門中30的雇員
SELECT * from emp where DEPTNO=30;
--列出所有辦事員的姓名、部門、編號
--采用內連接方式,也就是等值鏈接,也是最常用的鏈接
SELECT ename,empno,dname from emp e INNER JOIN
dept d on e.deptno=d.deptno where job='CLERK';
--找出佣金高於薪金的雇員
select * from emp where comm>sal;
--找出佣金高於薪金60%的雇員
select * from emp where comm>sal*0.6;
--找出部門10中所有經理和部門20中所有辦事員
select * from emp where(deptno=10 and job=UPPER('manager'))
or (deptno=20 and job='CLERK');
--找出部門10中所有經理和部門20中所有辦事員,既不是經理也不是辦事員,
--但是其薪金>=2000的所有雇員的資料
select * from emp where(deptno=10 and job=UPPER('manager'))
or (deptno=20 and job='CLERK')
or (job<>upper('manager') and job<>upper('clerk') and sal>=2000);
--找出收取佣金的雇員的不同工作
select distinct job from emp where comm>0;
--找出不收取佣金或者是佣金低於100的雇員
select * from emp where nvl(comm,0)<100;
--找出各月最后一天受雇的所有雇員
select * from emp where hiredate=last_day(hiredate);
--找出早於25年之前受雇的員工
select * from emp
where "MONTHS_BETWEEN"(sysdate, HIREDATE)/12>25;
--顯示只有首字母大寫的所有雇員的姓名
--"INITCAP"(ch)函數是將每個單詞的第一個字母大寫,其他字母變為小寫
select ename from emp where ename=initcap(ename);
--顯示正好為6個字符的雇員的姓名
select ename from emp where length(ename)=6;
--顯示不帶有like的雇員的姓名
select ename from emp where ename not like '%R%';
--或者是這樣寫
select ename from emp where instr(ename,'R')=0;
--顯示所有雇員姓名的前三個字母
select substr(ename,1,3) from emp;
--顯示所有雇員的姓名,用a替代A
select replace(ename,'A','a') from emp;
--顯示所有雇員的姓名以及滿10年服務年限的日期
select ename ,add_months(hiredate,12*10) as 服務年限的日期 from emp;
--顯示雇員的詳細資料,按姓名排序
select * from emp order by ename ;
--顯示雇員的姓名,根據其服務年限,將最老的的雇員排在最前面
select ename from emp order by hiredate desc;
--顯示所有雇員的姓名、工作和薪金,按工作的降序排序,工作相同的按薪金進行升序排序
select ename,job,sal from emp order by job desc,sal asc;
--顯示所有雇員的姓名和加入公司的年份和月份
--按雇員受雇日期所在月排序,將最早年份的項目排在最前面
select ename,"TO_CHAR"(hiredate,'yyyy') as 年份,"TO_CHAR"(hiredate,'mm') as 月份
from emp order by hiredate asc;
--顯示在一個月為30天的情況下所有雇員的日薪金
select sal/30"日薪金" from emp;
--找出在任何年份2月受聘的所有雇員
select ename as 雇員姓名,hiredate as 受雇日期
from emp where to_char(hiredate,'mm')='02';
--對於每個雇員,顯示其加入公司的天數
select ename,sysdate-hiredate from emp;
--顯示在姓名中包含有字母A的雇員的姓名
select ename from emp where ename like '%A%';
--或者
select ename from emp where instr(ename,'A',1)>0;
--查看當前用戶下的所有表
select * from tab;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM