MySQL中的連接是將多張表按照一定條件進行聯合查詢,得到一張包含兩張表相關聯數據的臨時表。
當我們需要查詢兩個表共同有的數據時,就需要使用內連接。
內連接只會返回兩張表中有關聯數據的記錄,如果其中一張表沒有匹配的記錄,則不會返回。
SELECT * FROM table1 INNER JOIN table2 ON table1.id = table2.id;
上述代碼中,使用INNER JOIN進行內連接,ON為條件,指定table1和table2中id相同的記錄進行聯合查詢。
另外,不僅僅是兩個表,多個表之間也可以進行內連接,只需要把多個表的連接條件寫在ON后面即可。
SELECT * FROM table1 INNER JOIN table2 ON table1.id = table2.id INNER JOIN table3 ON table1.name = table3.name;
上述代碼中,使用INNER JOIN進行兩個表之間的連接,使用INNER JOIN進行第三個表與第二個表的連接,ON后面指定多個表之間的連接條件。
綜上所述,當需要查詢兩個或多個表中共同有的數據時,需要使用內連接。