zoukankan      html  css  js  c++  java
  • Mysql中Left Join Right Join Inner Join where条件的比较

    建立一对多的表 company 和 employee

    company表

    id      name      address

    1baidu北京

    2huawei深圳

    3jingdong北京

    4tengxun上海

    employee表

    id     name   company_id   age

    1wang11          28

    2zhang22      22

    3sun13     19

    4zhao22     33

    5li55        25

    1 left join:

    SELECT * FROM company c LEFT JOIN employee e on c.id = e.company_id

    1baidu北京1wang1128

    2huawei深圳2zhang2222

    3jingdong北京3sun1319

    2huawei深圳4zhao2233

    4tengxun上海

    总结:left join 按照左表来查询,全部信息,即使右表没有也展示出来,如果左表对右表多个,那么会出来多条,保证右表的信息都展示出来 左表的信息必须

    2 right join:

    SELECT * FROM company c RIGHT JOIN employee e on c.id = e.company_id

    1baidu北京1wang1128

    2huawei深圳2zhang2222

    2huawei深圳4zhao2233

    3jingdong北京3sun1319

         5li5       525

    总结:right join 按照右表来查询,全部信息,即使左表没有也展示出来,右表的信息必须

    3 inner join

    SELECT * FROM company c INNER JOIN employee e on c.id = e.company_id

    1baidu北京1wang1128

    2huawei深圳2zhang2222

    3jingdong北京3sun1319

    2huawei深圳4zhao2233

    总结:inner join 按照两个表来查询,全部信息,只要有一个表没有也查出来,两个表的信息必须

    4 where 条件

    SELECT * FROM company c , employee e WHERE c.id = e.company_id

    1 baidu 北京 1 wang1 1 28

    2 huawei 深圳 2 zhang2 2 22 3 jingdong 北京 3 sun1 3 19 2 huawei 深圳 4 zhao2 2 33

    总结: 按照两个表来查询,全部信息,只要有一个表没有也查出来,两个表的信息必须,相当于inner join

     

  • 相关阅读:
    Ant 执行 exec cmd.exe 时路径包含空格的问题
    时区时差换算(GMT,UTC,PST,PDT)
    windows 共存多个位数不同的jdk时,eclipse的报错对应措施
    Windows下查询指定端口进程,并杀死
    关于windows的jdk
    第一阶段工作总结
    mac配置git mergetool为p4merge(2013笔记整理)
    ubuntu 14.04 安装压缩包版mysql
    关于微信公众号内嵌网页的几个meta标签
    关于js的keyCode
  • 原文地址:https://www.cnblogs.com/wwjldm/p/10072750.html
Copyright © 2011-2022 走看看