外链接查询

博客介绍了MySQL外连接语法,包括左外连接和右外连接。左外连接结果集含左表所有记录及右表满足条件记录,不满足条件的右表列值为null;右外连接是左外连接反向,结果集含右表所有记录及左表满足条件记录,不满足条件的左表列值为null。

外连接语法

SELECT 字段名称
FROM 表名 1 LEFT|RIGHT|FULL JOIN 表名2
ON 表名1.字段名1=表名2.字段名2

一.左外链接(LEET  JOIN)

左外连接的结果集包括左表的所有记录和右表中满足连接条件的记录,结果集中那些不符合连接条件的来源于右表的列值为null。

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

select plateNo '车牌号',model '型号',lineNo '线路号',from. station '起点站',end. station '终点站'
FROM vehicle V left join line L on V linelD=L linelD where type='非空调车';

 二,右外链接

右外连接是左外连接的反向连接。右外连接的结果集包括右表的所有记录和左表中满足连接条件的记录,结果集中那些不符合连接条件的来源于左表的列值为null。

查询所有线路的车辆信息,要求显示车牌号、型号、线路号、起点站和终点站

select olateNo '车牌号',model '型号',lineNo '线路号',from. station '起点站', end_ station '终点站'
FROM Vehicle v right join line L on V.linelD=L linelD

 

在SQL中,若需要获取包含左表所有记录的连接结果,可以使用左外连接(LEFT OUTER JOIN 或简称为 LEFT JOIN)。左外连接会返回左表中的所有记录,即使右表中没有匹配的行,也会在结果中显示为 NULL 值。 ### 左外连接语法 ```sql SELECT 字段列表 FROM 左表 LEFT [OUTER] JOIN 右表 ON 左表.字段 = 右表.字段 [WHERE 筛选条件]; ``` 其中,`LEFT OUTER JOIN` 中的 `OUTER` 是可选的,可以省略为 `LEFT JOIN`。`ON` 子句用于指定两个表之间的关联条件。 ### 示例 假设存在两个表:`departments`(部门表)和 `employees`(员工表),其中 `departments` 包含字段 `department_id` 和 `department_name`,而 `employees` 包含字段 `employee_id`、`employee_name` 和 `department_id`。若需要查询所有部门及其对应的员工信息,包括那些没有员工的部门,可以使用以下查询: ```sql SELECT d.department_id, d.department_name, e.employee_id, e.employee_name FROM departments d LEFT JOIN employees e ON d.department_id = e.department_id; ``` 该查询将返回所有部门的信息,并显示对应的员工信息。如果某个部门没有员工,`employee_id` 和 `employee_name` 字段将为 NULL [^2]。 左外连接的一个典型应用场景是查询某个表中存在而另一个表中不存在的记录。例如,查找没有员工的部门: ```sql SELECT d.department_id, d.department_name FROM departments d LEFT JOIN employees e ON d.department_id = e.department_id WHERE e.employee_id IS NULL; ``` 这个查询中,`WHERE e.employee_id IS NULL` 条件用于筛选出那些在 `employees` 表中没有匹配记录的部门 [^2]。 ### 相关问题 1. 如何使用右外连接查询右表中的所有记录? 2. 什么是SQL中的内连接,它的使用场景是什么? 3. 如何实现SQL中的全外连接? 4. UNION 和 UNION ALL 在SQL多表查询中有什么区别? 5. SQL99语法与SQL92语法在连接查询方面有哪些区别?
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值