05 数据查询2

插入数据:

INSERT INTO dept VALUES(4,'软件开发部');
INSERT INTO dept VALUES(5,'软件维护部');
INSERT INTO dept VALUES(6,'秘书部');

INSERT INTO employee(NAME,deptId) VALUES('张三',4);
INSERT INTO employee(NAME,deptId) VALUES('李四',5);
INSERT INTO employee(NAME,deptId) VALUES('王五',4);
INSERT INTO employee(NAME,deptId) VALUES('陈六',5);

***多表查询的步骤: ***
1)确定查询哪些表
2)确定查询哪些字段
3)确定连接条件(规则: 表数量-1)

内连接查询(使用最多):

-- 内连接效果:只有满足连接条件的数据才会显示出来
SELECT e.name,d.name
    FROM employee e,dept d
    WHERE e.deptId=d.id;

-- 另一种语法
SELECT e.name,d.name
    FROM employee e
    INNER JOIN dept d
    ON e.deptId=d.id;
Paste_Image.png

因为没有秘书部的人,所以这个部门也没有显示

左/右外连接查询(其次):

-- 需求: 查询部门及其部门的员工(部门全部显示)
-- 左外连接查询效果: 左表(部门表)的数据全部显示,右表(员工)的数据当满足连接条件的时候,
         -- 就显示满足条件的的数据,但是如果不满足连接条件,则显示null
-- 预期结果:
    -- 软件开发部  张三
    -- 软件开发部  王五
    -- 软件维护部  李四
    -- 软件维护部  陈六
    -- 秘书部      null
SELECT d.name,e.name
    FROM dept d
    LEFT OUTER JOIN employee e
    ON d.id=e.deptId;
-- 可以理解为,dept在 employee表的左边 

-- 1.4 右外连接查询
-- 右外连接查询效果: 右表(部门表)的数据全部显示,左表(员工)的数据当满足连接条件的时候,
         -- 就显示满足条件的数据,但是如果不满足连接条件,则显示null
SELECT d.name,e.name
    FROM employee e
    RIGHT OUTER JOIN dept d
    ON d.id=e.deptId;      
-- 可以理解为,employee在dept表的右边  
Paste_Image.png

以左边的部门为主显示,然后找到对应的右边的员工,没有显示null

自连接查询:

-- 需求: 查询员工姓名及其上司姓名(没有上司的员工也显示)
-- 预期结果:
           员工    上司
    -- 张三   null
    -- 李四   张三
    -- 王五   李四
    -- 陈六   王五
SELECT e.name AS '员工',b.name AS '上司'
    FROM employee e
    LEFT OUTER JOIN employee b
    ON e.bossId=b.id;

Paste_Image.png
Paste_Image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • SQL语言基础 本章,我们将会重点探讨SQL语言基础,学习用SQL进行数据库的基本数据查询操作。另外请注意本章的S...
    厲铆兄阅读 5,383评论 2 46
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,839评论 18 399
  • 一. Java基础部分.................................................
    wy_sure阅读 3,870评论 0 11
  • 近日,朋友圈中都被金东区实验小学让家长告别检查作业的消息刷屏了。原来金东区实验小学发出一份公约《让家长告别检查作业...
    右鸣风阅读 635评论 2 8
  • 前天为万全道小学三年级的家长们带去的讲座《一写作业鸡飞狗跳,怎么破?》。 临时要求的题目,时间紧,压力大。 幸运的...
    陈艳_正面管教讲师阅读 497评论 0 0