Joining Multiple Table
要求得到一份这样的表,即连接sql_table库下的orders表和customers(即返回每笔订单的顾客信息)以及sql_store库底下的order_statuses
捋一下思路,为什么要连接三个表,以及要哪些数据?
什么这个是orders的表:
里面有顾客的id却缺少顾客相关的信息,所以我们需要连接customer的表
以及orders表中的status列虽然存在,但是具体的含义我们并不知道,因此需要连接order_status表
这是最终希望得到的表
USE sql_store;
SELECT
o.order_id,
o.order_date,
c.first_name,
c.last_name,
os.name AS status
FROM orders o
JOIN customers c
ON o.customer_id = c.customer_id
JOIN order_statuses os
ON o.status = os.order_status_id
练习
连接payments、payments _methods、clients
返回客户姓名、付款方式等
USE sql_invoicing;
SELECT
p.payment_id,
c.client_id,
p.invoice_id,
p.date,
p.amount,
p.payment_method
FROM payments p
JOIN clients c
on p.client_id = c.client_id
JOIN payment_methods pm
ON p.payment_method = pm.payment_method_id