參考:
[test@ora1
]sql
>
select
*from a;
編號 姓名
1000 張三
2000 李四
3000 王五
[test@ora1
]sql
>
select
*from b;
編號 商品
1000 電視機
2000 錄影機
4000 自行車
[test@ora1
]sql
>
select a.
*,b.
*from a cross
join b;
編號 姓名 編號 商品
1000 張三 1000 電視機
1000 張三 2000 錄影機
1000 張三 4000 自行車
2000 李四 1000 電視機
2000 李四 2000 錄影機
2000 李四 4000 自行車
3000 王五 1000 電視機
3000 王五 2000 錄影機
3000 王五 4000 自行車
注釋:
cross join 就是笛卡爾積 ( 等價 join 或 inner join 沒有寫 on 條件 ),
cross join 理論上也不支援 on 語法;
[test@ora1
]sql
>
select a.
*,b.
*from a join b on a.編號=b.編號;
編號 姓名 編號 商品
1000 張三 1000 電視機
2000 李四 2000 錄影機
[test@ora1
]sql
>
select a.
*,b.
*from a inner
join b on a.編號=b.編號;
編號 姓名 編號 商品
1000 張三 1000 電視機
2000 李四 2000 錄影機
注釋:
join 等價於 inner join, 與 cross join 區別就是存在 on 條件
[test@ora1
]sql
>
select a.
*,b.
*from a left
join b on a.編號=b.編號;
編號 姓名 編號 商品
1000 張三 1000 電視機
2000 李四 2000 錄影機
3000 王五 空值 空值
[test@ora1
]sql
>
select a.
*,b.
*from a right
join b on a.編號=b.編號;
編號 姓名 編號 商品
1000 張三 1000 電視機
2000 李四 2000 錄影機
空值 空值 4000 自行車
[test@ora1
]sql
>
select a.
*,b.
*from a full
join b on a.編號=b.編號;
編號 姓名 編號 商品
1000 張三 1000 電視機
2000 李四 2000 錄影機
3000 王五 空值 空值
空值 空值 4000 自行車
SQL 的各種 join 用法
下圖展示了 left join right join inner join outer join 相關的 7 種用法。具體分解如下 1 inner join 內連線 2 left join 左連線 select from table a a left join table b b on a.key ...
sql的各種join連線
1 select from tablea inner join tableb 2 on tablea.name tableb.name 3id name id name 4 51 pirate 2 pirate 63 ninja 4 ninja78 9inner join 10產生的結果集中,是a和...
SQL的各種連線Join詳解
sql join 子句用於把來自兩個或多個表的行結合起來,基於這些表之間的共同字段。最常見的 join 型別 sql inner join 簡單的 join sql left join sql right join sql full join,其中前一種是內連線,後三種是外鏈結。假設我們有兩張表,t...