皇冠现金appOracle基础演习题,Oracle基础演习题

Oracle基础演习题,选用Oracle数据库自带的表,适合初我们,个中囊括了一些简便的查询,已经有所Oracle本身特色的单行函数的运用

Oracle基础练习题,选拔Oracle数据库自带的表,适合初大方,其中包含了某个简约的询问,已经有所Oracle本人特点的单行函数的施用

正文使用的实例表结构与表的数额如下:

本文使用的实例表结构与表的数据如下:

emp员工表结构如下:

emp职员和工人表结构如下:

  1. Name     Type         Nullable Default Comments 
     
  2. ——– ———— ——– ——- ——– 
     
  3. EMPNO    NUMBER(4)                       员工号       
     
  4. ENAME    VA凯雷德CHA大切诺基2(10) Y                  职员和工人姓名       
     
  5. JOB      VARCHAR2(9)  Y                  工作       
     
  6. MGCRUISER      NUMBE卡宴(4)    Y                  上级编号       
     
  7. HIREDATE DATE         Y                  雇佣日期       
     
  8. SAL      NUMBER(7,2)  Y                  薪金       
     
  9. COMM     NUMBER(7,2)  Y                  佣金       
     
  10. DEPTNO   NUMBE福特Explorer(2)    Y                  部门编号 
  1. Name     Type         Nullable Default Comments 
     
  2. ——– ———— ——– ——- ——– 
     
  3. EMPNO    NUMBER(4)                       员工号       
     
  4. ENAME    VACRUISERCHALacrosse2(10) Y                  职员和工人姓名       
     
  5. JOB      VARCHAR2(9)  Y                  工作       
     
  6. MG讴歌RDX      NUMBE奇骏(4)    Y                  上级编号       
     
  7. HIREDATE DATE         Y                  雇佣日期       
     
  8. SAL      NUMBER(7,2)  Y                  薪金       
     
  9. COMM     NUMBER(7,2)  Y                  佣金       
     
  10. DEPTNO   NUMBEHighlander(2)    Y                  部门编号 

dept部门表:

dept部门表:

  1. Name   Type         Nullable Default Comments 
     
  2. —— ———— ——– ——- ——– 
     
  3. DEPTNO NUMBE帕杰罗(2)                         部门编号        
     
  4. DNAME  VA奥德赛CHAR2(14) Y                    部门名称     
     
  5. LOC    VARCHAR2(13) Y                    地点    
  1. Name   Type         Nullable Default Comments 
     
  2. —— ———— ——– ——- ——– 
     
  3. DEPTNO NUMBE福特Explorer(2)                         部门编号        
     
  4. DNAME  VAavancierCHA奥迪Q52(14) Y                    部门名称     
     
  5. LOC    VARCHAR2(13) Y                    地点    

提示:工资 = 薪金 + 佣金

提示:工资 = 薪金 + 佣金

emp表的共处数量如下:

