MySQL是一種常用的關系型數據庫管理系統,通過使用MySQL,您可以方便地進行不同表之間的數據查詢操作。在MySQL中,可以通過聯合多個表進行復雜查詢。下面將通過三個表的查詢案例來指導您如何進行MySQL查詢:
1. 創建表格
CREATE TABLE orders (
order_id int(11) NOT NULL AUTO_INCREMENT,
customer_name varchar(255) NOT NULL,
PRIMARY KEY (order_id)
);
CREATE TABLE products (
product_id int(11) NOT NULL AUTO_INCREMENT,
product_name varchar(255) NOT NULL,
unit_price decimal(10,2) NOT NULL,
PRIMARY KEY (product_id)
);
CREATE TABLE order_products (
order_id int(11) NOT NULL,
product_id int(11) NOT NULL,
quantity int(11) NOT NULL,
FOREIGN KEY (order_id) REFERENCES orders(order_id),
FOREIGN KEY (product_id) REFERENCES products(product_id)
);
2. INNER JOIN查詢
SELECT orders.order_id, orders.customer_name, products.product_name,order_products.quantity,products.unit_price
FROM orders
INNER JOIN order_products ON orders.order_id = order_products.order_id
INNER JOIN products ON order_products.product_id = products.product_id;
Inner JOIN查詢:即表格在INNER JOIN關鍵字后面的連接方式只會返回兩個表格中匹配的行。這個查詢展示了產品銷售信息,它加入了“products”表格與“order_products”表格。
3. LEFT JOIN查詢
SELECT orders.order_id, orders.customer_name, SUM(order_products.quantity * products.unit_price) as total
FROM orders
LEFT JOIN order_products ON orders.order_id = order_products.order_id
LEFT JOIN products ON order_products.product_id = products.product_id
GROUP BY orders.order_id;
Left JOIN查詢:這種類型的連接將顯示左側表格全部的行,并顯示右側表格中符合條件的行。這個查詢展示了訂單總額信息,“orders”表與“order_products”表和“products”表通過外連接關聯。
4. RIGHT JOIN查詢
SELECT orders.order_id, orders.customer_name, order_products.product_id, products.product_name,order_products.quantity,products.unit_price
FROM orders
RIGHT JOIN order_products ON orders.order_id = order_products.order_id
RIGHT JOIN products ON order_products.product_id = products.product_id;
Right JOIN查詢:這種類型的連接將顯示右側表中全部的行,并顯示左側表中符合條件的行。這個查詢展示了產品與訂單信息,“order_products”表格與“orders”表格和“products”表格通過外連接關聯。
使用上述的MySQL查詢語句,您可以輕松地查詢三個表之間的關聯數據。
上一篇mysql三個相同表連接
下一篇發表評論功能css實現