當我們使用 MySQL 查詢語句時,有時需要同時滿足兩個或多個表中的條件。這時我們就需要使用到JOIN
操作符的帶條件查詢。
在本文中,我們將介紹如何使用 MySQL 查詢語句同時滿足兩個表中的條件。
首先,我們需要創建兩個表,一個是customers
表,一個是orders
表。分別輸入以下代碼:
CREATE TABLE customers ( id int NOT NULL AUTO_INCREMENT, name varchar(255) NOT NULL, email varchar(255) NOT NULL, PRIMARY KEY (id) ); CREATE TABLE orders ( id int NOT NULL AUTO_INCREMENT, customer_id int NOT NULL, product varchar(255) NOT NULL, amount int NOT NULL, PRIMARY KEY (id) );
接下來,我們需要為兩個表中的各自添加一些數據,分別輸入以下代碼:
INSERT INTO customers (name, email) VALUES ('張三', 'zhangsan@example.com'), ('李四', 'lisi@example.com'), ('王五', 'wangwu@example.com'); INSERT INTO orders (customer_id, product, amount) VALUES (1, '蘋果', 5), (1, '香蕉', 3), (2, '橙子', 2), (3, '葡萄', 1), (3, '西瓜', 2);
現在我們已經準備好了兩個表,接下來我們就可以使用 MySQL 查詢語句查找同時符合兩個表中條件的數據。例如,我們要找到姓名為張三且購買了蘋果的用戶:
SELECT customers.name, orders.product, orders.amount FROM customers JOIN orders ON customers.id = orders.customer_id WHERE customers.name = '張三' AND orders.product = '蘋果';
我們可以看到,在JOIN
子句中,我們將兩個表連接起來,指定連接條件為customers.id = orders.customer_id
。然后在WHERE
子句中指定兩個表中的條件,即姓名為張三且購買了蘋果。
運行上述代碼,得到如下結果:
+-------+---------+--------+ | name | product | amount | +-------+---------+--------+ | 張三 | 蘋果 | 5 | +-------+---------+--------+
以上即為 MySQL 兩表都有條件的查詢方法。