zoukankan      html  css  js  c++  java
  • MySQL之表连接

    表连接

    当需要同时显示多个表的字段时,就可以用表连接来实现这样的功能。从大类上分,表连接可分为内连接和外连接,它们之间的最主要区别是,内连接仅选出两张表中互相匹配的记录,而外连接会选出其他不匹配的记录。

    这里写图片描述
    查找出雇员的名字和所在的部门,雇员名称和部门分别存在表emp和dept中,因此需要使用表连接进行查询:
    这里写图片描述

    外连接可分为左连接和右连接

    1. 左连接:包含所有的左边表中的记录甚至是右边表中没有和它匹配的记录
    2. 右连接:包含所有的右边表中的记录甚至是左边表中没有和它匹配的记录
      这里写图片描述

    子查询

    在某些条件下,当进行查询的时候,需要的条件是另外一个select语句的结果,这个时候就要用到子查询,用于子查询的关键字主要包括 in,not in,= ,!=,exists,not exists等

    查出emp表跟dept表相对应部门的人
    这里写图片描述

    如果子查询记录数为一行,还可以用=代替In
    这里写图片描述
    在某些情况下,子查询可以转换成表连接,例如

    这里写图片描述

    记录联合
    将两个表的数据按照一定的查询条件查询出来后,将结果合并到一起显示出来,这个时候,就需要用union和union all关键字来实现这样的功能,语法如下:

    SELECT * FROM t1
    UNIONUNION ALL
    SELECT * FROM t2
    ...
    UNIONUNION ALL
    SELECT * FROM tn;

    UNION和UNION ALL的主要区别是UNION ALL是把结果集直接合并在一起,而UNION是将UNION ALL后的结果进行一次DISTINCT,去除重复记录后的结果。
    将emp和dept表中的部门编号集合显示出来:

    这里写图片描述
    这里写图片描述

  • 相关阅读:
    netbeans 快捷键
    Netbeans Platform的Lookup 边学边记
    Swing中的并发使用SwingWorker线程模式
    转:ExtJS:tabpanel 多个tab同时渲染问题
    NetBeans Platform Login Tutorial
    检测项目
    C#实现通过程序自动抓取远程Web网页信息
    WebClient类
    string字符串的方法
    WebClient的研究笔记认识WebClient
  • 原文地址:https://www.cnblogs.com/aotemanzhifu/p/9192393.html
Copyright © 2011-2022 走看看