簡體   English   中英

為什么左聯接不起作用而右聯接起作用?

[英]Why left join doesn't work but right join works ?

我有3張桌子

Transport.Devices,Transport.Conductors,Transport.ConductorDevices,

我在設備表上應用了LeftJoin,因此它還應該顯示那些未分配的設備,但是它不起作用,為什么? 我嘗試了“右連接”,它起作用了,但“左”不起作用。

Select Transport.ConductorDevices.ID, Transport.ConductorDevices.Device_ID,Transport.ConductorDevices.Conductor_ID,
        Transport.Conductors.Name as Conductor, Transport.Devices.TerminalSNO as Terminal
        from Transport.ConductorDevices
        Inner Join Transport.Devices
        ON Transport.Devices.DeviceID=Transport.ConductorDevices.Device_ID
        left Join Transport.Conductors
        ON Transport.Conductors.ConductorID= Transport.ConductorDevices.Conductor_ID

左連接!=右連接,左連接的確包含左側的所有內容,而右連接則包含右側的所有內容。 在這種情況下,您需要所有權利。 這就是為什么正確的聯接為您工作的原因。

sql_join_left

如果需要所有設備(也未分配),則可以從以下設備開始:

 from Transport.Devices
    LEFT JOIN Transport.ConductorDevices
    ON Transport.Devices.DeviceID=Transport.ConductorDevices.Device_ID
    LEFT JOIN Transport.Conductors
    ON Transport.Conductors.ConductorID= Transport.ConductorDevices.Conductor_ID

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM