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)
  • 相关阅读:
    mysql 远程登陆不上
    hdu 5339 Untitled【搜索】
    SqlServer 书目
    passwordauthentication yes
    oracle 11g RAC ocfs2
    Oracle 11g RAC database on ASM, ACFS or OCFS2
    CentOS ips bonding
    Oracle 11g RAC features
    openStack 王者归来之 trivial matters
    openstack windows 2008 img
  • 原文地址:https://www.cnblogs.com/xiaoliwang/p/9271669.html
Copyright © 2011-2022 走看看