亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

MySQL:聯接類型的快速細分

MySQL:聯接類型的快速細分

慕碼人2483693 2019-07-25 14:14:15
MySQL:聯接類型的快速細分我想快速細分MySQL聯接的類型。我知道這些,其余的我不知道它們是什么意思。逗號分隔(什么一點兒沒錯這是縮寫嗎?):SELECT * FROM a, b WHERE b.id = a.beeId AND ...顯示來自a的信息,即使b中沒有匹配:SELECT * FROM a LEFT OUTER JOIN b ON b.id = a.beeId WHERE ...我見過其他的加入,但我想知道是什么讓他們與眾不同,是什么?INNER/OUTER,添加LEFT改變一切。我已經知道聯接是如何工作的,我只想知道是否有其他類型的聯接,或者它們是否只是獲得相同結果的不同方式。
查看完整描述

3 回答

?
慕桂英546537

TA貢獻1848條經驗 獲得超10個贊

根據您的評論,對每一項的簡單定義最好在W3學校每種類型的第一行給出了連接類型的簡要說明。

  • 聯接:當兩個表中至少有一個匹配時返回行
  • 左聯接:返回左表中的所有行,即使右表中沒有匹配項
  • 右聯接:返回右表中的所有行,即使左側表中沒有匹配項
  • 完全連接:當其中一個表中有匹配時返回行

結束編輯

簡而言之,您給出的逗號分隔的示例

SELECT * FROM a, b WHERE b.id = a.beeId AND ...

從表a和表b中選擇每條記錄,并使用分隔表的逗號,這也可以在列中使用,如

SELECT a.beeName,b.* FROM a, b WHERE b.id = a.beeId AND ...

然后在您的示例中b.id列和a.beeId列匹配的行中獲取指定的信息。因此,在您的示例中,它將從表a和b獲取所有信息,其中b.id等于a.beeId。在我的示例中,當b.id等于.beeId時,它將從b表獲取所有信息,而只從.beeName列獲取信息。注意,還有一個AND子句,這將有助于細化結果。

關于MySQL聯接和左聯接的一些簡單教程和解釋,請參閱Tizag的MySQL教程。你也可以退房基思·布朗的網站有關聯接的更多信息,這也很好。

我希望這對你有幫助




查看完整回答
反對 回復 2019-07-26
?
冉冉說

TA貢獻1877條經驗 獲得超1個贊

MySQL中不存在完全外部聯接,您可能需要使用左連接和右連接的組合。

查看完整回答
反對 回復 2019-07-26
  • 3 回答
  • 0 關注
  • 379 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號