关联查询解决办法
发布时间:2010-05-20 14:01:29 文章来源:www.iduyao.cn 采编人员:星星草
关联查询
什么是关联查询,大侠们能不能举个例子,并把具体的代码格式写出来。
------解决方案--------------------
关联查询多张表,而表与表之间是有联系的,是通过字段中的数据的内在联系来发生,而不是靠相同的字段名来联系的或者是否有主外键的联系是没有关系的,
select dname,ename from emp,dept;
笛卡尔积 (无意义的)
--当2个表作关联查询的时候一定要写关联的条件
--N个表 关联条件一定有N-1个
select dname,ename from mydept,myemp
where mydept.no = myemp.deptno;
多表查询的时候一定要有关联的条件
--使用的表的全名
select dname,ename from emp,dept
where emp.deptno = dept.deptno ;
--等值连接(内连接-两个表的数据作匹配a.deptno = b.deptno )
select dname,ename,a.deptno from
emp a inner join dept b
on a.deptno = b.deptno;
where a.deptno = 10;
--on写连接条件的
--where中写别的条件
--使用where/on
select dname,ename,a.deptno from emp a,dept b
where a.deptno = b.deptno and a.deptno=10;
--on中写连接条件
--where中写其他的条件
select dname,ename,a.deptno from
emp a inner join dept b
on a.deptno = b.deptno
where a.deptno = 10 ;
--外连接
左外连接 右外连接 全外连接
(+)写法只有在ORACLE中有效
select dname,ename,b.deptno
from emp a,dept b
where a.deptno(+) = b.deptno;
--标准写法
select dname,ename,b.deptno
from emp a right outer join dept b
on a.deptno = b.deptno;
select dname,ename,b.deptno
from emp a,dept b
where a.deptno = b.deptno(+);
--标准写法
select dname,ename,b.deptno
from emp a left outer join dept b
on a.deptno = b.deptno;
--标准写法(全外联)
select dname,ename,b.deptno
from emp a full outer join dept b
on a.deptno = b.deptno;
例1:
--Oracle 查看一个表对应的主键和外键的约束关系,查看的语句:
select a.owner, --主键拥有者
a.table_name, --主键表
b.column_name, --主键列
c.OWNER, --外键拥有者
c.table_name, --外键表
d.column_name --外键列
from user_constraints a
left join user_cons_columns b
on a.constraint_name=b.constraint_name
left join user_constraints c
on c.R_CONSTRAINT_NAME=a.constraint_name
left join user_cons_columns d
on c.constraint_name=d.constraint_name
where a.constraint_type='P'
and a.table_name='C_STORE' --需要查看主外键关系的表
order by a.table_name;
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
paper ocp,明天去复试,oracle还能捡起来吗?
想起了上次面试的某些细节:
技术主管问我:你对集群怎么看?
我说:集群就是节点的集合,将海量...
-
高分寻 oracle 锁机制 并行插入表数据数量的控制方法?
要求原因:团购活动,很火爆,很多进程同时团购。如何在数据库级别加锁或触发器动...
-
辞职,散分,收祝福!!
辞去了原来的开发工作,本来浑浑噩噩的活着,但是现在才知道有目标的人是多么快乐。虽然为原公司扣工资的事情感到伤...
-
Solaris上已经安装了Oracle,版本10.2.0.1供大家学习使用。(现已迁移为RAC环境)
Solaris上已经安装了Oracle,版本10.2.0.1供大家学习...
-
长沙Oracle DBA行情怎么样?
三年数据库开发,两年DBA在长沙能混到多少两银子一月?
各位有知道的说下,不知道的帮忙顶下
------解...
-
有谁能帮我看看这段程序有什么问题
<?php
require($_SERVER["DOCUMENT_ROOT"].'/php/lib/DB.class.php');
session_start()...
-
生星散分!
生星散分!
------解决方案--------------------
大牛丫,我才俩三角
------解决方案--------------------
坚持就是胜利...
-
oracle 技术QQ群:14840532,欢迎交流
欢迎交流
------解决方案--------------------
jf.......................
------解决方案--...
-
新人的IT之路为什么这么难走走,求哥哥姐姐指点迷津。
哥哥姐姐好,我是一名热爱IT职业的新人,10年大学毕业。 大学的时候就特别喜欢IT...
-
oracle版本,我想买本书
请问现在oracle哪个版本用的比较多?我想买本oracle的书看看,不知道买哪个版本好。
------解决方案---------...