首页 > 代码库 > sql基本查询语句

sql基本查询语句

select * from emp where deptno=30;                             
  --1  选择部门30中的所有员工。

select ename,job,empno,deptno from emp where job=‘CLERK‘;       
 --2  列出所有办事员(CLERK)的姓名,雇员编号和部门编号。

select ename, sal,comm from emp where comm>sal;                 
 --3  找出奖金高于薪金的员工。

select ename, sal,comm from emp where comm>sal*0.6;             
 --4  找出奖金高于薪金60%的员工。
select ename, job, deptno from emp where deptno=10 and job=‘MANAGER‘;
--5  找出部门10中所有经理(MANAGER)

select* from  emp where(deptno=10 and job=‘MANAGER‘)or(job!=‘MANAGER‘ and job!=‘CLERK‘and sal>=2000);
--6  找出部门10中所有经理(MANAGER),以及所有部门中即不是经理又不是办事员但薪金大于或等于2000的所有员工的详细资料。

select distinct job from emp where comm>0 and comm is not null;
--7  找出有奖金的员工的不同工作。

select * from emp where comm is null or comm<100;
--8  找出没有奖金或奖金低于100的员工。

select * from emp where  last_day(hiredate)-2=hiredate;
--9  找出每个月倒数第3天受雇的所有员工。

select * from emp where hiredate<=add_months(sysdate,-30*12);
--10  找出早于30年前受雇的员工。

select initcap(ename) from emp;
--11  以首字母大写的方式显示所有员工的姓名。

select * from emp where length (ename)=5;
--12  显示正好为5个字符的员工的姓名。

select * from emp where  ename not like‘%R%‘;   
--13  显示不带有‘R‘的员工的姓名。

select substr(ename,0,3) from emp;
--14  显示所有员工姓名的前三个字符。

select replace (ename ,‘A‘,‘L‘)from emp;
 --15  显示所有员工的姓名,用‘L‘代替所有‘A‘

select ename,hiredate from emp where(to_char(sysdate,‘yyyy‘) -to_char(hiredate,‘yyyy‘))>=30;--select ename,hiredate from emp where hiredate=() ; --16  显示满30年服务年限的员工的姓名和受雇日期。
select * from emp order by ename;
--17  显示员工的详细资料,按姓名排序。

select ename,hiredate from emp order by hiredate asc;
--18  显示员工的姓名和受雇日期,根据其服务年限,将最老的员工排在最前面。

select ename,job,sal from emp  order by job desc,sal;
--19  显示所有员工的姓名、工作和薪金,按工作的降序排序,若工作相同则按薪金排序。

select ename,hiredate from emp order by hiredate,hiredate asc;
--20  显示所有员工的姓名、加入公司的年份和月份,按受雇日期所在月排序,若月份相同则将最早年份的员工排在最前面。

select ename,trunc(sal/30,0)from emp;
--21  显示在一个月为30天的情况所有员工的日薪金,忽略余数。

select * from emp where to_char(hiredate,‘fmmm‘)=‘2‘;
--22  找出在(任何年份的)2月受聘的所有员工。

select ename,trunc(sysdate-hiredate)from emp;
--23  对于每个员工,显示其加入公司的天数。

select ename from emp where  ename like ‘%A%‘;
--24  显示姓名字段的任何位置包含‘A‘的所有员工的姓名。

sql基本查询语句