• 技术文章 >数据库 >MySQL

    mysql右外连接查询的介绍

    小妮浅浅小妮浅浅2021-10-11 10:59:06原创108

    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右外连接查询的介绍,希望对大家有所帮助。更多mysql学习指路:Mysql

    专题推荐:mysql 右外连接
    品易云
    上一篇:mysql左外连接查询是什么 下一篇:mysql union实现全外连接查询

    相关文章推荐

    • mysql分表和分区的区别• mysql水平分表是什么• mysql垂直分表是什么• mysql分库的类型• Mysql如何实现事务隔离• Mysql长事务有什么影响• mysql如何避免长事务• mysql事务启动的方式• mysql使用union的注意点• mysql外键约束的作用• mysql外键约束有什么要求• mysql有哪些外键约束等级• mysql一对多关系如何理解• mysql内连接查询是什么• mysql左外连接查询是什么

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网