主頁 > 知識庫 > MySQL多表連接查詢詳解

MySQL多表連接查詢詳解

熱門標簽:高清地圖標注道路 400電話可以辦理嗎 智能外呼系統復位 話務外呼系統怎么樣 臨清電話機器人 大眾點評星級酒店地圖標注 外東北地圖標注 云南電商智能外呼系統價格 拉卡拉外呼系統

多表連接查詢

表與表之間的連接分為內連接和外連接

  • 內連接:僅選出兩張表互相匹配的記錄
  • 外連接:既包括兩張表匹配的記錄,也包括不匹配的記錄,同時外連接又分為左外連接(左連接)和右外連接(右連接)

內連接

首先準備兩張表

學生student表

分數score表

內連接:在每個表中找出符合條件的共有記錄
查詢student表中的學生姓名和分數

第一種寫法:只使用where

select a.s_name, b.s_score from student a,score b where a.s_id = b.s_id;

第二種寫法:join … on…

select a.s_name, b.s_score from student a join score b on a.s_id = b.s_id

第三種寫法:inner join … on…

select a.s_name, b.s_score from student a inner join score b on a.s_id = b.s_id

左連接

左連接:根據左表的記錄,在被連接的右表中找出符合條件的記錄與之匹配,如果找不到與左表匹配的,用null表示

第一種寫法:left join … on …

select a.s_name,b.s_score from student a left join score b on a.s_id = b.s_id

第二種寫法:left outer join … on …

select a.s_name,b.s_score from student a left outer join score b on a.s_id = b.s_id

右連接

**右連接:**根據右表的記錄,在被連接的左表中找出符合條件的記錄與之匹配,如果找不到匹配的,用null表示

第一種寫法:right join … on …

select a.s_name,b.s_score from student a right join score b on a.s_id = b.s_id;

第二種寫法:right outer join … on …

select a.s_name,b.s_score from student a right outer join score b on a.s_id = b.s_id;

子查詢

子查詢:是多表連接查詢的一種實現方式,在一個select語句的from子句或where子句中嵌套了另一個select語句,外層的select查詢語句成為主查詢,換句話將就是WHERE或FORM中的查詢語句稱為子查詢

WHERE子句中的子查詢:子查詢返回的值作為主查詢的查詢條件

FROM子句中的子查詢:子查詢返回的是一張?zhí)摂M的表,主查詢從該查詢從臨時表查詢出滿足的條件

總結

本篇文章就到這里了,希望能給你帶來幫助,也希望您能夠多多關注腳本之家的更多內容!

您可能感興趣的文章:
  • MySQL的時間差函數TIMESTAMPDIFF、DATEDIFF的用法
  • MySQL的時間差函數(TIMESTAMPDIFF、DATEDIFF)、日期轉換計算函數(date_add、day、date_format、str_to_date)
  • 實現MySQL + PostgreSQL批量插入更新insertOrUpdate
  • MYSQL row_number()與over()函數用法詳解
  • MySQL隱式類型轉換導致索引失效的解決
  • 淺談MySQL數據查詢太多會OOM嗎
  • Django搭建MySQL主從實現讀寫分離
  • mysql中TIMESTAMPDIFF案例詳解

標簽:定西 三明 無錫 溫州 福州 山西 阿里 揚州

巨人網絡通訊聲明:本文標題《MySQL多表連接查詢詳解》,本文關鍵詞  MySQL,多表,連接,查詢,詳解,;如發(fā)現本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《MySQL多表連接查詢詳解》相關的同類信息!
  • 本頁收集關于MySQL多表連接查詢詳解的相關信息資訊供網民參考!
  • 推薦文章