重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
1 这个是表与表关联 创建视图
创新互联建站专业为企业提供商南网站建设、商南做网站、商南网站设计、商南网站制作等企业网站建设、网页设计与制作、商南企业网站模板建站服务,十多年商南做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
2 表与视图关联创建新的视图
创建视图 使用group by 计算出每一个人销售总额
表与视图关联创建新的视图
oracle中在WHERE条件里写输入:
select * from usermenu
left join sysuser on sysuser.yhdh=usermenu.yhdh
left join program on program.cxdh=usermenu.cxdh
即可关联起来。
关联也分为好几种:
SELECT * FROM TABLE1 A,TABLE2 B,TABLE3 C WHERE A.FIELD_KEY=B.FIELD_KEY AND B.FIELD_KEY=C.FIELD_KEY (正常关联)
SELECT * FROM TABLE1 A,TABLE2 B,TABLE3 C WHERE A.FIELD_KEY=B.FIELD_KEY(+) AND B.FIELD_KEY=C.FIELD_KEY(+) (左关联)
SELECT * FROM TABLE1 A,TABLE2 B,TABLE3 C WHERE A.FIELD_KEY(+)=B.FIELD_KEY AND B.FIELD_KEY(+)=C.FIELD_KEY (右关联)
要把Oracle将三张表关联起来时可以使用Oracle Database的指令,也就是Oracle数据库的指令将其关联。
create public batabase link a_to_b\x0d\x0aconnect to (被操作表所在库的用户名) identified by (被操作表所在库的密码)\x0d\x0ausing ‘(被操作表所属实例名)’;\x0d\x0a然后在操作实例中进行测试:\x0d\x0aselect 1 from dual@a_to_b;\x0d\x0a如果有正确结果 那么你就建立了一个dblink了。\x0d\x0a \x0d\x0a这个时候就可以 跨库查询了。
有两种办法:
第一种方法是通过外键:
假设有两张表,
A表(AId,AName) B(BId,BName)表 ,要想把这两者关联起来的话。可以通过外键来关联,在B表或者A表中添加一个外键。这里就以B表把B(BId,AId(外键),BName),这样通过外键两张表就可以联系起来了,例如我们在查询的时候通过AId就可以关联查询两张表的数据了。
第二种方法就是增加一张表:
还是拿A表(AId,AName) B(BId,BName)表来举例把,
我们可以增加个C表来联系AB表之间的关系
C表中只要放AB表的主键就行了
C(AId,BId),这样我们就可以通过C表来关联AB表了。
呵呵
例如下面这两个表中分别存的时员工的基本信息和公司的部门信息。我们为
create table dept
(deptno number(10) not null,
deptname varchar2(30) not null,
constraint pk_dept primary key(deptno));
和
create table emp
( empno number(10) not null,
fname varchar2(20) ,
lname varchar2(20) ,
dept number(10) ,
constraint pk_emp primary key(empno));
然后我们现在增加外键试一下on delete cascade
alter table emp
add constraint fk_emp_dept foreign key(dept) references dept(deptno) on delete cascade;
先增加外键。然后插入数据。
insert into dept values(1,’销售部’);
insert into dept values(2,’财务部’);
insert into emp values (2,’Mary’,'Song’,1);
insert into emp values (3,’Linda’,'Liu’,2);
insert into emp values (4,’Linlin’,'Zhang’,1);
然后现在我要删除销售部,会有什么后果呢?
delete from dept where deptno = 1;
我们发现除了dept中的一条数据被删除了,emp中两条数据也被删除了,其中emp中的两条数据是参照了销售部的这条数据的,这就很容易理解on delete cascade了。
1、在使用where进行查询的时候,对于查询条件中的字段要指定归属表或者表别名。如下图。
2、如果改为using进行查询的话那就不用指定表别名,using关键字的使用规则就是等值连接而且连接的字段名称和字段类型必须要一致。
3、如果在使用了using关键字进行查询的时候如果添加了表的别名或者是表名,则直接会报如下错误,对于using关键字指定的列名 在查询中是不能使用表名或者表别名的。
4、并且还有一点需要注意的是using后只能接字段名不能使用 大于 等于 小于等符号进行比对。