zoukankan      html  css  js  c++  java
  • 多表查询

    多表查询

    1.连表查询

    • 笛卡尔积,先计算两张表的笛卡尔积,再根据用户给出的条件进行筛选
    • select * from 表1,表2 where 条件
    • 内连接 inner join...on 连接条件
      • select * from 表1 inner join 表2 on 条件
      • 只显示两张表中互相匹配的项,其他匹配不显示
    • 外连接
      • 左外连接 left join...on
        • select * from 表1 left join 表2 on 条件
        • 左边的表1会显示不匹配的项目,除了本身的数据,其他的全是NULL
      • 右外连接 right join...on
        • select * from 表1 right join 表2 on 条件
        • 右边的表1会显示不匹配的项目,除了本身的数据,其他的全是NULL
      • 全连接
        • select * from 表1 left join 表2 on 条件 union  select * from 表1 right join 表2 on 条件
        • 将所有不匹配的选项全部显示,只能一左一右,不能两个左,两个右.

    2.子查询

    • IN子查询
      • 表达式 (not) in 子查询
        • 表达式:用于指定表达式,当表达式与子查询返回的结果集中的某个值相等时,返回TRUE,否则返回FALSE,若使用关键字not,则结果相反
        • 子查询: 用于指定子查询,这里的子查询会返回一列数据
    • 比较运算符子查询
      • 比较运算符所使用的子查询主要对于表达式和子查询的返回值进行比较运算,其表达格式为<表达式> {= | < | > | >= | <= | <=> | < > | != }{ ALL | SOME | ANY} <子查询>
        • all,some,any : 可选项,用于指定比较运算的限制,其中,关键字all用于指定表达式需要与子查询结果集中的每个值进行比较,当都满足关系时,返回true,而some和any是同义词,表示表达式只要与子查询结果集中的某个值满足比较关系,就返回True
    • EXIST子查询
      • 关键字exist所使用的子查询主要用于判断子查询结果集是否为空,其语法格式为:exist<子查询>,若子查询的结果集不为口令,返回True,
    • 什么时候用as重命名?
      • 在内连接中的等值连接,字段名字相同时需要用重命名,方便对字段的操作
      • 当进行多表连接时,重新形成的表需要进行重命名,方便通过新的表名找到这张新表的字段
      • 当记性聚合操作时,需要对min(字段名)这种进行重命名
  • 相关阅读:
    我的一些JAVA基础见解
    我的三天前端世界
    「SAP技术」 SAP MM MPN物料的采购初探
    被 GANs 虐千百遍后,我总结出来的 10 条训练经验
    解析|人脸识别最全知识图谱—清华大学出品
    AI反欺诈:千亿的蓝海,烫手的山芋|甲子光年
    从《华为的冬天》到AI的冬天 | 甲子光年
    「杂谈」苏州要想成为一线城市,还需要放几个大招
    「杂谈」最有可能成为第五个一线城市,苏州 or 杭州?
    「杂谈」我眼里的2019年度新一线城市排名
  • 原文地址:https://www.cnblogs.com/W-Y-C/p/11289104.html
Copyright © 2011-2022 走看看