MySQL關(guān)聯(lián)表是一種常見的數(shù)據(jù)庫設(shè)計(jì)模式,它能夠?qū)⒉煌臄?shù)據(jù)表通過共同的字段關(guān)聯(lián)起來,實(shí)現(xiàn)更加復(fù)雜和有意義的數(shù)據(jù)查詢和處理。在MySQL中,關(guān)聯(lián)表的數(shù)據(jù)操作通常需要使用JOIN語句和其他相關(guān)的SQL語句。
-- 創(chuàng)建數(shù)據(jù)表 CREATE TABLE orders ( id INT PRIMARY KEY, user_id INT, amount DECIMAL(10, 2) ); CREATE TABLE users ( id INT PRIMARY KEY, name VARCHAR(50), email VARCHAR(50) ); -- 插入數(shù)據(jù) INSERT INTO users (id, name, email) VALUES (1, '張三', 'zhangsan@example.com'); INSERT INTO users (id, name, email) VALUES (2, '李四', 'lisi@example.com'); INSERT INTO orders (id, user_id, amount) VALUES (1, 1, 100.00); INSERT INTO orders (id, user_id, amount) VALUES (2, 2, 200.00); INSERT INTO orders (id, user_id, amount) VALUES (3, 1, 50.00); -- 內(nèi)連接查詢 SELECT users.name, sum(orders.amount) as total FROM orders JOIN users ON orders.user_id = users.id GROUP BY users.id; -- 輸出結(jié)果 +--------+-------+ | name | total | +--------+-------+ | 張三 | 150.00| | 李四 | 200.00| +--------+-------+
在上面的代碼中,我們創(chuàng)建了兩個(gè)數(shù)據(jù)表orders和users,分別記錄了用戶的訂單信息和用戶的基本信息。為了將它們關(guān)聯(lián)起來,我們使用了JOIN語句,通過orders表中的user_id字段和users表中的id字段建立內(nèi)連接。在查詢時(shí),我們使用了GROUP BY語句來計(jì)算每個(gè)用戶的訂單總金額,并最終輸出了兩個(gè)用戶的總金額。