sql语句基本查询操作

表结构

SQL> desc emp
Name Type Nullable Default Comments
-------- ------------ -------- ------- --------
EMPNO NUMBER(4)
ENAME VARCHAR2(10) Y 员工姓名
JOB VARCHAR2(9) Y
MGR NUMBER(4) Y
HIREDATE DATE Y
SAL NUMBER(7,2) Y
COMM NUMBER(7,2) Y
DEPTNO NUMBER(2) Y

查询语句

--查询EMP表显示所有雇员名及其全年收入(月收入=工资+补助),处理NULL行,
--并指定列别名为"年收入"。(NVL(comm,0) comm取空值时用0替代)

select ename,12*(sal+nvl(comm,0)) 年收入 from emp;

--)查询EMP表显示工资超过2850的雇员姓名和工资
select ename,sal from emp where sal > 2850;

--查询EMP表显示工资不在1500~2850之间的所有雇员及工资
select ename,sal from emp where sal not between 1500 and 2850;

--查询EMP表显示代码为7566的雇员姓名及所在部门代码
select ename,deptno from emp where mgr=7566;

--查询EMP表显示部门10和30中工资超过1500的雇员名及工资


select ename,sal,deptno from emp where deptno in(10,30) and sal > 1500;
select ename,sal,deptno from emp where (deptno=10 or deptno=30) and sal>1500;

--查询EMP表显示第2个字符为"A"的所有雇员名其工资。
select ename,sal from emp where ename like '_A%';

select * from emp;

insert into emp(empno,ename,sal,deptno) values(8888,'zhang%san',8888,30);

select ename from emp where ename like '%x%%' escape('x');


--查询EMP表显示补助非空的所有雇员名及其补助。
select ename,comm from emp where comm is not null;

--查询EMP表显示所有雇员名、工资、雇佣日期,并以雇员名的升序进行排序。
select ename,sal,hiredate from emp order by ename asc;


--查询EMP表显示在1981年2月1日到1981年5月1日之间雇佣的雇员名、岗位及雇佣日期,并
--以雇佣日期进行排序。
select ename, job, hiredate
from emp
where hiredate between to_date('1981-2-1', 'yyyy-mm-dd') and
to_date('1981-5-1', 'yyyy-mm-dd')
order by hiredate desc;

--查询EMP表显示获得补助的所有雇员名、工资及补助,并以工资升序和补助降序排序
select ename,sal,comm from emp where comm is not null order by sal asc,comm desc;

猜你喜欢

转载自www.cnblogs.com/cqming/p/10722057.html