zoukankan      html  css  js  c++  java
  • Mysql 关联查询

    六种关联查询

    • 交叉连接 ( CROSS JOIN )
    • 内连接 ( INNER JOIN )
    • 外连接 ( LEFT JOIN / RIIGHT JOIN )
    • 联合查询 ( UNION / UNION ALL )
    • 全连接 ( FULL JOIN )

    关联更新:

    A表(id,sex,name,c1,c2)B( id,age,c1,c2 ) 

    将 B表中age字段大于50的c1 c2字段更新到 A 表

    第一种方法:

    update A,B set A.c1 = B.c1,A.c2 = B.c2 where A.id = B.id and B.age > 50

    第二种方法

    update A inner join B on A.id = B.id set A.c1 = B.c1,A.c2 = B.c2 where B.age > 50

    关联查询 :

    select * from A inner join B on A.id = B.id

    左连接、右连接,内连接区别

    • LEFT JOIN 已左边表为主,先找到左边内容,然后匹配右边,匹配不到用NULL填充
    • 与LEFT JOIN 相反
    • inner join 不已任何表为主,只显示匹配到的内容

    联合查询 union

    SELECT * FROM A UNION SELECT * FROM B UNION ... 

    就是把多个结果集中在一起,UNION前的结果为基准,需要注意的是联合查询的列数要相等,相同的记录会合并

    UNIONALL 不会合并重复记录

    嵌套查询

    SELECT * FORM A WHERE id IN (SELECT id FROM B)
  • 相关阅读:
    【博弈论】囚徒困境
    【LTE与5G】
    【现代通信技术】绪论
    【操作系统】 逻辑结构
    【密码学】
    【计算机网络】网络应用
    部署docker仓库-Harbor
    ELK+filebeat收集K8S平台日志
    istio-http流量管理
    K8S集群部署istio
  • 原文地址:https://www.cnblogs.com/xiaoliwang/p/9271669.html
Copyright © 2011-2022 走看看