1.--建立測試資料
2.create table a(id number);
3.create table b(id number);
4.insert into a values(1);
5.insert into a values(2);
6.insert into a values(3);
7.insert into b values(1);
8.insert into b values(2);
9.insert into b values(4);
10.commit;
11.
12.--左:
13.--主流資料庫通用的方法
14.select * from a left join b on a.id=b.id;
15.--oracle特有的方法
16.select * from a, b where a.id=b.id(+);
17.
18. id id
19.---------- ----------
20. 1 1
21. 2 2
22. 3
23.
24.
25.--右:
26.--主流資料庫通用的方法
27.select * from a right join b on a.id=b.id;
28.--oracle特有的方法
29.select * from a, b where a.id(+)=b.id;
30.
31. id id
32.---------- ----------
33. 1 1
34. 2 2
35. 4
36.
37.
38.--內
39.--主流資料庫通用的方法
40.select * from a join b on a.id=b.id;
41.--where關聯
42.select * from a, b where a.id=b.id;
43.
44. id id
45.---------- ----------
46. 1 1
47. 2 2
48.
49.
50.--全外
51.--主流資料庫通用的方法
52.select * from a full join b on a.id=b.id;
53.--oracle特有的方法
54.select *
55. from a, b
56. where a.id = b.id(+)
57.union
58.select *
59. from a, b
60. where a.id(+) = b.id;
61.
62. id id
63.---------- ----------
64. 1 1
65. 2 2
66. 3
67. 4
68.
69.
70.--完全,也叫交叉連線或者笛卡爾積
71.--主流資料庫通用的方法
72.select * from a,b;
73.--或者
74.select * from a cross join b;
75.
76. id id
77.---------- ----------
78. 1 1
79. 1 2
80. 1 4
81. 2 1
82. 2 2
83. 2 4
84. 3 1
85. 3 2
86. 3 4
87.
88.
89.連線無非是這幾個
90.--內連線和where相同
91.inner join
92.--左向外連線,返回左邊表所有符合條件的
93.left join
94.--右向外連線,返回右邊表所有符合條件的
95.right join
96.--完整外部連線,左向外連線和右向外連線的合集
97.full join
98.--交叉連線,也稱笛卡兒積。返回左表中的每一行與右表中所有行的組合
99.cross join
100.
101.
102.--補充:
103.--左向外連線,返回左邊表所有符合條件的,
104.--注意這裡沒有第二個加號,會直接過濾掉資料,只顯示符合條件的記錄
105.select *
106. from a, b
107. where a.id = b.id(+)
108. and b.id = 2;
109.
110. id id
111.---------- ----------
112. 2 2
113.
114.
115.--左向外連線,返回左邊表所有符合條件的
116.--注意where上第二個加號,它的作用是修改右邊表記錄的顯示,例如如果b.id(+) = 2,顯示為2,否則顯示null
117.select *
118. from a, b
119. where a.id = b.id(+)
120. and b.id(+) = 2;
121.
122. id id
123.---------- ----------
124. 2 2
125. 3
126. 1
Oracle左右全連線總結
建立測試資料 create table a id number create table b id number insert into a values 1 insert into a values 2 insert into a values 3 insert into b values 1 i...
Oracle左右全連線總結
建立測試資料 create table a id number create table b id number insert into a values 1 insert into a values 2 insert into a values 3 insert into b values 1 i...
Oracle左右全連線總結
建立測試資料 create table a id number create table b id number insert into a values 1 insert into a values 2 insert into a values 3 insert into b values 1 i...