a inner join:返回所有符合條件的行,不包含不一致的行。
a.1 natural join:要求有同名同資料型別的列名,在使用的時候不能運用表的別名,可以連線多個表。
select * from table_a natural join table_b;
a.2 join using:有同名但資料型別不一致的列名,可將列名加在
using
後。也不能使用表的別名。
select * from table_a join table_b using(column_1,column_2);
a.3 join on
:可以不同列名不同資料型別,可以使用表的別名。
select * from table_a ta join table_b tb on ta.column_1=tb.column_2; 等同
select * from table_a ta join table_b tb where ta.column_1=tb.column_2;
a.4 cross join:進行笛卡兒集的計算,表a有
n行,表b有
m行,結果返回m×
n行。select * from table_a cross join table_b; 等同
select * from table_a ,table_b;
b outer join
:返回所有符合條件的行,包含不一致的行。
b.1 left outer join
:將
join
左邊不符合條件的行也一起查詢出來。
select * from table_a left join table_b using(column_1);
select * from table_a ta left outer join table_b tb on ta.column_1=tb.column_2; 等同
select * from table_a ta ,table_b tb where ta.colume_1(+)=tb.cloumn_2;
b.2 right outer join
:將
join
右邊不符合條件的行也一起查詢出來。
select * from table_a right join table_b using(column_1);
select * from table_a ta right outer join table_b tb on ta.column_1=tb.column_2; 等同
select * from table_a ta ,table_b tb where ta.colume_1=tb.cloumn_2(+);
b.3 full outer join
:將
join
兩邊不符合條件的行也一起查詢出來。
select * from table_a ta full outer join table_b tb on ta.column_1=tb.column_2; 等同
select * from table_a ta ,table_b tb where ta.colume_1(+)=tb.cloumn_2 union select * from table_a ta ,table_b tb where ta.colume_1=tb.cloumn_2(+);
c other join:
c.1 self-join
:表自己做連線,由於需要寫
2個表的別名,因此不能用
natural join
和join using。
select ta.* from table_a ta inner join table_a tb on ta.column_1=tb.cloumn_2; 等同
select ta.* from table_a ta, join table_a tb where ta.column_1=tb.cloumn_2;
Sql 基礎語法join以及多張表join
sql join 用於根據兩個或多個表中的列之間的關係,從這些表中查詢資料。有時為了得到完整的結果,我們需要從兩個或更多的表中獲取結果。我們就需要執行 join。資料庫中的錶可通過鍵將彼此聯絡起來。主鍵 primary key 是乙個列,在這個列中的每一行的值都是唯一的。在表中,每個主鍵的值都是唯一...
Sql語法之join表連線說明
sql語法之join表連線說明 左連線 右連線 內連線我們可以看成是在全連線的基礎上過濾條件,這樣比較容易理解 語法 select from a join b 查詢結果 a表資料條數 b表資料條數 查詢總條數 語法 select from a inner join b on a.id b.id 簡化...
ABAP新語法 ABAP去空格(JOIN時 )
注意 ltrim rtrim 在其他語言是去空,這裡可以去空格,還可去a 去b 因此要多乙個引數告訴去什麼 另外 replace bseg zuonr a b 語法也可用,把a替換成b 問題是 b不能用空白 select bseg sgtxt 票據號ztfi005 zpjdh ztfi005 zpj...