orders
customers
order_statues
将这三张表连接起来
SELECT *
FROM orders o
JOIN customers c
ON o.customer_id = c.customer_id
JOIN order_statuses os
ON o.status = os.order_status_id
我们从中选出一些列
我们有订单id,订单日期,顾客姓名,还有订单状态
SELECT
o.order_id,#从order表里想选
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
复合连接条件
比如在customer表中,顾客id唯一识别了这张表
但存在我们无法使用单一列来准确识别某张表里列的情况
黄健代表这两列都有主键,我们称为复合主键
SELECT *
FROM order_items oi
JOIN order_item_notes oin
ON oi.order_id=oin.order_Id
AND oi.product_id=oin.product_id
查询结果为空,因为没匹配上.
隐式连接 ,不建议使用
下面这两个代码是一样的
SELECT * FROM orders o JOIN customers c ON o.customer_id = c.customer_id
SELECT * FROM orders o, customers c WHERE o.customer_id = c.customer_id