首页 > 数据库 > mysql教程 > mysql右外连接查询怎么用

mysql右外连接查询怎么用

王林
发布: 2023-06-01 17:49:06
转载
1243 人浏览过

1、以join右表为主表,显示右表的所有数据,根据条件查询join左表的数据。如果满意,显示。如果不满意,显示在null。

2、可以理解为在内部连接的基础上,确保右表的所有数据都显示。

语法

select 字段 from a right [outer] join b on 条件
登录后复制

实例

#左连接
#查询所有部门信息以及该部门员工信息
SELECT did,dname,eid,ename FROM t_department d LEFT JOIN t_employee e
ON d.did=e.dept_id;
 
SELECT did,dname,eid,ename FROM t_employee e LEFT JOIN t_department d
ON d.did=e.dept_id;
 
SELECT did,dname,eid,ename FROM t_department d RIGHT JOIN t_employee e
ON d.did=e.dept_id;
 
UPDATE t_employee SET dept_id=NULL where eid=5;
 
SELECT did,dname,eid,ename FROM t_department d LEFT JOIN t_employee e
ON d.did=e.dept_id;
WHERE e.dept_id IS NULL;
#查询部门信息,保留没有员工的部门信息
SELECT did,dname,eid,ename FROM t_department d RIGHT JOIN t_employee e
ON d.did=e.dept_id;
WHERE e.dept_id IS NULL;
 
SELECT did,dname,eid,ename FROM t_employee e LEFT JOIN t_department d
ON d.did=e.dept_id;
WHERE e.dept_id IS NULL;
#查询所有员工信息,以及员工的部门信息
SELECT eid,ename,did,dname FROM t_employee e LEFT JOIN t_department d
ON e.dept_id=d.did;
 
SELECT eid,ename,did,dname FROM t_department d LEFT JOIN t_employee e
ON e.dept_id=d.did;
 
#查询员工信息,仅保留没有分配部门的员工
SELECT eid,ename,did,dname FROM t_employee e LEFT JOIN t_department d
ON e.dept_id=d.did
WHERE e.dept_id IS NULL;
#查询员工信息,不保留没有分配部门的员工
SELECT eid,ename,did,dname FROM t_employee e LEFT JOIN t_department d
ON e.dept_id=d.did
WHERE e.dept_id IS NOT NULL;
 
SELECT id,ename,tid,dname FROM student_info s LEFT JOIN student_test t
ON s.id_id=t.tid
WHERE t.tid IS NOT NULL;
 
SELECT * FROM student;
SELECT * FROM souce;
#分析 左右外连接
#显示所有学生的测试信息
SELECT st.s_id,name,C,Java FROM student st LEFT JOIN souce s
ON st.s_id=s.s_id;
 
#显示参加考试的学生的测试信息
SELECT st.s_id,name,C,Java FROM student st RIGHT JOIN souce s
ON st.s_id=s.s_id;
登录后复制

以上是mysql右外连接查询怎么用的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:yisu.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
MySQL 오류 2006: mysql 서버가 사라졌습니다.
来自于 1970-01-01 08:00:00
0
0
0
So ändern Sie MySQL in MySQL
来自于 1970-01-01 08:00:00
0
0
0
MySQL menghentikan proses
来自于 1970-01-01 08:00:00
0
0
0
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板