left join on 和where條件的放置問題在php中很重要,本篇會詳解其相關知識。
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','2012-07-05');
查出來的結果:
------- ------- ------------
| pname | pcode | saletime |
-- ----- ------- ------------
| A | AC | 2012-07-23 |
| A | AC | 2012-07-05 |
| A | AC | 2012-07-05 |
| B | DE | NULL | B | DE |
NULL| | C | XXX | NULL |
# ------- ------- ------------
直接where條件查詢
SELECT p.pname,p.pcode,s.saletime from product as p left join sales_detail as s on (s.pcode=p.pcode) where s.saletime in ('2012-07-23', '2012-07-05');
查詢出來的結果
------- ------- ----------- -
| pname | pcode | saletime |
------- ------- ------------
| A | AC | 2012-07-23 |
| A | AC | 2012-07-05 |
| A # | AC # | AC # 2015 |
------- ------- ------------# #| B | 2012-07-05 |
o #| B | 2012-0 |這裡面有值| C | XXX | NULL | 這裡面沒有值 ------- ------- --------- --- 有值但是不符合條件的話就置為NULL。如果沒有值肯定為NULL如果是where條件的話就一定是要滿足才行。 應用場景:例如有個主表,那以主表為基準去顯示資料可以考慮left join的方式處理總結:以上是關於left join on 和where條件放置的相關講解的詳細內容。更多資訊請關注PHP中文網其他相關文章!