MySQL 一對一查詢是指關(guān)聯(lián)查詢中存在只有一條對應(yīng)記錄的情況。通過使用 INNER JOIN 或 LEFT JOIN 等關(guān)鍵詞,可以實現(xiàn)一對一查詢。
SELECT * FROM table1 INNER JOIN table2 ON table1.id = table2.id;
以上代碼中,table1 和 table2 是要關(guān)聯(lián)的兩個表,id 是兩個表之間的關(guān)聯(lián)字段,INNER JOIN 表示只顯示兩個表都有記錄的數(shù)據(jù)。如果要顯示 table1 中沒有匹配數(shù)據(jù)的情況,可以將 INNER JOIN 改為 LEFT JOIN。
SELECT * FROM table1 LEFT JOIN table2 ON table1.id = table2.id;
除了使用關(guān)鍵詞,也可以使用子查詢實現(xiàn)一對一查詢。例如:
SELECT * FROM table1 WHERE id = ( SELECT id FROM table2 );
以上代碼中,WHERE 子句中的子查詢返回的是一個唯一的 id 值,因此只查詢得到一條對應(yīng)數(shù)據(jù)。
在實際業(yè)務(wù)場景中,一對一查詢常用于用戶信息和用戶擴展信息的關(guān)聯(lián)查詢,或者商品信息和商品擴展信息的關(guān)聯(lián)查詢等。