当前位置:数据库 > Oracle >>

Oracle操作语句学习

Oracle操作语句学习
 
一.Oracle操作
 
1. 连接oracle:
 
1) sqlplus  
 
2) scott
 
3) tiger】
 
2. sqlplus scott/tiger;
 
3. 
 
4. sqlplus scott
 
tiger
 
5.界面登录
 
 
5. 退出quit
 
Exit
 
二.查询
 
1. SELECT EMPNO, ENAME, JOB, SAL  FROM EMP WHERE SAL < 2500 ;
 
2. SELECT EPNO, ENAME, JOB, SAL FROM EMP WHERE SAL < 2500;
 
3.CHANGE /EPNO/EMPNO
 
Run
 
4.增加一行
 
5删除一行
 
6. 保存SAVE命令 运行命令文件
 
7.清缓冲区
 
8.DESCRIBE列出表的结构
 
二.Oracle查询
 
1.显示EMP表中所有的部门号、职工名称和管理者号码
 
2.
 
1. 算术运算符在SQL中的使用
 
SELECT ENAME, SAL+250*12 FROM EMP;
 
2. 连字符的使用
 
把职工号和职工名字连接起来,如下:
 
SELECT EMPNO||ENAME EMPLOYEE FROM EMP;
 
把职工号和职工名字中间用‘-’连接起来,并输出‘WORKS IN DEPARTMENT’,如下:
 
SELECT EMPNO|| ’-’ ||ENAME EMPLOYEE, ‘WORKS IN DEPARTMENT’, DEPTNO
 
FROM  EMP;
 
3. 禁止重复
 
如果列举出EMP表中所有部门号:
 
Select deptno from emp;
 
从上表中可以看出部门号之间存在着许多的相同的,可以用DISTINCT子句来消除重复的。
 
SELECT DISTINCT deptno from emp;
 
4. 排序
 
按单个字段排序,如按照ENAME排序,
 
SELECT ENAME, JOB, SAL*12, DEPTNO
 
FROM EMP
 
ORDER BY ENAME;
 
5.按多个字段排序:
 
如按部门号升序,按工资降序排序
 
SELECT DEPTNO, JOB, ENAME
 
FROM EMP
 
ORDER BY DEPTNO, SAL DESC;
 
按多个字段排序:
 
如按部门号升序,按工资降序排序
 
SELECT DEPTNO, JOB, ENAME
 
FROM EMP
 
ORDER BY DEPTNO, SAL DESC;
 
6.带条件的查询
 
1)查询工作是CLERK的所有职工的姓名,职工号和部门号
 
SELECT ENAME, EMPNO, JOB, DEPTNO
 
FROM EMP
 
WHERE JOB = ‘CLERK’;
 
2)从DEPT表中查询出部门号大于20的部门名称
 
SELECT  DNAME, DEPTNO
 
FROM  DEPT
 
WHERE  DEPTNO > 20;
 
3)复合条件查询
 
查询工作是MANAGER并且工资大于1500,或者工作是SALESMAN的职工信息:
 
SELECT EMPNO,ENAME, JOB,SAL,DEPTNO
 
FROM EMP
 
WHERE SAL>1500 AND JOB = ‘MANAGER’ OR JOB = ‘SALESMAN’;
 
5. 操作符的应用
 
1) BETWEEN的应用
 
查询工资在1000到2000之间的职工名字和工资信息。
 
SELECT ENAME, SAL
 
FROM EMP
 
WHERE SAL BETWEEN 1000 AND 2000;
 
2) IN
 
查询有7902,7566,7788三个MGR号之一的所有职工:
 
SELECT EMPNO, ENAME, SAL, MGR
 
FROM EMP
 
WHERE MGR IN (7902,7566,7788);
 
3) LIKE
 
通配符%代表任意0或多个字符。
 
通配符_代表任意单个字符。
 
查询名字以“S”开始的所有职工:
 
SELECT ENAME
 
FROM  EMP
 
WHERE ENAME LIKE ‘S%’;
 
查询名字只有4个字符的所有职工:
 
SELECT ENAME
 
FROM  EMP
 
WHERE ENAME LIKE ‘_ _ _ _’;
 
4) IS NULL
 
查询没有管理者的所有职工:
 
SELECT ENAME,MGR
 
FROM  EMP
 
WHERE MGR IS NULL;
 
6. 单&号替代变量
 
1) 数字变量输入:
 
SELECT EMPNO,ENAME,SAL
 
FROM EMP
 
WHERE DEPTNO = &DEPARTMENT_NUMBER;
 
Enter value for department_number:10
 
2) 字符串变量输入:
 
SELECT EMPNO,ENAME,SAL*12
 
FROM EMP
 
WHERE JOB = ‘&JOB_TITLE’;
 
Enter  value for  job_title: MANAGER
 
7. 字符函数的应用 
 
 TO_CHAR 数字数据转换为字符串
 
SQL> select to_char(8897) from dual;
 
8. 数字函数的应用
 
 TO_NUMBER字符串数据转换为数字
 
SQL> select to_number('8897') from dual;
 
9. 数据类型转换
 
TO_DATE字符串数据转换为日期数据
 
SQL> select to_date('03-12月-81') from dual;
 
10. 分组函数的应用
 
1) 分组函数见课本P60
 
2) 分组函数应用
 
求平均值
 
SELECT AVG(SAL) FROM EMP;
 
求最小值
 
SELECT MIN(SAL) FROM EMP WHERE JOB = ‘CLERK’;
 
求数目
 
SELECT COUNT(*) FROM EMP WHERE DEPTNO = 20;
 
3) GROUP BY子句
 
求每个部门中的平均工资:
 
SELECT JOB,AVG(SAL) FROM EMP
 
GROUP BY JOB;
 
4) HAVING子句
 
查询人数超过3人的部门中的平均工资:
 
SELECT DEPTNO,AVG(SAL) FROM EMP
 
GROUP BY DEPTNO
 
HAVING COUNT(*)>3;
 
11. 连接
 
从EMP和DEPT中查询出职工名字、工作和部门名称:
 
SELECT ENAME,JOB,DNAME FROM  EMP, DEPT
 
WHERE EMP.DEPTNO = DEPT.DEPTNO;
 
12. 子查询的应用
 
从EMP中查询出工资最低的职工:
 
SELECT ENAME,JOB,SAL FROM EMP
 
WHERE SAL = (SELECT MIN(SAL)FROM EMP );
 
从EMP中查询出每个部门工资最低的职工:
 
SELECT ENAME,SAL,DEPTNO FROM EMP
&nbs
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,