您的位置:首页 > 数据库 > Oracle

Oracle编写简单的查询语句,以及限制数据和对数据的排序

2017-08-03 17:49 946 查看
结构化查询语言,简称SQL

可分为5类:

DQL   数据查询语言 :主要包括SELECT,用于从表中检索数据。
DML   数据操作语言 :主要包括INSERT,UPDATE和DELETE,用于添加,修改和删除表中的行数据。
TPL    事务处理语言 :主要包括COMMIT和ROLLBACK,用于提交和回滚。
DCL   数据控制语言 :主要包括GRANT和REVOKE,用于进行授权和收回权限。
DDL   数据定义语言 :主要包括CREATE、DROP、ALTER,用于定义、销毁、修改数据库对象。

select相关练习
SELECT * FROM DEPT;

SELECT * FROM EMP;

SELECT ENAME ,SAL ,sal+300 起薪 FROM EMP;

消除重复行,使用distinct关键字

SELECT DISTINCT DEPTNO FROM emp;

SELECT Ename||'的第一年总收入为'||(sal*2.2*6) , DEPTNO FROM EMP;

SELECT DISTINCT job "岗位" from emp;

SQL*plus desc EMP;

1.查询职位为SALESMAN的员工编号、职位、入职日期

SELECT EMPNO , job, hiredate FROM EMP WHERE job = 'SALESMAN';

2.查询1985年12月31日之前入职的员工姓名及入职日期

SELECT ENAME , HIREDATE FROM EMP WHERE HIREDATE < '31-12月-85';

3.查询部门编号不在10部门的员工姓名、部门编号。

select ENAME , DEPTNO FROM EMP WHERE DEPTNO <> 10;

1.查询入职日期在82年至85年的员工姓名,入职日期。

SELECT ENAME , HIREDATE from EMP WHERE HIREDATE BETWEEN '1-1月-1982' AND '31-12月-1985';

2.查询月薪在3000到5000的员工姓名,月薪。

SELECT ENAME ,sal from EMP WHERE SAL BETWEEN 3000 AND 5000;

3.查询部门编号为10或者20的员工姓名,部门编号。

SELECT ENAME, DEPTNO FROM EMP where DEPTNO IN (10,20);

4.查询经理编号为7902 7566 7788 7902, 7566, 7788的员工姓名,经理编号

SELECT ENAME ,MGR FROM EMP WHERE MGR in (7902,7566,7788);

1.查询员工姓名以A开头的员工姓名。

SELECT Ename FROM EMP WHERE ENAME LIKE 'A_%';

2.查询员工姓名倒数第2个字符为T的员工姓名。

SELECT Ename FROM EMP WHERE ENAME LIKE '%_T_';

3.查询奖金为空的员工姓名,奖金

SELECT ENAME , comm FROM EMP WHERE COMM IS NULL;

1.查询部门在20或30的员工姓名,部门编号,并按照工资升序排序。

SELECT Ename ,deptno ,sal FROM EMP WHERE DEPTNO IN (20,30) ORDER BY SAL ASC;

2.查询工资在2000-3000之间,部门不在10号的

员工姓名,部门编号,工资, 并按照部门升序,工资降序排序。

SELECT ENAME ,DEPTNO,sal FROM EMP

WHERE SAL BETWEEN 2000 AND 3000

AND DEPTNO <> 10

ORDER BY 2 ASC, 3 DESC;

3.查询入职日期在82年至83年之间,职位以SALES或者MAN开头的

员工姓名,入职日期,职位,并按照入职日期降序排序。

SELECT ENAME ,hiredate,job

FROM EMP

WHERE HIREDATE BETWEEN '1-1月-82' AND '31-12月-83'

AND job LIKE 'SALES_%' or job LIKE 'MAN_%'

ORDER BY 2 DESC;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle
相关文章推荐