emp表的并存数量如下:

  1. SQL> select * from emp;
     
  2.  
  3. EMPNO ENAME      JOB         MGR HIREDATE          SAL      COMM DEPTNO
     
  4. —– ———- ——— —– ———– ——— ——— ——
     
  5. 7369 
    SMITH      CLERK      7902 1980-12-17     800.00               20
     
  6. 7499 
    ALLEN      SALESMAN   7698 1981-2-20     1600.00    300.00     30
     
  7. 7521 
    WARD       SALESMAN   7698 1981-2-22     1250.00    500.00     30
     
  8. 7566 
    JONES      MANAGER    7839 1981-4-2      2975.00               20
     
  9. 7654 
    MARTIN     SALESMAN   7698 1981-9-28     1250.00   1400.00     30
     
  10. 7698 
    BLAKE      MANAGER    7839 1981-5-1      2850.00               30
     
  11. 7782 
    CLARK      MANAGER    7839 1981-6-9      2450.00               10
     
  12. 7788 
    SCOTT      ANALYST    7566 1987-4-19     4000.00               20
     
  13. 7839 
    KING       PRESIDENT       1981-11-17    5000.00               10
     
  14. 7844 
    TURNER     SALESMAN   7698 1981-9-8      1500.00      0.00     30
     
  15. 7876 
    ADAMS      CLERK      7788 1987-5-23     1100.00               20
     
  16. 7900 
    JAMES      CLERK      7698 1981-12-3      950.00               30
     
  17. 7902 
    FORD       ANALYST    7566 1981-12-3     3000.00               20
     
  18. 7934 
    MILLER     CLERK      7782 1982-1-23     1300.00               10
     
    1. 14 rows selected 
  1. SQL> select * from emp;
     
  2.  
  3. EMPNO ENAME      JOB         MGR HIREDATE          SAL      COMM DEPTNO
     
  4. —– ———- ——— —– ———– ——— ——— ——
     
  5. 7369 
    SMITH      CLERK      7902 1980-12-17     800.00               20
     
  6. 7499 
    ALLEN      SALESMAN   7698 1981-2-20     1600.00    300.00     30
     
  7. 7521 
    WARD       SALESMAN   7698 1981-2-22     1250.00    500.00     30
     
  8. 7566 
    JONES      MANAGER    7839 1981-4-2      2975.00               20
     
  9. 7654 
    MARTIN     SALESMAN   7698 1981-9-28     1250.00   1400.00     30
     
  10. 7698 
    BLAKE      MANAGER    7839 1981-5-1      2850.00               30
     
  11. 7782 
    CLARK      MANAGER    7839 1981-6-9      2450.00               10
     
  12. 7788 
    SCOTT      ANALYST    7566 1987-4-19     4000.00               20
     
  13. 7839 
    KING       PRESIDENT       1981-11-17    5000.00               10
     
  14. 7844 
    TURNER     SALESMAN   7698 1981-9-8      1500.00      0.00     30
     
  15. 7876 
    ADAMS      CLERK      7788 1987-5-23     1100.00               20
     
  16. 7900 
    JAMES      CLERK      7698 1981-12-3      950.00               30
     
  17. 7902 
    FORD       ANALYST    7566 1981-12-3     3000.00               20
     
  18. 7934 
    MILLER     CLERK      7782 1982-1-23     1300.00               10
     
    1. 14 rows selected 

dept表的水保数量如下:

dept表的幸存数量如下:

  1. SQL> select * from dept;
     
  2.   
  3. DEPTNO DNAME          LOC  
  4. —— ————– ————-
     
  5. 10   ACCOUNTING     NEW YORK
     
  6. 20   RESEARCH       DALLAS
     
  7. 30   SALES          CHICAGO
     
  8. 40   OPERATIONS     BOSTON
     
    1. rows selected 
  1. SQL> select * from dept;
     
  2.   
  3. DEPTNO DNAME          LOC  
  4. —— ————– ————-
     
  5. 10   ACCOUNTING     NEW YORK
     
  6. 20   RESEARCH       DALLAS
     
  7. 30   SALES          CHICAGO
     
  8. 40   OPERATIONS     BOSTON
     
    1. rows selected 

用SQL完结以下难题列表:

用SQL达成以下难题列表:

第一篇

