MySQL数据库连接查询(外连接)

*外连接查询

语法:SELECT 字段列表 FROM 表名1 LEFT|RIGHT|FULL JOIN 表名2 ON 表名1.字段名1 = 表名2.字段名1
ON后面表示两张表通过某种连接条件,多半为主键与外键关系
TIPS:
1.语法的写法可以同多表查询一样写,并且也能简化写出简单连接查询
2.MySQL不支持全连接(FULL JOIN),但可以通过UNION查询 左外连接+UNION+右外连接 实现全连接


只说不练假功夫,下面就来看看示例吧:↓↓↓

用到的表:车辆表(vehicle)、线路表(line)、司机表(driver)、客户表(customer)、订单表(orders)

1.左外连接

语法:SELECT 字段列表 FROM 表名1 LEFT JOIN 表名2 ON 表名1.字段名1 = 表名2.字段名1

案例1.1:查询所有非空调车的车牌号、型号、线路号、起点站和终点站

代码如下:

SELECT plateNo '车牌号', model '型号' , lineNo '线路号' ,from_station '起点站' , end_station '终点站'
FROM vehicle V LEFT JOIN line L ON V.lineID = L.lineID

运行效果~
在这里插入图片描述

可以看到记录中有查询到返回null值的记录!


2.右外连接

案例2.1:使用右接获取所有客户的基本信息以及订购信息,要求输出客户姓名、电话、订单 ID 和下单时间。

代码如下:

SELECT cName '客户姓名' , phone '电话' , ordersID '订单ID' , ordersDate '下单时间'
FROM customer C RIGHT JOIN orders O ON C.customerID = O.customerID

运行效果~
在这里插入图片描述


3.外连接总结:

1.外连接与内连接的区别在于外连接会将不符合条件的来源记录一并返回查询,表的列值为null.
2.根据实际情况、需求使用不同的连接方式会比较好.

4.结语

连接查询语句要熟记并能灵活使用很重要,不仅如此还得需要分析出表与表之间的关系,这样能够让你使用连接查询很加轻松呢>.>

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值