我有三個表。左連接和右連接
表1有StudentName和StudentID 表2具有BOOKNAME和的BookID 表3具有StudentID和的BookID
我想在這個格式
StudentName檢索記錄,BOOKNAME
一個學生可能借了很多書。
但我想要表1中所有學生的姓名,即使他沒有借書。
我知道這很簡單,但我根本無法理解。
我只能檢索借閱學生的記錄。
我將不勝感激您的意見和建議。
我有三個表。左連接和右連接
表1有StudentName和StudentID 表2具有BOOKNAME和的BookID 表3具有StudentID和的BookID
我想在這個格式
StudentName檢索記錄,BOOKNAME
一個學生可能借了很多書。
但我想要表1中所有學生的姓名,即使他沒有借書。
我知道這很簡單,但我根本無法理解。
我只能檢索借閱學生的記錄。
我將不勝感激您的意見和建議。
如果您想要table1
中的所有學生,您必須以此開始。
select studentname
from table1;
,那麼你想要的書借和保持學生即使書列表爲空:讓我們使用left join
。
select table1.studentname,
table3.bookid
from table1
left join table3 on table1.studentid=table3.studentid;
現在你想要的書的名稱,而不是bookid
。 left join
再次
select table1.studentname,
table2.bookname
from table1
left join table3 on table1.studentid = table3.studentid
left join table2 on table3.bookid = table2.bookid;
有一個丟失的操作員錯誤(3075)。但是,確保讓我走上正確的道路。這有助於...... 'SELECT Table1.StudentName,Table2.BookName FROM (Table1 LEFT JOIN Table3 ON Table1. StudentID = Table3.StudentID) LEFT JOIN Table2 ON Table3.BookID = Table2。的BookID;' – dandy
聽起來像作業。你已經嘗試了什麼?你究竟在幹什麼? –
今日提示:永遠不要做正確的加入!你總是可以做一個左連接,只需切換表。左連接並不難理解爲「主表左連接可選數據」,而右連接是「可選數據右連接主表」。 – jarlh
嘗試發佈您的架構定義和您嘗試的查詢,以便人們可以幫助您。不要指望在這裏複製粘貼作業並獲得即時解決方案 – JSantos