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

来源:互联网 发布:mkdir 全称 linux 编辑:程序博客网 时间:2024/05/12 01:39

结构化查询语言,简称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;

阅读全文
0 0
原创粉丝点击