MySQL 是一種流行的關系型數據庫管理系統,它允許在同一張表中關聯不同的列。比如,如果我們想要在一張訂單表中同時保存客戶姓名和客戶地址的信息,我們可以使用以下的語法:
CREATE TABLE orders ( order_id INT PRIMARY KEY, customer_name VARCHAR(50), customer_address VARCHAR(100) );
現在我們可以向這張表中插入不同的訂單,每個訂單都對應著一個客戶姓名和客戶地址:
INSERT INTO orders (order_id, customer_name, customer_address) VALUES (1, 'John Doe', '123 Main St, Anytown USA'); INSERT INTO orders (order_id, customer_name, customer_address) VALUES (2, 'Jane Doe', '456 Oak St, Anytown USA'); INSERT INTO orders (order_id, customer_name, customer_address) VALUES (3, 'Joe Smith', '789 Elm St, Anytown USA');
但是,如果我們需要在訂單表中查詢對應的客戶信息,我們需要使用聯結語句來連接同一張表中的不同列。比如,如果我們想要查詢訂單 ID 為 2 的客戶信息,我們可以使用以下的語句:
SELECT orders.order_id, orders.customer_name, orders.customer_address FROM orders WHERE orders.order_id = 2;
上面的語句中,我們使用了 orders 表兩次,第一次用來選取查詢的列,第二次用來指定查詢的條件。這種方式稱為自聯結(self-join),它讓我們可以在同一張表中關聯不同的列。