left join on 多條件與where區別

2021-10-10 16:37:43 字數 1181 閱讀 7253

本文將通過幾個例子說明兩者的差別。

表1:product

idamount

1100

2200

3300

4400

表2:product_details

idweight

exist222

04441

55506

6611. 單個條件

select * from product a

left join product_details b

on a.id = b.id

以左表為準匹配,結果:

idamount

idweight

exist

1100

null

null

null

2200222

03300null

null

null

4400444

12. 條件寫在on 與where區別

查詢1:

select * from product left join product_details

on (product.id = product_details.id)

and product.amount=200;

結果:

idamount

idweight

exist

1100

null

null

null

2200222

03300null

null

null

4400

null

null

null

把on的所有條件作為匹配條件,不符合的右表都為null。

查詢2:

select * from product left join product_details

on (product.id = product_details.id)

where product.amount=200;

id

amount

idweight

exist

2200222

0匹配完再篩選,結果只有一條記錄。

SQL語法 left join on 多條件

重點 先匹配,再篩選where條件。本文將通過幾個例子說明兩者的差別。表1 product idamount 1100 2200 3300 4400 表2 product details idweight exist222 04441 55506 661單個條件 select from produc...

left join on多個條件怎麼寫

有時我們不僅需要用乙個欄位去關聯,還希望兩個表的兩個欄位都是一樣的,這時候可以這樣寫 select from select id,name,code from table1 aleft join select id,name,code from table2 bon a.id b.id and a....

left join on 和where條件的放置

left join裡面帶and的查詢 select p.pname,p.pcode,s.saletime from product as p left join sales detail as s on s.pcode p.pcode and s.saletime in 2012 07 23 201...