MySQL內(nèi)關(guān)聯(lián)是指在同一數(shù)據(jù)庫(kù)中的不同表之間建立關(guān)聯(lián)關(guān)系,以便實(shí)現(xiàn)多表的聯(lián)合查詢和數(shù)據(jù)操作。MySQL內(nèi)關(guān)聯(lián)包括左連接、右連接、內(nèi)連接和外連接等類型。
-- 左連接實(shí)例: SELECT * FROM table1 LEFT JOIN table2 ON table1.id = table2.table1_id; -- 右連接實(shí)例: SELECT * FROM table1 RIGHT JOIN table2 ON table1.id = table2.table1_id; -- 內(nèi)連接實(shí)例: SELECT * FROM table1 INNER JOIN table2 ON table1.id = table2.table1_id; -- 外連接實(shí)例: SELECT * FROM table1 FULL OUTER JOIN table2 ON table1.id = table2.table1_id;
左連接(LEFT JOIN)用于查詢左表中所有的記錄以及右表中與左表記錄相關(guān)聯(lián)的記錄,如果右表中沒(méi)有與左表記錄相關(guān)聯(lián)的記錄,則右表中對(duì)應(yīng)字段的值為NULL。
右連接(RIGHT JOIN)用于查詢右表中所有的記錄以及左表中與右表記錄相關(guān)聯(lián)的記錄,如果左表中沒(méi)有與右表記錄相關(guān)聯(lián)的記錄,則左表中對(duì)應(yīng)字段的值為NULL。
內(nèi)連接(INNER JOIN)用于查詢兩個(gè)表中相互關(guān)聯(lián)的記錄,即只查詢左表和右表中有匹配的記錄。
外連接(FULL OUTER JOIN)用于查詢兩個(gè)表中任意一張表中的記錄,如果左表或右表中沒(méi)有匹配的記錄,則對(duì)應(yīng)字段的值為NULL。
MySQL內(nèi)關(guān)聯(lián)可用于復(fù)雜的查詢操作,例如聯(lián)合多個(gè)表進(jìn)行數(shù)據(jù)匯總、查詢某一類數(shù)據(jù)在不同表中的出現(xiàn)頻率等。