WenJieWangFlyToWorld

导航

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

 

 

 

 

 

 

posted on 2018-12-05 19:06  WenjieWangFlyToWorld  阅读(496)  评论(0编辑  收藏  举报