共計 1384 個字符,預計需要花費 4 分鐘才能閱讀完成。
自動寫代碼機器人,免費開通
怎么在數據庫中使用 JOIN?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面丸趣 TV 小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
Join
相信大家在學習數據庫的使用時,都有使用過 Join,對數據庫中的兩張或兩張以上表進行連接操作。
Join 分為:
內連接 (inner join)
外連接 (outer join)
其中外連接分為:
左外連接 (left outer join)
右外連接 (right outer join)
全外連接 (full outer join)
說明:
1. 其中外連接的“OUTER”關鍵字可以省略不寫。2. 內連接用于返回滿足連接條件的記錄;而外連接則是內連接的擴展,它不僅會滿足連接條件的記錄,而且還會返回不滿足連接條件的記錄。
笛卡爾積
在我們進行多表聯合查詢的時候會出現的一種情況——笛卡爾積現象
我們以下面兩張表舉例:
學生表(Student)
IDStudentNameStudentClassID1 小明 12 小紅 23 小蘭 34 小呂 25 小梓 1
班級表(Class)
ClassIDClassName1 軟件一班 2 軟件二班 3 軟件三班
當我們進行查詢操作的時候:
select * from Student,Class;
就會出現上面的情況,也就是笛卡爾現象,表 Student 中有 5 條記錄,表 Class 中有 3 條記錄,那么對于表 Student 而言有 5 種選擇,對于表 Class 來說有 3 種選擇。所以一共有 5 * 3 = 15 種選擇了,也就是笛卡爾積。
內連接——inner join
內連接查詢返回滿足條件的所有記錄,默認情況下沒有指定任何連接則為內連接。例如:查詢 xx 學生在 xx 班級 沿用上面的數據表
select stu.StudentName,cl.ClassName from Student stu inner join Class cl on stu.StudentClassID=cl.ClassID;
查詢結果
左外連接——left join
左外連接查詢不僅返回滿足條件的所有記錄,而且還會返回不滿足連接條件的連接操作符左邊表的其他行。我們在原 Student 表中新增學生:小美
例如:查詢 xx 學生在 xx 班級 沿用上面的數據表
select stu.StudentName,cl.ClassName from Student stu left join Class cl on stu.StudentClassID=cl.ClassID;
查詢結果
右外連接——right join
右外連接查詢不僅返回滿足條件的所有記錄,而且還會返回不滿足連接條件的連接操作符右邊表的其他行。我們在原 Class 表中新增班級:
軟件四班
例如:查詢 xx 學生在 xx 班級 沿用上面的數據表
select stu.StudentName,cl.ClassName from Student stu right join Class cl on stu.StudentClassID=cl.ClassID;
查詢結果
全連接——full join
全連接查詢不僅返回滿足條件的所有記錄,而且還會返回不滿足連接條件的其他行。
注:mysql 默認不支持 full join。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注丸趣 TV 行業資訊頻道,感謝您對丸趣 TV 的支持。
向 AI 問一下細節