SQL学习笔记—连接

跨数据库连接

当所需数据表在另一个数据库时,需要在不在当前数据库的数据表名称前加上其所在数据库的名称,实现跨数据库表的连接,eg:

这里的是在sql_store数据库写的语句,要与数据库sql_inventory数据库连接起来

SELECT *
FROM order_items oi
JOIN sql_inventory.products p
	ON oi.product_id=p.product_id

自连接

将表和自己来连接和将表与其他表连接大致相同,唯一不同的是需要使用不同的别名,并且需要给每列都加一个别名。eg:

SELECT
	e.employee_id,
    e.first_name,
    m.first_name AS manager
    FROM employees e
    JOIN employees m
		ON e.reports_to=m.employee_id

多表连接

表连接的时候尽量不要超过三张表,表连接多了会影响查询速度

多表连接和两个表连接的方式是一致的,找到表之间的关系,顺序连接即可。eg:

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

练习

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值