zoukankan      html  css  js  c++  java
  • 100-101联合查询

    #进阶9:联合查询
    /*
    union 联合 合并:将多条查询语句的结果合并成一个结果

    语法:
    查询语句1
    union
    查询语句2
    union #可以继续union
    ...

    应用场景:
    要查询的结果来自于多个表,且多个表没有直接的连接关系,但查询的信息一致时
    特点:★
    1、要求多条查询语句的查询列数是一致的!
    2、要求多条查询语句的查询的每一列的类型和顺序最好一致
    3、union关键字默认去重,如果使用union all 可以包含重复项 #两张表中有相同的行,即:(t_ca.id=t_ua.t_id且t_ca.cname=t_ua.tname ) 时,union默认去重
    */
    #引入的案例:查询部门编号 > 90或邮箱包含a的员工信息
    select department_id,employees.*
    from employees
    where department_id > 90 or email like '%a%'; #67行

    select * from employees where email like '%a%'
    union
    select * from employees where department_id > 90;    #结果相同,还是67行。相当于把大的条件拆分成多个
    好处:假如条件有多个,比如6,7个,这个时候容易乱。这时候就可以这样拆分

    #案例:查询中国用户中男性的信息,以及外国用户中男性的用户信息

    SELECT id,cname FROM t_ca WHERE csex='男'   #联合查询的列数,必须相同。不同则报错:Error Code:The used SELECT statements have a different number of columns.
    UNION ALL
    SELECT t_id,tname FROM t_ua WHERE tGender='male';   #结果默认是第一条语句的字段名:(id,cname)

  • 相关阅读:
    Kafka日志段源码分析
    Kafka日志结构概览
    LDAP统一身份认证解读及实践
    Keycloak集成三方身份提供者的注销流程
    Keycloak会话管理-refreshToken
    Cas校验INVALID_TICKET-not recognized
    如何获取Docker容器的root权限
    OIDC-code to token
    Newrelic集成wildfly报NoClassDefFoundError
    Cookie深入详解
  • 原文地址:https://www.cnblogs.com/tan-y-q/p/10602274.html
Copyright © 2011-2022 走看看