--內連線即普通等值連線
select
e.ename, e.job, e.sal, d.dname
from
emp e
inner
join
dept d
on e.deptno =
d.deptno
where e.sal >
2000
;select e.ename ,e.job, e.sal ,d.dname from emp e,dept d where e.deptno = d.deptno and e.sal >
2000;--
外連線驗證之前,先往dept表中插入一些資訊
--表操作基於oracle中scott使用者下emp,dept表。由於deptno是emp的外來鍵,
--所有左外連線查詢不明顯,但外連線、右外連線查詢結果明顯
insert
into
dept (deptno, dname, loc)
values (60, '
研發部', '
beijing');
insert
into
dept (deptno, dname, loc)
values (80, '
培訓部', '
beijing');
insert
into
dept (deptno, dname, loc)
values (70, '
公關部', '
beijing');
commit
;select
e.ename, e.job, e.sal, d.dname
from
emp e, dept d
where e.deptno (+)=
d.deptno; --
左外連線:left outer join 或 left join
select
e.ename,e.job,e.sal,d.dname
from emp e left
outer
join dept d on d.deptno =
e.deptno ;
select
e.ename,e.job,e.sal,d.dname
from emp e left
join dept d on d.deptno =
e.deptno ;
----此為oracle左外連線自帶語法
select
e.ename,e.job,e.sal,d.dname
from
emp e ,dept d
where d.deptno (+)=
e.deptno ; --
右外連線:right outer join 或 right join
select
e.ename,e.job,e.sal,d.dname
from emp e right
outer
join dept d on d.deptno =
e.deptno ;
select
e.ename,e.job,e.sal,d.dname
from emp e right
join dept d on d.deptno =
e.deptno ;
----此為oracle右外連線自帶語法
select
e.ename,e.job,e.sal,d.dname
from
emp e ,dept d
where d.deptno = e.deptno(+
) ;--
外連線:full outer join 或 full join
select
e.ename,e.job,e.sal,d.dname
from emp e full
outer
join dept d on d.deptno =
e.deptno ;
select
e.ename,e.job,e.sal,d.dname
from emp e full
join dept d on d.deptno =
e.deptno ;
/*三個表做左外連線
select *
from testa
left outer join testb
on testa.a=testb.a
left outer join testc
on testa.a=testc.a
*/
左連線 左外連線 右外連線
在之前,我對mssql中的內連線和外連線所得出的資料集不是很清楚。這幾天重新溫習了一下sql的書本,現在的思路應該是很清楚了,現在把自己的理解發出來給大家溫習下。希望和我一樣對sql的連線語句不太理解的朋友能夠有所幫助。發這麼菜的教程,各位大大們別笑話偶了,呵 d 有兩個表a和表b。表a結構如下 a...
自然連線,外連線,左外連線,右外連線
1.自然連線 結果基於表r和s的笛卡爾乘積,取對應的r和s中相同屬性組都相同的值,同時相同屬性組只保留乙個 先來看圖示,2個表以及自然連線的結果 操作的步驟 1.1找出2個表中相同的屬性組 屬性a加上屬性b 1.2找相同屬性組中,相同的屬性值所對應的元組 相同的屬性值 1.2.相同屬性值對應的元組 ...
左外連線 右外連線 全連線
例子 create table t1 c1 int primary key,c2 int create table t2 cc1 int primary key,cc2 int insert into t1 values 1,1 2,2 5,5 insert into t2 values 2,2 3...