【Oracle中from中子查询实例应用】教程文章相关的互联网学习教程文章

Oracle系列:(14)子查询【代码】【图】

第一:查询部门名为‘ACCOUNTING‘或‘SALES‘的部门编号? select deptno from dept where dname in (‘ACCOUNTING‘,‘SALES‘);第二:查询部门号为10或30号的员工信息? select * from emp where deptno in (10,30);子查询:select * from emp where deptno in ( select deptno from dept where dname in (‘ACCOUNTING‘,‘SALES‘) );查询工资比20号部门【任意any】一个员工工资【低<】的员工信息(多...

Oracle基本语法&amp;&amp;函数&amp;&amp;子查询&amp;&amp;分页查询&amp;&amp;排序&amp;&amp;集合操作&amp;&amp;高级分组函数

创建表 CREATE TABLE employee( idNUMBER(4), name VARCHAR2(20), gender CHAR(1), birth DATE, salary NUMBER(6,2), jobVARCHAR2(30), deptno NUMBER(2) ); --查看表结构 DESC employee; --删除表 DROP TABLE employee; 数据库中字面量数字不需要用单引号,但是字符串需要单引号没有双引号 NOT NULL 和 DEFAULT 不能同时使用,DEFAULT不给值得时候才会赋值,给值的时候就用给的值 --设置非空和初始属性 CREATE TAB...

Oracle子查询

select * from teacher --招生部门所有男老师姓名--teacher表中有 招生部吗 ? 有的是编号!--01.查询 招生部对应的编号select dname,deptno from dept where dname=‘招生部‘--02.那么只要是部门编号是20的 就是招生部select tname,deptnofrom teacherwhere deptno=(select deptno from dept where dname=‘招生部‘) --所有老师姓名、部门--怎么把deptno转换成dnameselect tname,deptno from teacherselect dname from dept-...

oracle(sql)基础篇系列(二)&mdash;&mdash;多表连接查询、子查询、视图

多表连接查询 内连接(inner join) 目的:将多张表中能通过链接谓词或者链接运算符连接起来的数据查询出来。 等值连接(join...on(...=...)) --选出雇员的名字和雇员所在的部门名字 --(1)必须明确的指出重复字段属于哪个表 select ename,dname dept.deptno from emp,dept where emp.deptno = dept.deptno; --(2)新语法:join...on(...=...) select ename, dname from emp join dept on ( emp.deptno = dept.deptn...

Oracle 字符集小结(遇到一例子:查询结果列标题为汉字,但是显示为‘?&#39;)

问题处理方式: 查询:select userenv(‘language‘) from dual; 对比电脑环境变量NLS_LANG的值与查询结果是否一致,如果不一致,修改电脑环境变量NLS_LANG 问题解决后通过查询资料对会话字符做了一些总结: 字符集分可为三类: 1、数据库服务器字符集; SELECT * FROM NLS_DATABASE_PARAMETERS NLS_DATABASE_PARAMETERS其来源于props$,是表示数据库的字符集。 2、客户端字符集环境 SELECT * FROM V$NLS_PARAMETERS; SELECT USERE...

Oracle with重用子查询

--with 重用子查询对于多次使用相同子查询的复杂查询语句来说,用户可能会将查询语句分成两条语句执行。第一条语句将子查询结果存放到临时表,第二条查询语句使用临时表处理数据。从 Oracle 9i 开始,通过 with 子句可以给予子查询指定一个名称,并且使得在一条语句中可以完成所有任务,从而避免了使用临时表。 SCOTT@ test10g> with summary as ( 2 select dname, sum(sal) dept_total from emp, dept 3 where emp.deptno=dep...

Oracle-子查询

1. 比black工资高的雇员有哪些?select ename from empwhere sal>(select sal from emp where ename=‘BLAKE‘);2. 高于30部门最高工资的雇员有哪些?select ename,sal from empwhere sal>(select max(sal) from emp where deptno=30);select ename,sal from empwhere sal > all (select sal from emp where deptno=10); --任何3. 当all后面接子查询的时候"x = ALL (...)": The value must match all the values in the list to ev...

Oracle---SQL子查询---详解【代码】

子查询其实就是指嵌入到其他语句中的select语句,也称其为嵌套查询。 值得注意的在DDL语句中应用子查询的时候子查询可以使用order by 子句。 但是在DML语句中的where子句,set子句中,子查询是不能使用order by子句的。简单例子:查询工作和SMITH一样的所有员工的信息(不包含SMITH)select ename ,sal from emp e where job =(select job from emp where ename = ‘SMITH‘)and e.ename <> ‘SMITH‘;子查询分类单行子查询只返回一条...

Oracle03--子查询【代码】【图】

(内查询、嵌套子句) 在主查询之前一次执行完成。(子查询先执行) l 子查询的结果被主查询使用 (外查询)。 l 子查询要包含在括号内。 l 将子查询放在比较条件的右侧。 1.2. 为什么要使用子查询? 【需求】谁的工资比scott高? 采用连接的方式写(这里是自连接,见下图):--【需求】谁的工资比scott高? --多表关联查询:自连接的不等值连接 SELECT * FROM emp t1,emp t2 WHERE t2.ename=‘SCOTT‘ AND t1.sal>t2.sal 采用子查询的...

java:Oracle(级联删除,左右内外交叉自然连接,子查询,all,any,in)

-- 级联删除:裁员,公司倒闭  -- 级联删除(cascade),设置为null(setnull),放任不管(No action) -- cascade:(以一对多为例)如果删除多的一方,一的一方不受任何影响,但是如果删除一的一方,多的一方所有对应数据全部被删除   select * from staff s inner join department d on d.id = s.department_id;   delete from staff s where s.id = 1;   delete from department d where d.id = 2;   -- set null:如...

Oracle SQL1-子查询改为表连接【代码】

table emp (empno varchar2(10),ename varchar2(10),sal varchar2(10),deptno varchar2(10)); commit; insert into EMP (EMPNO, ENAME, SAL, DEPTNO) values (‘E01‘, ‘NE01‘, ‘1000‘, ‘D01‘); insert into EMP (EMPNO, ENAME, SAL, DEPTNO) values (‘E02‘, ‘NE02‘, ‘2000‘, ‘D01‘); insert into EMP (EMPNO, ENAME, SAL, DEPTNO) values (‘E03‘, ‘NE03‘, ‘3000‘, ‘D01‘); insert into EMP (EMPNO, ENAME, ...

oracle子查询【代码】

作者:小峰91 子查询:当一个查询的结果时另一个查询的条件时,即嵌入在其它SQL语句中的select语句,也成为嵌套查询。 子查询可以返回单行结果,可以返回多行结果,也可以不返回结果 使用子查询注意事项: 1、子查询可以嵌套多层 2、子查询需要圆括号()括起来 3、当在DDL语句中引用子查询时,可以带有order by语句,但当在where子句中,set子句中引用子查询时,不能带有order by语句 根据查询的结果(内部嵌套查询的结果)把...

oracle多表查询和子查询练习

--1.列出至少有三个员工的所有部门和部门信息。 SELECT D.DEPTNO, D.DNAME, D.LOC, T.COUNTS FROM DEPT D, (SELECT DEPTNO, COUNT(*) COUNTS FROM EMP GROUP BY DEPTNO) T WHERE D.DEPTNO = T.DEPTNO AND T.COUNTS >= 3; --2.列出受雇日期早于直接上级的所有员工的编号,姓名,部门名称 SELECT E.EMPNO, E.ENAME, D.DNAME FROM EMP E, EMP M, DEPT D WHERE E.MGR = M.EMPNO AND E.HIREDATE < M.HIREDATE AND E.DE...

Oracle-3 - :超级适合初学者的入门级笔--用户权限,set运算符,高级子查询【图】

上一篇的内容在这里 第二篇内容, 用户权限:创建用户,创建角色,使用grant 和 revoke 语句赋予和回收权限,创建数据库联接   创建用户:create user xxx identified by pass: xxx为 新创建用户的用户名,pass 为密码在这里强调的是 oracle 12c版本 必须创建用户以C##开头,也可以更改,详见百度 ,哈哈 但是新创建的用户并没有create session 权限,见图,登陆被拒绝授予用户权限 :grant 权限 to 用户由于他没有create...

oracle学习之多表查询,子查询以及事务处理【代码】【图】

自连接,比如查询员工信息,显示为:xxx‘s boss is yyy 解题思路:emp看成2张表,一张员工表,一张老板表 连接条件:员工表的老板(mgr)是老板表的员工(empno)select e.name||‘‘‘s boss is ‘||nvl(b.ename,‘his wife!‘)from emp e,emp bwhere e.mgr = b.empno(+)(+)原因在于缺少老板,而使用nvl函数,则是已经是最大的官了 自连接的弊端:即笛卡尔集是平方的增长,大表的时候效率比较低 自连接的使用场景:数据都在同一表...