第一篇

  1. 列出足足有多个职员和工人的兼具机关。
  2. 列出薪俸比“SMITH”多的全体职工。
  3. 列出全数职员和工人的全名及其直接上级的全名。
  4. 列出受雇日期早于其直接上级的有所职工。
  5. 列出机关名称和这么些部门的职员和工人音讯,同时列出那一个没有职员和工人的机关
  6. 列出富有“CLEKoleosK”(办事员)的人名及其部门名称。
  7. 列出最低薪俸陵高校于1500的各样工作。
  8. 列出在机构“SALES”(销售部)工作的职员和工人的全名,假定不掌握销售部的单位编号。
  9. 列出薪资高于公司平均薪资的保有员工。
  10. 列出与“SCOTT”从事同样工作的享有职工。
  11. 列出薪给等于部门30中职员和工人的薪酬的持有职工的姓名和薪金。
  12. 列出报酬高于在部门30做事的兼具职员和工人的薪金的职工姓名和工资。
  13. 列出在每种部门办事的职员和工人数量、平均工资和平均服务时间限制。
  14. 列出富有职工的真名、部门名称和薪资。
  15. 列出具有机关的详细新闻和机构人数。
  16. 列出各类办事的最低薪给。
  17. 列出各种部门的MANAGE逍客(老板)的最低薪水。
  18. 列出全数职工的年工资,按年薪从低到高排序。
  1. 列出最少有1个职员和工人的持有单位。
  2. 列出工资比“SMITH”多的装有职工。
  3. 列出全数职工的姓名及其直接上级的全名。
  4. 列出受雇日期早于其直接上级的富有职员和工人。
  5. 列出机关名称和那一个机关的职工音讯,同时列出那个尚未职员和工人的单位
  6. 列出具有“CLE纳瓦拉K”(办事员)的全名及其部门名称。
  7. 列出最低薪酬陵大学于1500的各个办事。
  8. 列出在部门“SALES”(销售部)工作的职工的姓名,假定不知底销售部的机构编号。
  9. 列出薪酬高于公司平均薪酬的拥有职工。
  10. 列出与“SCOTT”从事同样工作的具有职员和工人。
  11. 列出薪水等于部门30中职员和工人的薪金的具备职工的人名和薪酬。
  12. 列出工资高于在单位30工作的装有职员和工人的薪饷的职员和工人姓名和薪给。
  13. 列出在各样单位办事的职员和工人数量、平均薪金和平均服务时间限制。
  14. 列出富有职工的真名、部门名称和薪金。
  15. 列出具有机关的详细消息和机构人数。
  16. 列出各类办事的最低薪资。
  17. 列出各种部门的MANAGERAV4(老董)的最低工资。
  18. 列出具有职员和工人的年薪酬,按年薪从低到高排序。

第二篇

第二篇

  1. 找出EMP表中的姓名(ENAME)第13个字母是A
    的职员和工人姓名。
  2. 找出EMP表职员和工人名字中包含A
    和N的职工姓名。
  3. 找出装有有佣金的职工,列出姓名、薪金、佣金,突显结果按薪酬从小到大,佣金从大到小。
  4. 列出单位编号为20的有着地点。
  5. 列出不属于SALES 的部门。
  6. 体现工资不在一千 到1500
    之间的职员和工人新闻:名字、薪给,按薪酬从大到小排序。
  7. 来得职位为MANAGEEnclave和SALESMAN,年薪在1五千 和两千0
    之间的职工的新闻:名字、职位、年薪。
  8. 注明以下两条SQL语句的输出结果:
    1. SELECT EMPNO,COMM FROM EMP WHERE COMM IS NULL;  
    2. SELECT EMPNO,COMM FROM EMP WHERE COMM = NULL; 
  9. 让SELECT 语句的出口结果为
    1. SELECT * FROM SALGRADE;  
    2. SELECT * FROM BONUS;  
    3. SELECT * FROM EMP;  
    4. SELECT * FROM DEPT;  
    5. ……
  1. 找出EMP表中的姓名(ENAME)第多少个字母是A
    的职工姓名。
  2. 找出EMP表职员和工人名字中带有A
    和N的职工姓名。
  3. 找出具有有回扣的员工,列出姓名、薪给、佣金,呈现结果按工资从小到大,佣金从大到小。
  4. 列出单位编号为20的具备职位。
  5. 列出不属于SALES 的机关。
  6. 展示薪水不在一千 到1500
    之间的职员和工人新闻:名字、薪资,按薪金从大到小排序。
  7. 呈现职位为MANAGE奔驰G级和SALESMAN,年薪在15000 和三千0
    之间的职员和工人的音信:名字、职位、年薪。
  8. 表达以下两条SQL语句的出口结果:
    1. SELECT EMPNO,COMM FROM EMP WHERE COMM IS NULL;  
    2. SELECT EMPNO,COMM FROM EMP WHERE COMM = NULL; 
  9. 让SELECT 语句的出口结果为
    1. SELECT * FROM SALGRADE;  
    2. SELECT * FROM BONUS;  
    3. SELECT * FROM EMP;  
    4. SELECT * FROM DEPT;  
    5. ……

    列出当前用户有个别许张数据表,结果集中存在多少条记下。 

    列出当前用户有多少张数据表,结果集中存在多少条记下。 

  10.论断SELECT ENAME,SAL FROM EMP WHERE SAL >
‘1500’是还是不是报错,为何?

  10.判定SELECT ENAME,SAL FROM EMP WHERE SAL >
‘1500’是或不是报错,为啥?

 

 

 

 

答案:假设急需建表,可以看看那一个:http://www.cnblogs.com/yjxt/p/8193801.htm——第一篇

