建表語句: create table EMPLOYEE
一,、內(nèi)連接inner join,,這是我們經(jīng)常用的查詢方式,,比如select * from A inner join B on A.field1=B.field2,個(gè)人認(rèn)為,,這樣的內(nèi)連接查詢與下面的查詢等效,,select * from A,B where A.field1=B.field2,內(nèi)連接查詢只能查詢出匹配的記錄,,匹配不上的記錄時(shí)無法查詢出來的 ,。 select * from dept inner join employee on dept.deptid=employee.deptid
select * from dept , employee where dept.deptid=employee.deptid
二、外連接outer join,,可進(jìn)一步分為左外連接left outer join和右外連接right outer join,,具體說一下左外連接和右外連接查詢的特點(diǎn),有2個(gè)表,,部門表和職工表,,一個(gè)部門下可以有多個(gè)職工,一個(gè)職工只能對應(yīng)一個(gè)部門,,所以部門和職工時(shí)1對多的關(guān)系,,設(shè)計(jì)表如下
select * from dept left outer join employee on dept.deptid=employee.deptid
比如現(xiàn)在有需求2,,要進(jìn)行部門表和職工表的關(guān)聯(lián)查詢,,并要查詢出所有的職工信息,這時(shí)候,,下面的右連接查詢就能夠查詢出想要的結(jié)果,,右連接就是以right join后面的表為主表,即使有些記錄關(guān)聯(lián)不上,,主表的信息能夠查詢出來 select * from dept right outer join employee on dept.deptid=employee.deptid
select * from dept ,employee where dept.deptid=employee.deptid(+) 總之,外連接就是在關(guān)聯(lián)不上的時(shí)候,,把其中的部分信息查詢出來
select * from dept full join employee on dept.deptid=employee.deptid
|
|