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)

  • 相关阅读:
    2016Wireshark
    移动UI
    Javascript 严格模式详解
    [转]深入浅出JSONP解决ajax跨域问题
    savedev和save的区别
    jquery各版本区别
    Webpack学习笔记(一)
    Html5新特性
    chrome浏览器debug
    bootstrap笔记
  • 原文地址:https://www.cnblogs.com/tan-y-q/p/10602274.html
Copyright © 2011-2022 走看看