oracle习题-emp表查询练习】的更多相关文章

emp表查询练习 1 查询emp表的全部记录 Select * from emp; 2 查询出每个雇员的编号.姓名.基本工资 Select empno,ename,sal from emp; 3 查询出每个雇员的职位并消除重复行 Select distinct job from emp; 4 查询出每个雇员的姓名.职位 Select ename,job from emp; 5 要求显示每一个雇员的姓名.职位.基本年薪,并将年薪命名为income as income from emp; 6 由于公…
Oracle笔记  多表查询   本次预计讲解的知识点 1. 多表查询的操作.限制.笛卡尔积的问题: 2. 统计函数及分组统计的操作: 3. 子查询的操作,并且结合限定查询.数据排序.多表查询.统计查询一起完成各个复杂查询的操作: 一.多表查询的基本概念 在之前所使用的查询操作之中,都是从一张表之中查询出所需要的内容,那么如果现在一个查询语句需要显示多张表的数据,则就必须应用到多表查询的操作,而多表查询的语法如下: SELECT [DISTINCT] * | 字段 [别名] [,字段 [别名]…
(1)截取函数--TRUNC() 的用法 SELECT  TRUNC(789.652) 截取小数, TRUNC(789.652,2) 截取两位小数, TRUNC(789.652,-2) 取整 FROM dual ; (2)查询雇员编号,雇员姓名,雇佣日期: 没有使用截取函数TRUNC(): SELECT empno 雇员编号,ename 雇员姓名,hiredate 雇佣日期 , (MONTHS_BETWEEN(sysdate,hiredate)) 雇佣总月数, (MONTHS_BETWEEN(s…
记得自己要敲o~~~ select * from bonus; select * from salgrade; from dual; --笛卡尔积:两张表的乘积 select * from emp,dept; select * from emp e1,dept d1 where e1.deptno =d1.deptno; /* 内联接: 隐式内联接: 不等值内联接:where e1.deptno <> d1.deptno 自联接:自己连接自己 等值内联接: where e1.deptno =…
/* 以下代码是对emp表进行显示宽度设置*/ col empno for 9999;col ename for a10;col job for a10;col mgr for 9999;col hiredate for a12;col sal for 999999;col comm for 9999;col deptno for 99;col tname for a12;set pagesize 50; --创建新表xxx_emp,复制emp表中的数据,同时复制emp表的所有数据create…
多表查询概念: 所谓多表查询,又称表联合查询,即一条语句涉及到的表有多张,数据通过特定的连接进行联合显示. 基本语法: select column_name,.... from table1,table2 条件.... select dept_id,name from s_emp,s_dept s_emp s_dept last_name   dept_id id      name zhangsan 41 41      est lisi           42 42     develop…
SQL多表查询 1.集合理论 1.1 什么是集合 具有某种特定性质的事物的总体. 集合的特性:无序性.互异性.确定性. 一个集合可以小到从一个表中取出一行中的一列.              1 rows 1 cols 也可以不返回任何行--空集                      0 rows n cols 也可以有多个列,这些列可以是从多个表中取出的多行信息.  m rows n cols 结果集中的每一行就是这个集合的一个元素. 1.2集合运算 1)交 用来得到两个或多个不同集合的共…
--合并结果集 --1.union all UNION ALL--单纯合并 ; --2.union UNION --将重复结果集合并 ; --------------使用命令窗口执行,查看union与or的执行计划 SQL> alter session set "_b_tree_bitmap_plans" = FALSE; SQL or ename='SCOTT'; SQL> select * from table(dbms_xplan.display); SQL UNIO…
--查询出当前用户下的所有表 select table_name from user_tables; --执行顺序原则:  from  where group by  having   select   order by --书写顺序原则:  select   from  where  group by  having order by select * from dept; select * from emp; select * from bonus; select * from salgra…
-多表查询 1.交叉连接 select * from t_class for update; select * from t_student for update; select for update 是为了在查询时,避免其他用户以该表进行插入,修改或删除等操作,造成表的不一致性. 查询学生信息及对应的班级信息 select t1.*,t2.* from t_student t1,t_class t2 --交叉连接获取的结果是一个笛卡尔乘积 --也就是表1中的数据都要和表2中的每条数据连接一次…