答案:要是必要建表,可以看看那些:http://www.cnblogs.com/yjxt/p/8193801.htm——第一篇

--1.列出至少有一个员工的所有部门。
select dname from dept where deptno in(select deptno from emp group by deptno having count(deptno)>=3); 

--2.列出薪金比“SMITH”多的所有员工。
select * from emp where sal>(select sal from emp where ename='SMITH');

--3.列出所有员工的姓名及其直接上级的姓名。
select a.ename,(select ename from emp b where b.empno=a.mgr) as boss_name from emp a;  

--4.列出受雇日期早于其直接上级的所有员工。
select a.ename from emp a where a.hiredate>(select hiredate from emp b where b.empno=a.mgr);

--5.列出部门名称和这些部门的员工信息,同时列出那些没有员工的部门(left join从左表那里返回所有的行,即使在右表中没有匹配的行。)
select a.dname,b.empno,b.ename,b.job,b.mgr,b.hiredate,b.sal,b.deptno from dept a left join emp b on a.deptno=b.deptno;

--6.列出所有“CLERK”(办事员)的姓名及其部门名称。(:as 是 alias 的缩写,是“别名”的意思,后面接中文需要用 "" 。)
select a.ename,(select dname from dept b where b.deptno=a.deptno) as dname from emp a where a.job='CLERK';
select a.ename,b.dname from emp a join dept b on a.deptno=b.deptno and a.job='CLERK';  

--7.列出最低薪金大于1500的各种工作。(distinct 筛选重复值)
select distinct job from emp group by job having min(sal)>1500;   

--8.列出在部门“SALES”(销售部)工作的员工的姓名,假定不知道销售部的部门编号。
select ename from emp where deptno=(select deptno from dept where dname='SALES');

--9.列出薪金高于公司平均薪金的所有员工。
select ename from emp where sal>(select avg(sal) from emp);

--10.列出与“SCOTT”从事相同工作的所有员工。
select ename from emp where job=(select job from emp where ename='SCOTT');

--11.列出薪金等于部门30中员工的薪金的所有员工的姓名和薪金。(in 操作符允许我们在where子句中规定多个值)
select ename,sal from emp where sal in(select sal from emp where deptno=30);

--12.列出薪金高于在部门30工作的所有员工的薪金的员工姓名和薪金。(max() 求最大值)
select ename,sal from emp where sal>(select max(sal) from emp where deptno=30);

--13.列出在每个部门工作的员工数量、平均工资和平均服务期限。(group by+[分组字段](可以有多个)用于结合合计函数,根据一个或多个列对结果集进行分组。)
select (select b.dname from dept b where b.deptno=a.deptno) 部门, count(deptno) 平均工资,avg(sal) 平均服务期限 from emp a group by deptno;

--14.列出所有员工的姓名、部门名称和工资。
select ename,(select b.dname from dept b where b.deptno= a.deptno) 部门,sal from emp a;

--15.列出所有部门的详细信息和部门人数。(count(列名)函数返回指定列的值的数目,返回的是一个数字)
select deptno, dname, loc,(select count(deptno) from emp b where b.deptno=a.deptno group by deptno) 部门人数 from dept a;

