join mutiple tables多表连接,复合连接条件即使用多个条件连接这两个表格。隐式连接,implicit join

orders 

 customers

order_statues 

 

将这三张表连接起来 

SELECT *
FROM orders o
JOIN customers cON o.customer_id = c.customer_id
JOIN order_statuses osON 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 cON o.customer_id = c.customer_id
JOIN order_statuses osON o.status = os.order_status_id

复合连接条件

比如在customer表中,顾客id唯一识别了这张表

但存在我们无法使用单一列来准确识别某张表里列的情况

 

 黄健代表这两列都有主键,我们称为复合主键

SELECT *
FROM order_items oi
JOIN order_item_notes oinON oi.order_id=oin.order_IdAND oi.product_id=oin.product_id

查询结果为空,因为没匹配上.

隐式连接 ,不建议使用

下面这两个代码是一样的

SELECT *
FROM orders o
JOIN customers cON o.customer_id = c.customer_id
SELECT *
FROM orders o, customers c
WHERE o.customer_id = c.customer_id


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部