码迷,mamicode.com
首页 > 数据库 > 详细

数据库连接查询

时间:2015-03-17 12:09:34      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:

--部门表

createtable department(idnumberprimarykey,namevarchar2(30));

--员工表

createtable employee( idnumberprimarykey, namevarchar2(30)notnull,  salary number(6,2),  title varchar2(30),  manager number,  deptidnumber);

--插入数据

insertinto department values(1,‘人力资源‘);

insertinto department values(2,‘开发中心‘);

insertinto department values(3,‘总裁室‘);

insertinto department values(4,‘运维中心‘);

insertinto employee values(4,‘赵六‘,9000,‘项目经理‘,null,2);

insertinto employee values(3,‘王五‘,7000,‘项目组长‘,4,2);

insertinto employee values(1,‘张三‘,6000,‘程序员‘,3,2);

insertinto employee values(2,‘李四‘,7000,‘HR‘,4,1);

droptable department;

droptable employee;

  • 内连接(自然连接) join(inner join) on   

  1.笛卡尔集中满足on条件的记录,当没有限制on条件时,为两个表的笛卡尔集

  2.和自然连接类似,使用where限制

  3.只有满足限制条件的记录才会返回到结果集中

select * from employee,department ; --也是内连接的一种形式

select * from employee inner join department on 1=1; 

技术分享

--上两sql等价

select * from employee e,department d where e.deptid=d.id;

select * from employee e join department d on e.deptid=d.id;

--上两sql等价

技术分享自连接

1.同一个表当两个不同的两个表,两个表做连接。2.一般表的两个字段间有上下级关系

2.内连接的特殊形式

查找员工的上级 (查不出没有上级的人物)

select s1.id,s1.name,s2.name as manager from employee s1,employee s2 where (s1.manager=s2.id);

技术分享

  • 外连接 (左、右、全连接) 
    • 左连接

left join(left out join)

1.在右表中没有满足on的限制条件的记录也返回的结果集,即会返回左表的所有行。

技术分享

  • 右连接

right join(right out join)

1.在左表中没有满足on的限制条件的记录也返回的结果集,即会返回右表的所有行。

技术分享

    • 全连接

full join (full out join)

1.在左表中和右表中没有满足限制条件的记录都返回到结果集中

select * from employee e full join department d on e.deptid=d.id;

技术分享

  • 交叉连接

1.没有where条件,返回两个表的笛卡儿积

2.等价于没有限制条件的内连接

select * from employee e cross join department ;

select * from employee,department ;

select * from employee inner join department on 1=1;

上面三条等价

技术分享

select * from employee e cross join department d where e.deptid=d.id;

select * from employee e,department d where e.deptid=d.id ;

select * from employee e inner join department d on e.deptid=d.id ;

上面三条等价

技术分享

数据库连接查询

标签:

原文地址:http://www.cnblogs.com/lion88/p/4343950.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!