4 回答

TA貢獻1842條經驗 獲得超22個贊
通俗一點就是:
left以 left join 左側的表為主表
right 以 right join 右側表為主表
inner join 查找的數據是左右兩張表共有的

TA貢獻1799條經驗 獲得超8個贊
join等價于inner join內連接,是返回兩個表中都有的符合條件的行。
left join左連接,是返回左表中所有的行及右表中符合條件的行。
right join右連接,是返回右表中所有的行及左表中符合條件的行。
full join全連接,是返回左表中所有的行及右表中所有的行,并按條件連接。
通常情況下,left join肯定比inner join返回的行數多。

TA貢獻1856條經驗 獲得超5個贊
left join :左連接,返回左表中所有的記錄以及右表中連接字段相等的記錄。
right join :右連接,返回右表中所有的記錄以及左表中連接字段相等的記錄。
inner join: 內連接,又叫等值連接,只返回兩個表中連接字段相等的行。
full join:外連接,返回兩個表中的行:left join + right join
cross join:結果是笛卡爾積,就是第一個表的行數乘以第二個表的行數。
declare @a table(a int,b int)
declare @b table(a int,b int)
insert @a values(1,1)
insert @a values(2,2)
insert @b values(1,1)
insert @b values(3,3)
select * from @a
select * from @b
--左:
select * from @a Aa left join @b Bb on Aa.a=Bb.a
--右:
select * from @a Aa right join @b Bb on Aa.a=Bb.a
--內
select * from @a Aa inner join @b Bb on Aa.a=Bb.a
--外:
select * from @a Aa full join @b Bb on Aa.a=Bb.a
--交叉連接
select * from @a cross join @b
- 4 回答
- 0 關注
- 620 瀏覽
添加回答
舉報