sql left join on和right join ;join後面分別對應是左表和右表嗎?

  • 作者:由 匿名使用者 發表于 舞蹈
  • 2022-03-24

sql left join on和right join ;join後面分別對應是左表和右表嗎? ╭ゝ、這輩孒﹎゛預約つ 1級 2017-04-02 回答

不,說反了。

從結果看,LEFT 或RIGHT恰好指的是前面的表的特徵。

FROM A ——A是左表

LEFT JOIN B ——B是關聯表,NULL值也出來

sql left join on和right join ;join後面分別對應是左表和右表嗎? 深知你是夢@ 1級 2017-03-31 回答

left join是以左表為準的。

左表(a)的記錄將會全部表示出來,而右表(b)只會顯示符合搜尋條件的記錄(例子中為: a。aid = b。bid)。

b表記錄不足的地方均為null。

ps:right join表理解相同

官方的解釋下:

inner join(等值連線):只返回兩個表中聯結欄位相等的行;

left join(左聯接):返回包括左表中的所有記錄和右表中聯結欄位相等的記錄;

right join(右聯接):返回包括右表中的所有記錄和左表中聯結欄位相等的記錄。

比如我們有xs、cj兩個表

xs表    cj表

————————-    ————————————

id    name    id    score

1    張三    1    96

2    李四    2    80

3    86

sql程式碼 1。

select

*

from

`xs`

inner

join `cj`

on

xs。id = cj。id    select * from `xs` inner join `cj` on xs。id = cj。id

返回

————————————

id   name   id   score

1   張三   1   96

2   李四   2   80

————————————-

sql程式碼 1。

select

*

from

`xs` left join `cj`

on

xs。id = cj。id    select * from `xs` left join `cj` on xs。id = cj。id

返回

————————————

id   name   id   score

1   張三   1   96

2   李四   2   80

————————————-

sql程式碼 1。

select

*

from

`xs` right join `cj`

on

xs。id = cj。id    select * from `xs` right join `cj` on xs。id = cj。id

返回

id    name    id    score

1       張三      1    96

2    李四    2    80

null    null  3    86

Top