.sql语句的编程手册 SQL PLUS

更新时间:2024-06-08 22:37:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

一、SQL PLUS > >= < <= in between value.05*sal order by comm/sal desc; 日期型数据的运算 add two days to 6-Mar-87 6-Mar-87 + 2 = 8-Mar-87 add two hours to 6-Mar-87 6-Mar-87 + 2/24 = 6-Mar-87 and 2hrs add .05*sal order by comm/sal desc; SQL命令的编辑 list or l 显示缓冲区的内容 list 4 显示当前SQL命令的第4行,并把第4行作为当前行,在该行号后面有个*。 change or c 用新的内容替换原来在一行中第一次出现内容 SQL>c/(...)/(analyst)/ input or i 增加一行或多行 append or a 在一行后追加内容 del 删除当前行 删除SQL缓冲区中的当前行 run 显示并运行SQL缓冲区中的命令 / 运行SQL缓冲区中的命令 edit 把

SQL缓冲区中的命令写到操作系统下的文本文件, 并调用操作系统提供的编辑器执行修改。 ------------- 3 数据操纵 数据的插入 insert into dept values (

视图列名取别名 create view mydept (person,title,salary) as select ename,job,sal from emp where deptno=

当头的命令缓冲区,通常情况下,SQL命令缓冲区已为当前缓冲区。 由于SQL命令缓冲区只能存放一条SQL命令, 所以可用其他缓冲区来存放SQL命令和SQL*PLUS命令。 经常用到的设置可放在login.sql文件中。 SET NULL set null no data select ename,comm from emp where deptno=30; 把部门30中无佣金雇员的佣金显示为\。 set null是SQL*PLUS命令,用他来标识空值(NULL),能设置为任意字符串。 存盘命令SAVE save 文件名 input

href=\ Mon dd,yyyy MAR

Thu,the twelfth Dy,\ 算术函数 least(v9000; select小结 除去职员,哪些部门的工资总和超过了8000 select deptno,sum(sal) from emp where job!=clerk group by deptno having sum(sal)>8000 order by sum(sal); --------- 7 高级查询 等值联接 select empno,ename,job,emp.deptno,dname from emp,dept where emp.deptno=dept.deptno; 外联接 select ename,dept.deptno,loc from emp,dept where emp.deptno(+)=dept.deptno; 如果在dept.deptno中有的数值,在emp.deptno中没有(如deptno=40), 则作外联接时,结果中会产生一个空值 自联接:同一基表的不同行要做联接,可使用自联接 指出每个雇员的经理名字 select worker.ename,manager.ename manager from emp worker,emp manager where worker.mgr=manager.empno; 非等值联接 哪些雇员的工资属于第三级别 select ename,sal from emp,salgrade where grade=3 and sal between losal and hisal; (基表salgrade:grade losal hisal) 集合运算 行的连接 集合运算把2个或多个查询结果合并为一个 union-set union Rows of first query plus of second query, less duplicate rows intersect-set intersection Rows both queries have in common minus-set difference rows unique to the first query 介绍几个视图 account view ename sal job sales view ename sal job research view ename sal job union运算 返回一个查询结果中有但又不重要的行,他将基表或视图中的记录合并在一起 所有部门中有哪些雇员工资超过2000 对应列的数据类型必须相同 select ename,sal from account where sal>2000 union select ename,sal from research where sal>2000 union select ename,sal from sales where sal>2000; intersect运算 返回查询结果中相同的部分 各个部门中有哪些相同的工种 select job from account intersect select job from research intersect select job from sales; minus运算 返回在第一个查询结果中和第二个查询结果不相同的那部分行记录。 有哪些工种在财会部

中有,而在销售部中没有? select job from account minus select job from sales; 子查询 slect ename,deptno from emp where deptno= (select deptno from emp where ename=smith); 多级子查询 select ename,job,sal from emp where job= (select job from emp where ename=clark) or sal> (select sal from emp where ename=clark); 多个基表和子查询 select ename,job,sal from emp,dept where loc=new york and emp.deptno=dept.deptno and sal> (select sal from emp where ename=scott); 子查询中使用聚组函数 select ename,hiredate from emp where hiredate= (select min(hiredate) from emp); ------------ 8 授权 系统权限 DBA 所有权限 RESOURCE 注册,创建新的基表 CONNECT,注册,查询 只有DBA才有权创建新的用户 grant connect to scott identified by tiger; DBA或用户自己能改动用户口令 grant connect to scott identified by leopard; 基表权限comm order by sal desc,ename; 列出有关雇员姓名、奖金占收百分比的信息。 需求显示时列名意义明确,按雇员姓名排序,不包括奖金未知的雇员。 select ename employee,(comm/(comm+sal))*

href=\where comm is not null order by ename; 在chicago(部门30)工作的所有雇员的工资上涨

href=\ where deptno=(select deptno from dept where loc=chicago); 为hitech公司新建一个部门,编号为50,其他信息均不可知。 insert into dept(dname,deptno) values(faclities,50); 创建视图,三个列名,其中不包括职员信息 create view employee(\name\ \number\ \job\ as select ename,empno,job from emp where job!=clerk; 制作工资报表,包括雇员姓名、受雇时间(按星期计算),工资和部门编号, 一页显示一个部门的信息,每页尾,显示该页的

工资之和及受雇时间之和, 报表结尾处,显示所有雇员的工资总和及受雇时间总和, 工资按美元计算,受雇时间按星期计算,每页的上方应有标题。 ttitle service break on deptno on page on report compute sum of sal on deptno compute sum of sal on report compute sum of service_length on deptno compute sum of service_length on report column sal format $99,999.00 column service_length format 9999 select deptno,ename employee,(sysdate-hiredate)/7 service_length,sal from emp order by deptno; 制作报表,包括雇员姓名、总收入和受佣日期, 且:姓名的第一个字母必须大写,雇佣日期格式为MM/DD/YYYY, 总收入包括没有奖金的雇员的总收入,姓名按字母顺序排列。 col \date\A7); 列出所有面积大于等于日本的岛国的国名和人口。 select nation,population from nation,border where code=nation_code(+) and nation_code is null and area>= (select area from nation where upper(nation)=JAPAN); 列出所有边界在其他国家中的国名,并且显示其边界国家名字。 break on nation select nation

nation2.nation borderin_country from nation nation

href=\字符型、数字型表达式中的空值 null+<数字>=null(空值加数字仍是?) Related articles:

本文来源:https://www.bwwdw.com/article/h1x6.html

Top