Oracle 经典语法(二)
--提示:工资 = 薪金 + 佣金
1. 找出EMP表中的姓名(ENAME)第三个字母是A 的员工姓名。
SELECT ENAME FROM SCOTT.EMP WHERE ENAME LIKE '__A%';
2. 找出EMP表员工名字中含有A 和N的员工姓名。
SELECT ENAME FROM SCOTT.EMP WHERE ENAME LIKE '%A%' AND ENAME LIKE '%N%';
SELECT ENAME FROM SCOTT.EMP WHERE ENAME LIKE '%A%N%';
3. 找出所有有佣金的员工,列出姓名、工资、佣金,显示结果按工资从小到大,佣金从大到小。
SELECT ENAME,SAL + COMM AS WAGE,COMM FROM SCOTT.EMP ORDER BY WAGE,COMM DESC;
4. 列出部门编号为20的所有职位。
SELECT DISTINCT JOB FROM EMP WHERE DEPTNO = 20;
5. 列出不属于SALES 的部门。
SELECT DISTINCT * FROM SCOTT.DEPT WHERE DNAME <> 'SALES';
SELECT DISTINCT * FROM SCOTT.DEPT WHERE DNAME not in ( 'SALES');
6. 显示工资不在1000 到1500 之间的员工信息:名字、工资,按工资从大到小排序。
SELECT ENAME,SAL + COMM AS WAGE FROM SCOTT.EMP WHERE SAL + COMM NOT BETWEEN 1000 AND 1500 ORDER BY WAGE DESC;
SELECT ENAME,SAL + COMM AS WAGE FROM SCOTT.EMP WHERE SAL + COMM < 1000 OR SAL + COMM > 1500 ORDER BY WAGE DESC;
7. 显示职位为MANAGER 和SALESMAN,年薪在15000 和20000 之间的员工的信息:名字、职位、年薪。
SELECT ENAME 姓名,JOB 职位,(SAL + COMM) * 12 AS 年薪 FROM SCOTT.EMP WHERE (SAL + COMM) * 12 BETWEEN 15000 AND 20000 AND JOB IN('MANAGER','SALESMAN');
8. 说明以下两条SQL语句的输出结果:
SELECT EMPNO,COMM FROM EMP WHERE COMM IS NULL;
SELECT EMPNO,COMM FROM EMP WHERE COMM = NULL;
--说明:IS NULL是判断某个字段是否为空,为空并不等价于为空字符串或为数字0;
--而 =NULL 是判断某个值是否等于 NULL,NULL = NULL和NULL <> NULL都为 FALSE。
9. 让SELECT 语句的输出结果为
SELECT * FROM SALGRADE;
SELECT * FROM BONUS;
SELECT * FROM EMP;
SELECT * FROM DEPT;
……
列出当前用户有多少张数据表,结果集中存在多少条记录。
SELECT 'SELECT * FROM '||TABLE_NAME||';' FROM USER_TABLES;
10. 判断SELECT ENAME,SAL FROM EMP WHERE SAL > '1500'是否抱错,为什么?
SELECT ENAME,SAL FROM EMP WHERE SAL > '1500';
SELECT ENAME,SAL FROM EMP WHERE SAL > 1500;
--不会抱错,这儿存在隐式数据类型的。
Oracle 经典语法(二)的更多相关文章
- Oracle 经典语法(五)
1. 哪些部门的人数比20 号部门的人数多.SELECT DEPTNO,COUNT(*) FROM EMP GROUP BY DEPTNO HAVING COUNT(*) > ...
- Oracle 经典语法(四)
1. 各个部门平均.最大.最小工资.人数,按照部门号升序排列.SELECT deptno AS 部门号,AVG(sal) AS 平均工资 ,MAX(sal) AS 最高工资,MIN(sal) AS ...
- Oracle 经典语法(三)
1. 让SELECT TO_CHAR(sal,'L99,999.99') FROM emp WHERE ROWNUM < 5 输出结果的货币单位是¥和$.SELECT TO_CHAR(sal, ...
- Oracle 经典语法(一)
员工表 emp Name Type Nullable Default Comments -------- ------------ -------- ------- ----- ...
- Oracle经典SQL
最近本人整理了一些Oracle sql,现分享给大家,后续还会更新.如果有错误的地方,请指正,共同学习.贴上去的sql都是我测试过的,大家可以粘贴在自己的电脑上试试. 1.查询部门的名称,及最低收入雇 ...
- 【Oracle经典】132个oracle热门精品资料——下载目录
电子书为网友wglzaj精心整理,这批资料下载量好评率都非常高,广受oracle学习者欢迎.文档共整理了12个精品专题和120个热门资料的下载地址,推荐给大家希望大家喜欢. 目录0豆下载地址:http ...
- ORACLE基本语法
ORACLE基本语法 一.ORACLE的启动和关闭1.在单机环境下要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下su - oraclea.启动ORACLE系统oracle>s ...
- ORACLE| ORACLE基础语法汇总
创 ORACLE| ORACLE基础语法汇总 2018-07-18 16:47:34 YvesHe 阅读数 9141更多 分类专栏: [数据库] 版权声明:本文为博主原创文章,遵循CC 4.0 B ...
- PHP语法(二):数据类型、运算符和函数
相关链接: PHP语法(一):基础和变量 PHP语法(二):数据类型.运算符和函数 PHP语法(三):控制结构(For循环/If/Switch/While) 这次整理了PHP的数据类型.运算符和函数. ...
随机推荐
- Fast Intro To Java Programming (2)
Java局部变量 局部变量声明在方法.构造方法或者语句块中: 局部变量在方法.构造方法.或者语句块被执行的时候创建,当它们执行完成后,变量将会被销毁: 访问修饰符不能用于局部变量: 局部变量只在声明它 ...
- NodeJS:树的反序列化
!!不知问啥,cnblog的MarkDown编辑器不好使了. 本文也在我的博客edwardesire.com上,欢迎品尝. 树的反序列化就是将序列数组安装线索组成树结构,今次项目数据库存储决策节点的方 ...
- ResolverService跨子网的广播问题
ResolverService在广播请求时,需要借助McastTransport,而McastTransport利用java.net.MulticastSocket进行收发,java.net.Mult ...
- Java缓存学习之二:浏览器缓存机制
浏览器端的九种缓存机制介绍 浏览器缓存是浏览器端保存数据用于快速读取或避免重复资源请求的优化机制,有效的缓存使用可以避免重复的网络请求和浏览器快速地读取本地数据,整体上加速网页展示给用户.浏览器端缓存 ...
- keil中编译时出现*** ERROR L107: ADDRESS SPACE OVERFLOW
解决方法: http://zhidao.baidu.com/link?url=DWTVVdALVqPtUt0sWPURD6c1eEppyu9CXocLTeRZlZlhwHOA1P1xdesqmUQNw ...
- FIREDAC连接SQLITE乱码的解决
在好多群里面都碰到问“FIREDAC连接SQLITE乱码的”的问题的同仁,遂将解决方法贴出来: 如上图所示设置 stringFormat为unicode即可
- CentOS 搭建LNMP服务器和LAMP服务器
CentOS 搭建LNMP服务器 方法一:yum安装 1.更新YUM源 wget http://www.atomicorp.com/installers/atomic #下载atomic自动更新Y ...
- javascript中sleep等待实现
function sleep(milliSeconds) { var startTime = new Date().getTime(); while (new Date().getTime() < ...
- VB.NET开发中遇到的一点小问题
在用vb.net开发的security support时,遇到一个问题,在trainingCourses.aspx页面上增加了一个HyperLink控件 <asp:HyperLink runat ...
- HDU 3966 Aragorn's Story (树链点权剖分,成段修改单点查询)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3966 树链剖分的模版,成段更新单点查询.熟悉线段树的成段更新的话就小case啦. //树链剖分 边权修 ...