--16.列出各种工作的最低工资。( min(列名) 求最小值 ;max(列名) 求最大值 )
select job, min(sal+nvl(comm,0) from emp group by job;
select job, min(nvl2(comm,sal+comm,sal)) from emp group by job;

--17.列出各个部门的MANAGER(经理)的最低薪金。
select deptno,(select dname from dept b where b.deptno=a.deptno) 部门,min(sal) from emp a where job='MANAGER' group by deptno;

--18.列出所有员工的年工资,按年薪从低到高排序。( nvl(表达式,value):如果表达式计算结果为  null ,则返回 value)
select ename,(sal+nvl(comm,0))*12 as salpersal from emp order by salpersal;  
select ename,(nvl2(comm,sal+comm, sal))*12 as salpersal from emp order by salpersal;



------第二篇
--1. 找出EMP表中的姓名(ENAME)第三个字母是A 的员工姓名。(like 操作符用于在 where 子句中搜索列中的指定模式。 "%" 可用于定义通配符(模式中缺少的字母)。)
select ename from emp where ename like '__A%';

--2. 找出EMP表员工名字中含有A 和N的员工姓名。(and 并且 ; or 或者)
select ename from emp where ename like '%A%' and ename like '%N%'

--3. 找出所有有佣金的员工,列出姓名、工资、佣金,显示结果按工资从小到大,佣金从大到小。(order by 默认按照升序排序;order by 列名 desc 降序)
select ename,nvl2(comm,sal+comm,sal) as wage,comm from emp order by wage,comm desc;

--4. 列出部门编号为20的所有职位。(和第一篇的第七题类似)
select distinct job from emp where deptno=20;

--5. 列出不属于SALES 的部门。
--in和exists的区别:
--exists(相关子查询):存在,后面一般都是子查询,不返回列表的值,只是返回一个ture或false的结果
--in:包含,in()后面的子查询 是返回结果集的
select distinct * from dept where dname not in('SALES');
select distinct * from dept where exists(select dname from dept where dname='SALES');

--6. 显示工资不在1000 到1500 之间的员工信息:名字、工资,按工资从大到小排序。(between ... and 会选取介于两个值之间的数据范围。)
select ename,nvl2(comm,sal+comm,sal) as wage from emp where nvl2(sal,comm+comm,sal) not between 1000 and 1500 order by wage desc;
select ename,nvl2(comm,sal+comm,sal) as wage from emp where nvl2(sal,comm+comm,sal)<1000 or sal+comm>1500 order by wage desc;  

-- 7. 显示职位为 MANAGER 和 SALESMAN,年薪在15000 和20000 之间的员工的信息:名字、职位、年薪。
select ename 姓名,job 职位,(sal+nvl(comm,0))*12 年薪 from 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="" 都返回false。<br="">

--9.让SELECT 语句的输出结果为
-- SELECT * FROM SALGRADE;  
-- SELECT * FROM BONUS;  
-- SELECT * FROM EMP;  
-- SELECT * FROM DEPT;  
-- ……
--列出当前用户有多少张数据表,结果集中存在多少条记录。 
select * from user_tables;

--10.判断SELECT ENAME,SAL FROM EMP WHERE SAL > '1500'是否报错,为什么?
--答:不会抱错,这儿存在隐式数据类型的。
--1.列出至少有一个员工的所有部门。
select dname from dept where deptno in(select deptno from emp group by deptno having count(deptno)>=3); 

--2.列出薪金比“SMITH”多的所有员工。
select * from emp where sal>(select sal from emp where ename='SMITH');

--3.列出所有员工的姓名及其直接上级的姓名。
select a.ename,(select ename from emp b where b.empno=a.mgr) as boss_name from emp a;  

--4.列出受雇日期早于其直接上级的所有员工。
select a.ename from emp a where a.hiredate>(select hiredate from emp b where b.empno=a.mgr);

--5.列出部门名称和这些部门的员工信息,同时列出那些没有员工的部门(left join从左表那里返回所有的行,即使在右表中没有匹配的行。)
select a.dname,b.empno,b.ename,b.job,b.mgr,b.hiredate,b.sal,b.deptno from dept a left join emp b on a.deptno=b.deptno;

--6.列出所有“CLERK”(办事员)的姓名及其部门名称。(:as 是 alias 的缩写,是“别名”的意思,后面接中文需要用 "" 。)
select a.ename,(select dname from dept b where b.deptno=a.deptno) as dname from emp a where a.job='CLERK';
select a.ename,b.dname from emp a join dept b on a.deptno=b.deptno and a.job='CLERK';  

--7.列出最低薪金大于1500的各种工作。(distinct 筛选重复值)
select distinct job from emp group by job having min(sal)>1500;   

--8.列出在部门“SALES”(销售部)工作的员工的姓名,假定不知道销售部的部门编号。
select ename from emp where deptno=(select deptno from dept where dname='SALES');

--9.列出薪金高于公司平均薪金的所有员工。
select ename from emp where sal>(select avg(sal) from emp);

--10.列出与“SCOTT”从事相同工作的所有员工。
select ename from emp where job=(select job from emp where ename='SCOTT');

--11.列出薪金等于部门30中员工的薪金的所有员工的姓名和薪金。(in 操作符允许我们在where子句中规定多个值)
select ename,sal from emp where sal in(select sal from emp where deptno=30);

--12.列出薪金高于在部门30工作的所有员工的薪金的员工姓名和薪金。(max() 求最大值)
select ename,sal from emp where sal>(select max(sal) from emp where deptno=30);

--13.列出在每个部门工作的员工数量、平均工资和平均服务期限。(group by+[分组字段](可以有多个)用于结合合计函数,根据一个或多个列对结果集进行分组。)
select (select b.dname from dept b where b.deptno=a.deptno) 部门, count(deptno) 平均工资,avg(sal) 平均服务期限 from emp a group by deptno;

--14.列出所有员工的姓名、部门名称和工资。
select ename,(select b.dname from dept b where b.deptno= a.deptno) 部门,sal from emp a;

--15.列出所有部门的详细信息和部门人数。(count(列名)函数返回指定列的值的数目,返回的是一个数字)
select deptno, dname, loc,(select count(deptno) from emp b where b.deptno=a.deptno group by deptno) 部门人数 from dept a;

--16.列出各种工作的最低工资。( min(列名) 求最小值 ;max(列名) 求最大值 )
select job, min(sal+nvl(comm,0) from emp group by job;
select job, min(nvl2(comm,sal+comm,sal)) from emp group by job;

--17.列出各个部门的MANAGER(经理)的最低薪金。
select deptno,(select dname from dept b where b.deptno=a.deptno) 部门,min(sal) from emp a where job='MANAGER' group by deptno;

--18.列出所有员工的年工资,按年薪从低到高排序。( nvl(表达式,value):如果表达式计算结果为  null ,则返回 value)
select ename,(sal+nvl(comm,0))*12 as salpersal from emp order by salpersal;  
select ename,(nvl2(comm,sal+comm, sal))*12 as salpersal from emp order by salpersal;



------第二篇
--1. 找出EMP表中的姓名(ENAME)第三个字母是A 的员工姓名。(like 操作符用于在 where 子句中搜索列中的指定模式。 "%" 可用于定义通配符(模式中缺少的字母)。)
select ename from emp where ename like '__A%';

--2. 找出EMP表员工名字中含有A 和N的员工姓名。(and 并且 ; or 或者)
select ename from emp where ename like '%A%' and ename like '%N%'

--3. 找出所有有佣金的员工,列出姓名、工资、佣金,显示结果按工资从小到大,佣金从大到小。(order by 默认按照升序排序;order by 列名 desc 降序)
select ename,nvl2(comm,sal+comm,sal) as wage,comm from emp order by wage,comm desc;

--4. 列出部门编号为20的所有职位。(和第一篇的第七题类似)
select distinct job from emp where deptno=20;

--5. 列出不属于SALES 的部门。
--in和exists的区别:
--exists(相关子查询):存在,后面一般都是子查询,不返回列表的值,只是返回一个ture或false的结果
--in:包含,in()后面的子查询 是返回结果集的
select distinct * from dept where dname not in('SALES');
select distinct * from dept where exists(select dname from dept where dname='SALES');

--6. 显示工资不在1000 到1500 之间的员工信息:名字、工资,按工资从大到小排序。(between ... and 会选取介于两个值之间的数据范围。)
select ename,nvl2(comm,sal+comm,sal) as wage from emp where nvl2(sal,comm+comm,sal) not between 1000 and 1500 order by wage desc;
select ename,nvl2(comm,sal+comm,sal) as wage from emp where nvl2(sal,comm+comm,sal)<1000 or sal+comm>1500 order by wage desc;  

-- 7. 显示职位为 MANAGER 和 SALESMAN,年薪在15000 和20000 之间的员工的信息:名字、职位、年薪。
select ename 姓名,job 职位,(sal+nvl(comm,0))*12 年薪 from 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="" 都返回false。<br="">

--9.让SELECT 语句的输出结果为
-- SELECT * FROM SALGRADE;  
-- SELECT * FROM BONUS;  
-- SELECT * FROM EMP;  
-- SELECT * FROM DEPT;  
-- ……
--列出当前用户有多少张数据表,结果集中存在多少条记录。 
select * from user_tables;

--10.判断SELECT ENAME,SAL FROM EMP WHERE SAL > '1500'是否报错,为什么?
--答:不会抱错,这儿存在隐式数据类型的。

相关文章