oracle进阶最终章
oracle多表查询基础语法……绕,绕,绕,晕,晕,晕
今天的内容其实就是昨天的plus版内容了,昨天是单表查询而今天就开始复杂一些的多表查询了。语法内容不多但是容易绕圈圈,或者时不时的漏掉一些小细节或者语法分析不到位的地方,多表查询感触最多还是语文要学好啊,断字断句逐层分析语句、语法。其实内心是有点崩溃的啦,今天小错误也是不断了,对中文语句分析不够透彻(说出去怕是不好意思说自己是Chinese了)。
言归正传,记语法:
select c.字段1,c.字段2,....,d.字段n...
from c,d,e
where c.字段n=d.字段m and c.字段x=e.字段y and 其他单值过滤条件 ------c、d表中相同字段,d、e表中相同字段
group by
having
order by
/*
查询的思路:
1、分析题目涉及那些表;
2、如果数据来自多张表,就要使用多表查询:找到两个表中相同的字段用等于号连接起来,
并放在where字句后面;
3、如果需要对单条记录做过滤,就把过滤条件追加到where字句后面,用and连接起来;
4、如果需要对多组数据做统计,就要用到group by;
5、如果需要对分组之后的数据进行过滤,就要用到having;
6、如果需要对数据进行排序,就要用到order by。
*/
其他的子查询(嵌套查询)其实就是基于基本查询语法上,因某些记录无法直接获取使用需要透过子查询获取后才能调用了。
最后附带一则例题:巩固下多表查询+子查询的用法
例:查找出10号部门中与销售部门中任何职工工种相同的职工的信息。
select e., d.
from emp e, dept d
where e.deptno = d.deptno
and d.deptno = 10
and e.job in (select distinct job
from dept d, emp e
where d.deptno = e.deptno
and dname = ‘SALES’);
—–多表查询方式
*or*
select *
from emp
where deptno = 10
and job IN
(select job
from emp
where deptno = (select deptno from dept where dname = ‘SALES’));
——子查询方式
中文含义弯弯绕,分点断句解题需小心。切记,切记……oracle基础就学习到这了,明天又将开始学习新的内容了。加油!不要被绕晕,不要被绕晕……
另:昨天忘了补充一个语句的用法了—-时间的转换:to_date(’时间字符串’,’时间格式’)
上一篇: oracle MTS模式下防火墙如何开通
推荐阅读
-
企业网站制作最终章:网站备案
-
oracle进阶教程之connectby实例学习
-
读书笔记——《redis入门指南(第2版)》第四章 进阶——4.1-5
-
.NET进阶篇-语言章-2-Delegate委托、Event事件
-
第二章 如何利用Python读取Oracle表数据和表头转化为字典类型
-
oracle11g 最终版本11.2.0.4安装详细过程介绍
-
Python入门+进阶 第1章 Python入门导学(无论何时,只要开始就不晚)
-
Oracle 9i & 10g编程艺术-深入数据库体系结构——第一章 开发成功的Oracle应用程序(转)
-
Oracle 9i & 10g编程艺术-深入数据库体系结构——第一章 开发成功的Oracle应用程序(转)
-
爬虫学习之第四章爬虫进阶之多线程爬虫